Team Members

Invite a team member

curl -X POST https://api.subscriby.net/v1/teams/$TEAM_ID/members \
  -H "Authorization: Bearer $SUBSCRIBY_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"email": "newcomer@example.com", "role": "support-agent"}'

Addressed by email, not user id: the invitee may not have a Subscriby account yet, which is what separates inviting from adding. They receive an invitation message with a link; the membership row appears when they accept.

role is a role code on that team, such as support-agent, not a role id. Create it first with Roles if it does not exist.

Answers 201 with the invitation summary. Emits team.member.invited, then team.member.joined when they accept.

post/v1/teams/{team}/members

Request

  • Base URL: https://api.subscriby.net
  • URL: https://api.subscriby.net/v1/teams/{team}/members
  • Auth: HTTP bearer

Path parameters

teamstring uuid required

The team, resolved by the route binder.

Headers

Idempotency-Keystring uuid required

A key unique to this operation, such as a fresh UUID. The same key replays the original 2xx response for 24 hours (with Idempotent-Replay: true), so a retry after a timeout never repeats the write; the same key with a different body is refused with 409.

Request body

emailstring email required

The invitee's email address, up to 255 characters. They receive an invitation message with a link; the membership appears when they accept.

rolestring required

A role code on that team, such as support-agent, not a role id. Create it first if it does not exist; an unknown code is refused.

Response

201 with the invitation summary.

Example response

{
  "data": {
    "team_id": "a83f0d51-4c92-4b7e-8615-2fd9e70a3c86",
    "email": "newcomer@example.com",
    "role": "support-agent",
    "status": "invited"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.