Projects, members and roles
Create a project, invite teammates by email, choose the owner, admin or member role, and see how seats, ownership transfer and billing work for each project.
Updated
A project holds your browser links and your operations, and the people who can use them. This guide shows how to create a project, invite members, pick roles and move ownership.
Create a project
In the dashboard, open Projects and select New project. You become its owner. A project name has 1 to 255 characters, and the description up to 2,000. There is no fixed limit on the number of projects.
The project routes accept a signed-in dashboard session, not a wf_ API token:
curl -X POST https://api.wayfern.com/api/projects \
-H "Authorization: Bearer $DASHBOARD_JWT" \
-H "Content-Type: application/json" \
-d '{ "name": "Price monitoring", "description": "Nightly crawls of competitor pages" }' Roles
A project has one owner. Every other member is an admin or a member.
| Action | Member | Admin | Owner |
|---|---|---|---|
| View the project and its links, use links | Yes | Yes | Yes |
| Watch live sessions and replays | Yes | Yes | Yes |
| Learn, create, call and check operations | Yes | Yes | Yes |
| Create, change and delete links | No | Yes | Yes |
| Change operation settings, delete operations | No | Yes | Yes |
| Approve, reject or roll back operation versions | No | Yes | Yes |
| Rename the project, invite people, cancel invitations | No | Yes | Yes |
| Remove members | No | Members only | Yes |
| Change roles, transfer ownership, delete the project | No | No | Yes |
The owner pays. Browser sessions on the project’s links and calls to its operations bill the owner’s account, whoever starts them.
Invite a member
On the project page, open Members and select Invite member. Enter an email address and choose Member or Admin. The default is Member. You cannot invite someone as owner.
curl -X POST https://api.wayfern.com/api/projects/$PROJECT_ID/invite \
-H "Authorization: Bearer $DASHBOARD_JWT" \
-H "Content-Type: application/json" \
-d '{ "email": "[email protected]", "role": "member" }' - Wayfern emails a link to the address. The invitation expires after 7 days.
- The person must sign in with the invited address to accept. Another account gets an error.
- Inviting someone who is already a member, or who has a pending invitation, is a
409. - Owners and admins see pending invitations in the Members list and can cancel them.
Seats
Seats count per project. A new invitation needs a free seat: members, the owner included, plus pending invitations must be fewer than the seats of the owner’s plan.
| Owner’s plan | Seats |
|---|---|
| Developer | 1 |
| Business | 10 |
| Scale | 50 |
| Enterprise | up to 1,000 |
| No plan, or packs only | 1 |
With one seat, the owner fills it, so the project cannot invite anyone. An invite past the limit fails with 403 and Seat limit reached. Pending invitations hold a seat until they are accepted, cancelled or expired.
Change roles and ownership
- Only the owner changes roles, with
PATCH /api/projects/PROJECT_ID/members/USER_ID/roleand aroleofadminormember. - Only the owner transfers ownership, with
POST /api/projects/PROJECT_ID/transfer-ownership/USER_ID. The new owner must be a member. The old owner becomes an admin. In the Members list, this is Make owner. - Owners and admins remove members with
DELETE /api/projects/PROJECT_ID/members/USER_ID. An admin cannot remove another admin. Nobody can remove the owner. - A member leaves with
POST /api/projects/PROJECT_ID/leave. The owner can leave only when no other member is left, and then the project is deleted.
Tokens and projects
API tokens belong to a person, not to a project. A member’s token can call the project’s operations, because Wayfern checks the token owner’s membership on each call. When you remove a member, their tokens stop working on that project at once.
A member can use an API token on the project’s operation routes:
curl "https://api.wayfern.com/api/v1/projects/$PROJECT_ID/operations?page=1&pageSize=20" \
-H "Authorization: Bearer $WAYFERN_API_TOKEN" Browser links use their own link tokens. See Share a browser link, API tokens and scopes and Tokens and accounts.