Skip to content

Invitations

Look up, accept or decline an invitation you were sent.

Paths are relative to your API address. See Authentication and Operations. Changes that answer 202 Accepted return an operation to follow.

Request and response examples are generated from the schema; the tables under Schemas are the reference.

Look up an invitation

GET /v1/invitations/{org_id}/{invitation_id}

The organization and role an invitation offers, for the signed-in person holding its link, and whether their e-mail matches it. The invitation's secret goes in the Nexus-Invitation-Secret header.

Input parameters

Parameter In Type Default Nullable Description
Authorization header string N/A No Bearer followed by a service account's API key. The console uses your signed-in session instead.
invitation_id path string No
nexus-invitation-secret header string Yes
org_id path string No

Responses

{
    "email_matches": true,
    "expires_at": "2022-04-13T15:42:05.901Z",
    "organization": {
        "display_name": "string",
        "id": "string"
    },
    "project_count": 0,
    "role": "string"
}
{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}

Accept an invitation

POST /v1/invitations/{org_id}/{invitation_id}:accept

Joins the organization with the role and project roles the invitation offers. The signed-in person's verified e-mail must match it.

Input parameters

Parameter In Type Default Nullable Description
Authorization header string N/A No Bearer followed by a service account's API key. The console uses your signed-in session instead.
invitation_id path string No
nexus-invitation-secret header string Yes
org_id path string No

Responses

{
    "expires_at": "2022-04-13T15:42:05.901Z",
    "membership_id": "string",
    "organization": {
        "display_name": "string",
        "id": "string"
    },
    "project_count": 0,
    "project_grants": [
        {
            "operation_id": "string",
            "project_id": "string",
            "reason": "string",
            "role": "string"
        }
    ],
    "project_grants_skipped": null,
    "role": "string",
    "roles": [
        "string"
    ]
}
{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}

Decline an invitation

POST /v1/invitations/{org_id}/{invitation_id}:decline

Refuses the invitation; its link stops working.

Input parameters

Parameter In Type Default Nullable Description
Authorization header string N/A No Bearer followed by a service account's API key. The console uses your signed-in session instead.
invitation_id path string No
nexus-invitation-secret header string Yes
org_id path string No

Responses

{
    "expires_at": "2022-04-13T15:42:05.901Z",
    "organization": {
        "display_name": "string",
        "id": "string"
    },
    "project_count": 0,
    "role": "string",
    "state": "string"
}
{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}

Start signing up from an invitation

POST /v1/invitations/{org_id}/{invitation_id}:signup

A one-time ticket to create an account for the invitation's e-mail address, for someone who has no account yet.

Input parameters

Parameter In Type Default Nullable Description
invitation_id path string No
nexus-invitation-secret header string Yes
org_id path string No

Responses

{
    "email": "string",
    "expires_at": "2022-04-13T15:42:05.901Z",
    "ticket": "string"
}
{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}

Schemas

AcceptedInvitation

Name Type Description
expires_at string(date-time)
membership_id string The new membership (mem_…).
organization InvitingOrganization
project_count integer How many project roles come with it.
project_grants Array<AcceptedProjectRole> The project roles given.
project_grants_skipped Array<AcceptedProjectRole> The project roles that could not be given, each with why.
role string The organization role it offers.
roles Array<string>

AcceptedProjectRole

Name Type Description
operation_id string Granted only: the operation giving the access (op_…).
project_id string The project (prj_…).
reason string Skipped only: project_unavailable or inviter_not_permitted.
role string

DeclinedInvitation

Name Type Description
expires_at string(date-time)
organization InvitingOrganization
project_count integer How many project roles come with it.
role string The organization role it offers.
state string

HTTPValidationError

Name Type Description
detail Array<ValidationError>

InvitationLookup

Name Type Description
email_matches boolean Whether the caller's verified e-mail is the one it was sent to, which accepting it needs.
expires_at string(date-time)
organization InvitingOrganization
project_count integer How many project roles come with it.
role string The organization role it offers.

InvitingOrganization

Name Type Description
display_name string
id string The organization (org_…).

SignupTicket

Name Type Description
email string
expires_at string(date-time)
ticket string The ticket; it is a credential, used once.

ValidationError

Name Type Description
ctx
input
loc Array<>
msg string
type string