Skip to Content
πŸš€ Faable DeployMembers & Roles

Project Members and Roles

A project is shared with everyone you invite to it, and each person has a role that decides what they can do. Manage it all from Project settings β†’ Members in the dashboard.

Roles

What they can doViewerMemberOwner
See the project, its apps, deployments, logs and domainsβœ…βœ…βœ…
Deploy; create, edit and delete apps, domains and variablesβœ…βœ…
Read secret values, registry credentials and API keysβœ…βœ…
Invite people, change roles, remove membersβœ…
Rename or delete the projectβœ…
Change the plan and manage billingβœ…
Leave the projectβœ…βœ…βœ…

A project always keeps at least one owner: the last owner can’t step down, leave or be removed. Make someone else an owner first, or delete the project.

Anything a role doesn’t allow is refused with role_required, and the error says which role it needs.

Inviting people

Invite people asks for one or more email addresses and the role they’ll get. Each person receives an email with a link that is valid for 7 days.

  • They can accept with any sign-in method β€” email code, Google or GitHub β€” as long as the account’s verified email is the invited one. Signed in with a different account, the page tells them which address the invitation is for and lets them switch.
  • If they already have a Faable account, they also see the invitation at the top of the dashboard and can accept or decline it there, without the email.
  • Nobody gets an account created by being invited: people sign up themselves when they accept.

Pending invitations are listed under the members, where an owner can resend one (the old link stops working) or revoke it. A project can have up to 20 pending invitations, and a person can send up to 50 invitations a day.

Changing roles, removing and leaving

Owners change anyone’s role from the role picker on their row, and remove people from the β‹― menu. Everyone can Leave project from their own row. Every change asks for confirmation first and says what it does β€” for example, that a viewer can no longer deploy or read secret values.

Ownership and billing

The owner role and who pays for the project are separate: the person who pays is marked Billing in the member list, and must be an owner.

  • Hand over billing β€” from the β‹― menu of another owner, the person who pays can pass billing to them. From then on the plan and invoices go to their account, and a free project counts towards their free projects.
  • Transfer ownership β€” makes the other person an owner, hands them billing if you were paying, and turns you into a member, in one step.

Billing can be handed over only while the project has no active subscription. With one, write to support@faable.com and we’ll move it for you.

Activity

Project settings β†’ Activity lists who joined, left, was invited, removed or changed role, and who did it, newest first. A change can take a few seconds to show up.

From the API

The same operations are available on the Deploy API, authenticated as a user and without the x-faable-project header for the invitation endpoints:

MethodPathWho
GET/project/:id/membersany member
POST/project/:id/inviteowner
GET/project/:id/invitationsany member
POST/project/:id/members/:user_id { role }owner
DELETE/project/:id/members/:user_idowner, or yourself to leave
POST/project/:id/billing-owner { user_id }who pays
GET/project/:id/activityany member
GET/project-invitationsyou
POST/project-invitations/:invite_id/acceptyou
POST/project-invitations/:invite_id/declineyou

Last updated on