Nuvelics documentation
APIAPI reference

Credentials

Store the secrets your data sources and connections sign in with, and list the options a data source's vendor offers.

GET
/api/tenant/v1/credentials

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: name, -name, createdAt, -createdAt, updatedAt, -updatedAt (default -updatedAt)

Response Body

A page of credentials for the organization, most-recently-updated first. Items carry health only when the request includes ?include=health.

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/credentials'
Example Response
{  "items": [    {      "id": "string",      "name": "string",      "schemeType": "string",      "config": {        "in": "string",        "name": "string",        "preset": {          "id": "string",          "public": {            "property1": "string",            "property2": "string"          }        }      },      "version": 0,      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z",      "health": {        "status": "healthy",        "lastError": "string",        "lastCheckedAt": "2019-08-24T14:15:22Z",        "updatedAt": "2019-08-24T14:15:22Z",        "fundingStatus": "ok"      }    }  ],  "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"        }      ]    }  }}

Create a credential

POST
/api/tenant/v1/credentials

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
name*string

Credential display name

Length1 <= length
scheme*|||||
preset?string

Id of the vendor preset the scheme was packed from; the server derives the non-secret field values from the scheme itself

Length1 <= length

Response Body

Credential created

application/json
  1. response
id*string

Credential identifier

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

Credential display name

Length1 <= length
schemeType*string

Scheme type discriminator (apiKey, http-basic, http-bearer, oauth2ClientCredentials, oauth2Password, oauth2AuthorizationCode)

config*|||

Non-secret descriptor; never contains secret material

version*integer

Monotonic row version; used as concurrency token

createdAt*string

ISO 8601 creation timestamp

Formatdate-time
updatedAt*string

ISO 8601 last-modified timestamp

Formatdate-time
Example Request
curl -X POST 'https://api.nuvelics.com/api/tenant/v1/credentials' \  -H 'Content-Type: application/json' \  -d '{  "name": "string",  "scheme": {    "type": "apiKey",    "in": "header",    "name": "string",    "value": "string"  }}'
Example Response
{  "id": "string",  "name": "string",  "schemeType": "string",  "config": {    "in": "string",    "name": "string",    "preset": {      "id": "string",      "public": {        "property1": "string",        "property2": "string"      }    }  },  "version": 0,  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}

Get a credential by ID

GET
/api/tenant/v1/credentials/{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

Credential identifier

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

Response Body

Credential found

application/json
  1. response
id*string

Credential identifier

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

Credential display name

Length1 <= length
schemeType*string

Scheme type discriminator (apiKey, http-basic, http-bearer, oauth2ClientCredentials, oauth2Password, oauth2AuthorizationCode)

config*|||

Non-secret descriptor; never contains secret material

version*integer

Monotonic row version; used as concurrency token

createdAt*string

ISO 8601 creation timestamp

Formatdate-time
updatedAt*string

ISO 8601 last-modified timestamp

Formatdate-time
health*

Health of a credential from the most recent harvest auth check, null when never checked

Example Request
curl -X GET 'https://api.nuvelics.com/api/tenant/v1/credentials/string'
Example Response
{  "id": "string",  "name": "string",  "schemeType": "string",  "config": {    "in": "string",    "name": "string",    "preset": {      "id": "string",      "public": {        "property1": "string",        "property2": "string"      }    }  },  "version": 0,  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z",  "health": {    "status": "healthy",    "lastError": "string",    "lastCheckedAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "fundingStatus": "ok"  }}
PATCH
/api/tenant/v1/credentials/{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

Credential identifier

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

Request Body

application/json
  1. body
name?string

New credential display name

Length1 <= length
scheme?|||||
preset?string

Id of the vendor preset the new scheme was packed from; only meaningful alongside scheme

Length1 <= length

Response Body

Credential updated

application/json
  1. response
id*string

Credential identifier

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

Credential display name

Length1 <= length
schemeType*string

Scheme type discriminator (apiKey, http-basic, http-bearer, oauth2ClientCredentials, oauth2Password, oauth2AuthorizationCode)

config*|||

Non-secret descriptor; never contains secret material

version*integer

Monotonic row version; used as concurrency token

createdAt*string

ISO 8601 creation timestamp

Formatdate-time
updatedAt*string

ISO 8601 last-modified timestamp

Formatdate-time
Example Request
curl -X PATCH 'https://api.nuvelics.com/api/tenant/v1/credentials/string' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "id": "string",  "name": "string",  "schemeType": "string",  "config": {    "in": "string",    "name": "string",    "preset": {      "id": "string",      "public": {        "property1": "string",        "property2": "string"      }    }  },  "version": 0,  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}

Delete a credential

DELETE
/api/tenant/v1/credentials/{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

Credential identifier

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

Response Body

Credential deleted

Example Request
curl -X DELETE 'https://api.nuvelics.com/api/tenant/v1/credentials/string'
Example Response
Empty
GET
/api/tenant/v1/credentials/{id}/param-options

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

Credential identifier

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

Query Parameters

paramHints?

The form's current param values, one param.<name>=<value> query entry per param (for example param.profile=watchlist). A narrowing hint a vendor may use, never a filter the route enforces.

vendor?string

The vendor the caller wants options for. A credential of any other vendor is refused with a 422 before the vendor is called.

Length1 <= length

Response Body

The values the credential's vendor offers for its discoverable datasource params, keyed by param name, fetched fresh from the vendor on every call

application/json
  1. response
vendor*string

The vendor whose options these are

params*

Discovered options, keyed by param name

Example Request
curl -X GET 'https://api.nuvelics.com/api/tenant/v1/credentials/string/param-options'
Example Response
{  "vendor": "string",  "params": {    "property1": [      {        "value": "string",        "label": "string",        "group": "string",        "depth": 0,        "selectable": true,        "note": "string"      }    ],    "property2": [      {        "value": "string",        "label": "string",        "group": "string",        "depth": 0,        "selectable": true,        "note": "string"      }    ]  }}

Report a problem with this page

On this page