Add a project member
POST/v1/projects/:project_id/members
Adds a colleague to the project by email address. Free and uncapped on every plan: a member adds no run, no channel, no trigger and no byte, so every cost they cause is already billed through the project's owner. Members are counted nowhere.
The address does not need an account. Inviting one that has none creates it unverified and records the membership beside it, so the invitee is already a member with status pending. Their first sign-in code — which they request themselves, from the link in the invitation — is what makes them active. There is no separate acceptance step and no invitation to expire: the address is the credential, and the invitation reached it.
An owner may grant admin or member; an admin may grant member only, so administration cannot hand out its own authority. role: owner is refused — that is the billing owner, and transferring it is a different act.
The invitation email is a courtesy, not the grant: if it cannot be sent the membership still stands, and the response still says pending. Requires an account-wide credential — a project-scoped key cannot grant access that would outlive its own revocation.
Request
Responses
- 201
- 400
- 401
- 403
- 404
- 409
- 429
The member was added.
Missing email, or a role outside admin/member.
Missing or invalid credentials.
The caller is a member, an admin granting admin, or a project-scoped credential.
The resource does not exist (existence is not leaked).
That address is already a member of this project.
This account has sent too many invitations today.