Docs

Start here

Invite someone to a project

POST/v1/studio/projects/{project}/inviteson https://api.auray.ai/v1

Invite somebody by email, or make an invitation link to pass on yourself.

Invite somebody by email, or make an invitation link to pass on yourself. An email invitation is mailed to the address in the invited account's language; inviting an address again replaces its waiting invitation. A link's answer carries its url once — the token is kept nowhere but there and in the email, and the database holds only its SHA-256. Takes a key holding studio:write — Account offers it unticked — or the desktop's own session key. Spends nothing.

#Authentication

Authorization: Bearer auray_sk_… — a key with the scope the route names.

#Request

#Path parameters

NameTypeRequiredDescription
projectstringyes

#Body

application/json, required.

FieldTypeRequiredDefaultDescription
kindstringyes—One of "email", "link".
emailstringno—For kind: email. 0 to 254 characters.
rolestringyes—One of "admin", "collaborator", "viewer".
daysintegerno7How long it opens the project. One of 1, 7, 30.
uses_maxintegerno—A link's most admissions; left out, until it expires. 1 to 50.

#Example request

curl -X POST https://api.auray.ai/v1/studio/projects/3f0c8a52-6a1d-4e8b-9c2d-7e5f4a3b2c1d/invites \
  -H "Authorization: Bearer $AURAY_API_KEY" \
  -H "content-type: application/json" \
  -d '{
  "kind": "email",
  "email": "mara@example.com",
  "role": "collaborator",
  "days": 7
}'

#Responses

#201 Created

Created.

FieldTypeRequiredDefaultDescription
objectstringyes—One of "invite".
idstringyes—
project_idstringyes—
kindstringyes—One of "email", "link".
emailstringyes—The address it was sent to, while the invitation waits; null for a link, and null once it is accepted, declined, revoked or expired. May be null.
rolestringyes—One of "admin", "collaborator", "viewer".
statestringyes—One of "pending", "accepted", "declined", "revoked", "expired".
usesintegeryes—0 to ….
uses_maxintegeryes—1 to 50. May be null.
invited_byobjectyes—Somebody as a project shows them: their membership's id while they are in it and the public Community profile they chose — never an account or an address.
invited_by.member_idstringyes—May be null.
invited_by.namestringyes—May be null.
invited_by.handlestringyes—May be null.
invited_by.avatar_urlstringyes—A URL. May be null.
invited_by.leftbooleanyes—Gone from the project since; what they wrote stays, with their name.
created_atstringyes—
expires_atstringyes—
urlstringno—A link's address, in the answer that made it and never again: the token rides in its fragment, which no request carries to a server. A URL.
request_idstringno—Mirrored in the X-Request-Id header.

Headers:

HeaderDescription
RateLimit-LimitBurst capacity.
RateLimit-Remaining
RateLimit-ResetSeconds until refill.
X-RateLimit-Limit
X-RateLimit-Remaining
X-RateLimit-ResetUnix seconds. The X- spelling is what client libraries read.
X-Request-Id

#400 Bad Request

#401 Unauthorized

#403 Forbidden

#404 Not Found

#409 Conflict

#413 Payload Too Large

#429 Too Many Requests

#500 Internal Server Error

#503 Service Unavailable

#Status codes

StatusMeaning
201Created.
400Bad Request
401Unauthorized
403Forbidden
404Not Found
409Conflict
413Payload Too Large
429Too Many Requests
500Internal Server Error
503Service Unavailable

Every refusal names its code, and every code is explained at Errors.

Start typing to search every page of the documentation.

Up arrow Down arrow to moveEnter to openEscape to close