Skip to main content

organization_invitations.create

Invite people to an organization

Request
POST/api/v1/organizations/{organizationSlug}/invitations
Scope required
organization_members:write
Effect
Changes data. Send an Idempotency-Key if you might retry it.
Acts on
Acts on an organization, and names it in the path.
MCP tool
organization_invitations_create
Environment
Live and sandbox alike.
Request body
JSON.

What it does

Invites a batch of up to 100 addresses at one role and answers with an accept link for each. Each `acceptUrl` carries a secret token that is never stored and can never be read again: treat it exactly as you would a password, send it only to the address it was issued for, and never write it to a log. An address that would produce nothing — somebody who is already a member, or who already has an invitation waiting — comes back under `skipped` rather than failing the batch, because a pasted list of students routinely contains both. Who may invite whom follows the role: any staff member may invite an applicant, owners and admins may invite staff, and only an owner may invite another owner. Applicant seats are checked once for the whole batch, so a batch that would overrun the allowance creates none of it and is refused. `cohortId` puts an applicant into that cohort the moment they accept. The invitations still waiting are listed by `organization_invitations.list`.

Parameters

Parameters this endpoint accepts, where each one goes, and whether it is required
NameSent inRequirementAccepts
organizationSlugpathRequiredstring

Request body

cohortId
string, optional
emails
array of string, required
message
string, optional
role
one of: owner, admin, coach, applicant, required

Response

created
array of object, required
acceptUrl
string, required
email
string, required
expiresAt
string, required
id
string, required
role
one of: owner, admin, coach, applicant, required
skipped
array of object, required
email
string, required
reason
one of: already_a_member, already_invited, required

Examples

Invite two students into the spring intake

Invite two students into the spring intake — request
curl -s -X POST https://www.jobapplicationtracking.com/api/v1/organizations/northside-career-center/invitations \
  -H "Authorization: Bearer $JAT_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "emails": [
    "student@northside.example",
    "joined@northside.example"
  ],
  "role": "applicant",
  "cohortId": "coh_12"
}'
Invite two students into the spring intake — response
{
  "created": [
    {
      "id": "inv_9b1d4f30-6c2a-4c1e-8f7b-2d3e4f5a6b7c",
      "email": "student@northside.example",
      "role": "applicant",
      "acceptUrl": "https://www.jobapplicationtracking.com/invitations/TQ8vJm3rN1pX6yZ0aB2cD4eF5gH7iK9lM0nO1pQ2rS3",
      "expiresAt": "2026-02-25T17:05:00.000Z"
    }
  ],
  "skipped": [
    {
      "email": "joined@northside.example",
      "reason": "already_a_member"
    }
  ]
}

Related operations