Members
Invite people to your organization, change their roles, and remove or deactivate them.
x-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.
limit?integerMaximum items per page (1–100, default 25)
1 <= value <= 10025cursor?stringOpaque cursor from a prior nextCursor
status?stringFilter invitations by status (default: pending). outstanding returns pending and expired together.
"pending""pending""accepted""revoked""expired""outstanding"Paginated invitation list, filtered by status (default: pending)
application/json- response
items*array<>pagination*sort*filters*facets?Value/count breakdown for each field requested via ?facets=. Present only when facets were requested.
included?curl -X GET 'https://api.nuvelics.com/api/tenant/v1/members/invitations'{ "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" } ] } }}x-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.
application/json- body
email*stringEmail address of the invitee
emailrole*stringRole within an organization
"owner""admin""member""viewer"Invitation created
application/json- response
id*stringInvitation identifier
^[0-7][0-9A-HJKMNP-TV-Z]{25}$orgId*stringOrganization this invitation is for
^[0-7][0-9A-HJKMNP-TV-Z]{25}$email*stringEmail address of the invitee
emailrole*stringRole within an organization
"owner""admin""member""viewer"status*stringCurrent state of the invitation
"pending""accepted""revoked""expired"expiresAt*stringISO 8601 expiry timestamp
date-timeinvitedBy*stringUser who sent the invitation
^[0-7][0-9A-HJKMNP-TV-Z]{25}$createdAt*stringISO 8601 creation timestamp
date-timeemailSentAt*stringISO 8601 timestamp the invitation email was last sent, or null if still owed
date-timecurl -X POST 'https://api.nuvelics.com/api/tenant/v1/members/invitations' \ -H 'Content-Type: application/json' \ -d '{ "email": "user@example.com", "role": "owner"}'{ "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"}x-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.
application/json- body
token*stringInvitation token from the invite email
Invitation accepted; membership created
application/json- response
id*stringMembership identifier
^[0-7][0-9A-HJKMNP-TV-Z]{25}$userId*stringUser who holds this membership
^[0-7][0-9A-HJKMNP-TV-Z]{25}$orgId*stringOrganization this membership belongs to
^[0-7][0-9A-HJKMNP-TV-Z]{25}$role*stringRole within an organization
"owner""admin""member""viewer"createdAt*stringISO 8601 creation timestamp
date-timeupdatedAt*stringISO 8601 last-modified timestamp
date-timeversion*integerMonotonic row version; used as concurrency token
curl -X POST 'https://api.nuvelics.com/api/tenant/v1/members/invitations/accept' \ -H 'Content-Type: application/json' \ -d '{ "token": "string"}'{ "id": "string", "userId": "string", "orgId": "string", "role": "owner", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "version": 0}x-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.
userId*stringapplication/json- body
role*stringRole within an organization
"owner""admin""member""viewer"Member role updated
application/json- response
id*stringMembership identifier
^[0-7][0-9A-HJKMNP-TV-Z]{25}$userId*stringUser who holds this membership
^[0-7][0-9A-HJKMNP-TV-Z]{25}$orgId*stringOrganization this membership belongs to
^[0-7][0-9A-HJKMNP-TV-Z]{25}$role*stringRole within an organization
"owner""admin""member""viewer"createdAt*stringISO 8601 creation timestamp
date-timeupdatedAt*stringISO 8601 last-modified timestamp
date-timeversion*integerMonotonic row version; used as concurrency token
curl -X PATCH 'https://api.nuvelics.com/api/tenant/v1/members/string' \ -H 'Content-Type: application/json' \ -d '{ "role": "owner"}'{ "id": "string", "userId": "string", "orgId": "string", "role": "owner", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "version": 0}x-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.
userId*stringMember removed
curl -X DELETE 'https://api.nuvelics.com/api/tenant/v1/members/string'x-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.
limit?integerMaximum items per page (1–100, default 25)
1 <= value <= 10025cursor?stringOpaque cursor from a prior nextCursor
sort?stringSort order: "-field" descending, "field" ascending. Accepted: createdAt, -createdAt, updatedAt, -updatedAt (default -updatedAt)
Paginated member list (hydrated with email and name)
application/json- response
items*array<>pagination*sort*filters*facets?Value/count breakdown for each field requested via ?facets=. Present only when facets were requested.
included?curl -X GET 'https://api.nuvelics.com/api/tenant/v1/members'{ "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" } ] } }}x-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.
id*stringInvitation revoked
curl -X DELETE 'https://api.nuvelics.com/api/tenant/v1/members/invitations/string'x-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.
id*stringInvitation refreshed: new token, extended expiry, re-sent
application/json- response
id*stringInvitation identifier
^[0-7][0-9A-HJKMNP-TV-Z]{25}$orgId*stringOrganization this invitation is for
^[0-7][0-9A-HJKMNP-TV-Z]{25}$email*stringEmail address of the invitee
emailrole*stringRole within an organization
"owner""admin""member""viewer"status*stringCurrent state of the invitation
"pending""accepted""revoked""expired"expiresAt*stringISO 8601 expiry timestamp
date-timeinvitedBy*stringUser who sent the invitation
^[0-7][0-9A-HJKMNP-TV-Z]{25}$createdAt*stringISO 8601 creation timestamp
date-timeemailSentAt*stringISO 8601 timestamp the invitation email was last sent, or null if still owed
date-timecurl -X POST 'https://api.nuvelics.com/api/tenant/v1/members/invitations/string/resend'{ "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"}x-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.
userId*stringMember deactivated; returns the anonymized user record
application/json- response
id*stringUser identifier
^[0-7][0-9A-HJKMNP-TV-Z]{25}$email*stringUser email address
emailemailVerified*booleanWhether the email address has been verified
name?stringUser display name
locale*stringUser's preferred UI locale (BCP 47 language tag), e.g. "en"
status*stringUser lifecycle status; deactivated is a soft-delete tombstone
"active""deactivated"createdAt*stringISO 8601 creation timestamp
date-timeupdatedAt*stringISO 8601 last-modified timestamp
date-timeversion*integerMonotonic row version; used as concurrency token
curl -X POST 'https://api.nuvelics.com/api/tenant/v1/members/string/deactivate'{ "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}