Nuvelics documentation
APIAPI reference

Members

Invite people to your organization, change their roles, and remove or deactivate them.

GET
/api/tenant/v1/members/invitations

Authorization

headerx-api-key<token>

A service key (nvs_...) in the x-api-key header. A service key belongs to one organization: an X-Org-Id header is optional and, when sent, must name that organization. This header also accepts any credential the bearer scheme does, and when a request sends both headers, this one is used.

Query Parameters

limit?integer

Maximum items per page (1–100, default 25)

Range1 <= value <= 100
Default25
cursor?string

Opaque cursor from a prior nextCursor

status?string

Filter invitations by status (default: pending). outstanding returns pending and expired together.

Default"pending"
Value in"pending""accepted""revoked""expired""outstanding"

Response Body

Paginated invitation list, filtered by status (default: pending)

application/json
  1. response
items*array<>
pagination*
sort*
filters*
facets?

Value/count breakdown for each field requested via ?facets=. Present only when facets were requested.

included?
Example Request
curl -X GET 'https://api.nuvelics.com/api/tenant/v1/members/invitations'
Example Response
{  "items": [    {      "id": "string",      "orgId": "string",      "email": "user@example.com",      "role": "owner",      "status": "pending",      "expiresAt": "2019-08-24T14:15:22Z",      "invitedBy": "string",      "createdAt": "2019-08-24T14:15:22Z",      "emailSentAt": "2019-08-24T14:15:22Z"    }  ],  "pagination": {    "nextCursor": "string"  },  "sort": {    "applied": "string",    "default": "string",    "available": [      "string"    ]  },  "filters": {    "applied": {      "property1": null,      "property2": null    },    "available": [      {        "field": "string",        "kind": "string",        "facetable": true      }    ]  },  "facets": {    "property1": {      "values": [        {          "value": "string",          "count": 0        }      ],      "capped": true    },    "property2": {      "values": [        {          "value": "string",          "count": 0        }      ],      "capped": true    }  },  "included": {    "datasources": {      "property1": {        "id": "string",        "name": "string",        "type": "string",        "vendor": "datafactory",        "iconId": "string"      },      "property2": {        "id": "string",        "name": "string",        "type": "string",        "vendor": "datafactory",        "iconId": "string"      }    },    "credentials": {      "property1": {        "id": "string",        "name": "string",        "schemeType": "string"      },      "property2": {        "id": "string",        "name": "string",        "schemeType": "string"      }    },    "users": {      "property1": {        "id": "string",        "name": "string",        "email": "string"      },      "property2": {        "id": "string",        "name": "string",        "email": "string"      }    },    "articlePitches": {      "property1": [        {          "id": "string",          "title": "string",          "status": "string",          "newsdeskId": "string"        }      ],      "property2": [        {          "id": "string",          "title": "string",          "status": "string",          "newsdeskId": "string"        }      ]    }  }}
POST
/api/tenant/v1/members/invitations

Authorization

headerx-api-key<token>

A service key (nvs_...) in the x-api-key header. A service key belongs to one organization: an X-Org-Id header is optional and, when sent, must name that organization. This header also accepts any credential the bearer scheme does, and when a request sends both headers, this one is used.

Request Body

application/json
  1. body
email*string

Email address of the invitee

Formatemail
role*string

Role within an organization

Value in"owner""admin""member""viewer"

Response Body

Invitation created

application/json
  1. response
id*string

Invitation identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
orgId*string

Organization this invitation is for

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
email*string

Email address of the invitee

Formatemail
role*string

Role within an organization

Value in"owner""admin""member""viewer"
status*string

Current state of the invitation

Value in"pending""accepted""revoked""expired"
expiresAt*string

ISO 8601 expiry timestamp

Formatdate-time
invitedBy*string

User who sent the invitation

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
createdAt*string

ISO 8601 creation timestamp

Formatdate-time
emailSentAt*string

ISO 8601 timestamp the invitation email was last sent, or null if still owed

Formatdate-time
Example Request
curl -X POST 'https://api.nuvelics.com/api/tenant/v1/members/invitations' \  -H 'Content-Type: application/json' \  -d '{  "email": "user@example.com",  "role": "owner"}'
Example Response
{  "id": "string",  "orgId": "string",  "email": "user@example.com",  "role": "owner",  "status": "pending",  "expiresAt": "2019-08-24T14:15:22Z",  "invitedBy": "string",  "createdAt": "2019-08-24T14:15:22Z",  "emailSentAt": "2019-08-24T14:15:22Z"}
POST
/api/tenant/v1/members/invitations/accept

Authorization

headerx-api-key<token>

A service key (nvs_...) in the x-api-key header. A service key belongs to one organization: an X-Org-Id header is optional and, when sent, must name that organization. This header also accepts any credential the bearer scheme does, and when a request sends both headers, this one is used.

Request Body

application/json
  1. body
token*string

Invitation token from the invite email

Response Body

Invitation accepted; membership created

application/json
  1. response
id*string

Membership identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
userId*string

User who holds this membership

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
orgId*string

Organization this membership belongs to

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
role*string

Role within an organization

Value in"owner""admin""member""viewer"
createdAt*string

ISO 8601 creation timestamp

Formatdate-time
updatedAt*string

ISO 8601 last-modified timestamp

Formatdate-time
version*integer

Monotonic row version; used as concurrency token

Example Request
curl -X POST 'https://api.nuvelics.com/api/tenant/v1/members/invitations/accept' \  -H 'Content-Type: application/json' \  -d '{  "token": "string"}'
Example Response
{  "id": "string",  "userId": "string",  "orgId": "string",  "role": "owner",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z",  "version": 0}

Change a member's role

PATCH
/api/tenant/v1/members/{userId}

Authorization

headerx-api-key<token>

A service key (nvs_...) in the x-api-key header. A service key belongs to one organization: an X-Org-Id header is optional and, when sent, must name that organization. This header also accepts any credential the bearer scheme does, and when a request sends both headers, this one is used.

Path Parameters

userId*string

Request Body

application/json
  1. body
role*string

Role within an organization

Value in"owner""admin""member""viewer"

Response Body

Member role updated

application/json
  1. response
id*string

Membership identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
userId*string

User who holds this membership

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
orgId*string

Organization this membership belongs to

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
role*string

Role within an organization

Value in"owner""admin""member""viewer"
createdAt*string

ISO 8601 creation timestamp

Formatdate-time
updatedAt*string

ISO 8601 last-modified timestamp

Formatdate-time
version*integer

Monotonic row version; used as concurrency token

Example Request
curl -X PATCH 'https://api.nuvelics.com/api/tenant/v1/members/string' \  -H 'Content-Type: application/json' \  -d '{  "role": "owner"}'
Example Response
{  "id": "string",  "userId": "string",  "orgId": "string",  "role": "owner",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z",  "version": 0}
DELETE
/api/tenant/v1/members/{userId}

Authorization

headerx-api-key<token>

A service key (nvs_...) in the x-api-key header. A service key belongs to one organization: an X-Org-Id header is optional and, when sent, must name that organization. This header also accepts any credential the bearer scheme does, and when a request sends both headers, this one is used.

Path Parameters

userId*string

Response Body

Member removed

Example Request
curl -X DELETE 'https://api.nuvelics.com/api/tenant/v1/members/string'
Example Response
Empty
GET
/api/tenant/v1/members

Authorization

headerx-api-key<token>

A service key (nvs_...) in the x-api-key header. A service key belongs to one organization: an X-Org-Id header is optional and, when sent, must name that organization. This header also accepts any credential the bearer scheme does, and when a request sends both headers, this one is used.

Query Parameters

limit?integer

Maximum items per page (1–100, default 25)

Range1 <= value <= 100
Default25
cursor?string

Opaque cursor from a prior nextCursor

sort?string

Sort order: "-field" descending, "field" ascending. Accepted: createdAt, -createdAt, updatedAt, -updatedAt (default -updatedAt)

Response Body

Paginated member list (hydrated with email and name)

application/json
  1. response
items*array<>
pagination*
sort*
filters*
facets?

Value/count breakdown for each field requested via ?facets=. Present only when facets were requested.

included?
Example Request
curl -X GET 'https://api.nuvelics.com/api/tenant/v1/members'
Example Response
{  "items": [    {      "userId": "string",      "email": "user@example.com",      "name": "string",      "role": "owner",      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z",      "version": 0    }  ],  "pagination": {    "nextCursor": "string"  },  "sort": {    "applied": "string",    "default": "string",    "available": [      "string"    ]  },  "filters": {    "applied": {      "property1": null,      "property2": null    },    "available": [      {        "field": "string",        "kind": "string",        "facetable": true      }    ]  },  "facets": {    "property1": {      "values": [        {          "value": "string",          "count": 0        }      ],      "capped": true    },    "property2": {      "values": [        {          "value": "string",          "count": 0        }      ],      "capped": true    }  },  "included": {    "datasources": {      "property1": {        "id": "string",        "name": "string",        "type": "string",        "vendor": "datafactory",        "iconId": "string"      },      "property2": {        "id": "string",        "name": "string",        "type": "string",        "vendor": "datafactory",        "iconId": "string"      }    },    "credentials": {      "property1": {        "id": "string",        "name": "string",        "schemeType": "string"      },      "property2": {        "id": "string",        "name": "string",        "schemeType": "string"      }    },    "users": {      "property1": {        "id": "string",        "name": "string",        "email": "string"      },      "property2": {        "id": "string",        "name": "string",        "email": "string"      }    },    "articlePitches": {      "property1": [        {          "id": "string",          "title": "string",          "status": "string",          "newsdeskId": "string"        }      ],      "property2": [        {          "id": "string",          "title": "string",          "status": "string",          "newsdeskId": "string"        }      ]    }  }}
DELETE
/api/tenant/v1/members/invitations/{id}

Authorization

headerx-api-key<token>

A service key (nvs_...) in the x-api-key header. A service key belongs to one organization: an X-Org-Id header is optional and, when sent, must name that organization. This header also accepts any credential the bearer scheme does, and when a request sends both headers, this one is used.

Path Parameters

id*string

Response Body

Invitation revoked

Example Request
curl -X DELETE 'https://api.nuvelics.com/api/tenant/v1/members/invitations/string'
Example Response
Empty
POST
/api/tenant/v1/members/invitations/{id}/resend

Authorization

headerx-api-key<token>

A service key (nvs_...) in the x-api-key header. A service key belongs to one organization: an X-Org-Id header is optional and, when sent, must name that organization. This header also accepts any credential the bearer scheme does, and when a request sends both headers, this one is used.

Path Parameters

id*string

Response Body

Invitation refreshed: new token, extended expiry, re-sent

application/json
  1. response
id*string

Invitation identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
orgId*string

Organization this invitation is for

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
email*string

Email address of the invitee

Formatemail
role*string

Role within an organization

Value in"owner""admin""member""viewer"
status*string

Current state of the invitation

Value in"pending""accepted""revoked""expired"
expiresAt*string

ISO 8601 expiry timestamp

Formatdate-time
invitedBy*string

User who sent the invitation

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
createdAt*string

ISO 8601 creation timestamp

Formatdate-time
emailSentAt*string

ISO 8601 timestamp the invitation email was last sent, or null if still owed

Formatdate-time
Example Request
curl -X POST 'https://api.nuvelics.com/api/tenant/v1/members/invitations/string/resend'
Example Response
{  "id": "string",  "orgId": "string",  "email": "user@example.com",  "role": "owner",  "status": "pending",  "expiresAt": "2019-08-24T14:15:22Z",  "invitedBy": "string",  "createdAt": "2019-08-24T14:15:22Z",  "emailSentAt": "2019-08-24T14:15:22Z"}
POST
/api/tenant/v1/members/{userId}/deactivate

Authorization

headerx-api-key<token>

A service key (nvs_...) in the x-api-key header. A service key belongs to one organization: an X-Org-Id header is optional and, when sent, must name that organization. This header also accepts any credential the bearer scheme does, and when a request sends both headers, this one is used.

Path Parameters

userId*string

Response Body

Member deactivated; returns the anonymized user record

application/json
  1. response
id*string

User identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
email*string

User email address

Formatemail
emailVerified*boolean

Whether the email address has been verified

name?string

User display name

locale*string

User's preferred UI locale (BCP 47 language tag), e.g. "en"

status*string

User lifecycle status; deactivated is a soft-delete tombstone

Value in"active""deactivated"
createdAt*string

ISO 8601 creation timestamp

Formatdate-time
updatedAt*string

ISO 8601 last-modified timestamp

Formatdate-time
version*integer

Monotonic row version; used as concurrency token

Example Request
curl -X POST 'https://api.nuvelics.com/api/tenant/v1/members/string/deactivate'
Example Response
{  "id": "string",  "email": "user@example.com",  "emailVerified": true,  "name": "string",  "locale": "string",  "status": "active",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z",  "version": 0}

Report a problem with this page

On this page