Invitations API Documentation

People join a library by invitation. An invitation names an email address and the role the person will have; the person receives a mail with a link, and becomes a collaborator when they accept it.

Invitations are sent, and sent again, on the site only, because an invitation is mail from the Spondulix domain to any address, which is not something an API token should be able to send. The API lists the invitations not yet accepted, fetches one and rescinds one. To invite someone, open the library’s collaborators page at https://app.spondulix.ai/my/libraries/{library_id}/collaborators.

Every endpoint here takes the admin role; rescinding also takes the catalog_admin scope.

Endpoints

GET /api/v1/libraries/{library_id}/invitations

Retrieve the invitations not yet accepted, oldest first. Not paged.

Path Parameters

Name Type Description Required
library_id integer ID of the library Yes

Response

{
    "invitations": [
        {
            "id": 12,
            "email": "[email protected]",
            "role": "editor",
            "created_at": "2026-09-29T15:05:00.000-05:00",
            "updated_at": "2026-09-29T15:05:00.000-05:00",
            "invited_by": "Floyd Lawson",
            "url": "https://app.spondulix.ai/api/v1/libraries/2/invitations/12"
        }
    ]
}

Response Fields

Field Type Description
invitations array The invitations not yet accepted
id integer ID of the invitation
email string Address the invitation went to
role string admin, editor or viewer: the role the person will have
created_at string Timestamp of when the invitation was sent
updated_at string Timestamp of when it was last changed
invited_by string | null Name of the user who sent it
url string URL of the invitation

HTTP Response Codes

Code Description
200 OK Successful request
403 Forbidden Your role is below admin
404 Not Found Invalid library ID

GET /api/v1/libraries/{library_id}/invitations/{id}

Retrieve one invitation not yet accepted.

Path Parameters

Name Type Description Required
library_id integer ID of the library Yes
id integer ID of the invitation Yes

Response

Returns the invitation as shown in the list response.

HTTP Response Codes

Code Description
200 OK Successful request
403 Forbidden Your role is below admin
404 Not Found Invalid library ID, or no open invitation with that ID

DELETE /api/v1/libraries/{library_id}/invitations/{id}

Rescind an invitation. Its link stops working.

Path Parameters

Name Type Description Required
library_id integer ID of the library Yes
id integer ID of the invitation Yes

Response

(no response body)

HTTP Response Codes

Code Description
204 No Content The invitation was rescinded
403 Forbidden Your role is below admin, or the token does not carry catalog_admin
404 Not Found Invalid library ID, or no open invitation with that ID