Nuvelics documentation
APIAPI reference

SOM connection

Set up, read and remove the connection to your organization's SOM bus, and check its status.

GET
/api/tenant/v1/som-config

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.

Response Body

The calling org's SOM bus configuration

application/json
  1. response
id*string

SOM bus configuration identifier

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

Owning organization identifier

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

Master pause switch; a disabled config is fully preserved but the worker opens no connections for it. Absent (rows predating this field) means enabled.

Defaulttrue
producerEnabled*boolean

Whether this org publishes to its SOM bus

consumerEnabled*boolean

Whether this org consumes from its SOM bus

busUrl*string

Comma-separated host:port Kafka bootstrap broker list for the org's SOM bus

subscribeTopics?array<>

Topics to subscribe to; required and non-empty when consumerEnabled

skillsEnabled?boolean

Whether this org runs enrichment skills over its inbound SOM messages. Absent (rows predating this field) means disabled.

Defaultfalse
skillsEnabledAt?string

When skillsEnabled was last switched on; the worker only processes inbound messages received at or after this moment

Formatdate-time
tls*boolean

Whether the connection to the bus is encrypted

authMode*string

Whether the bus requires SASL authentication

Value in"none""sasl"
saslMechanism?string
Value in"plain""scram-sha-256""scram-sha-512"
credentialId?string

Reference to the stored SASL credential; present iff authMode === "sasl"

systemId*string

Stamped on originating_system.system_id for every message this org publishes

Length1 <= length
consumerGroupId*string

Kafka consumer group id used when this org's consumer is enabled

Length1 <= length
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 GET 'https://api.nuvelics.com/api/tenant/v1/som-config'
Example Response
{  "id": "string",  "orgId": "string",  "enabled": true,  "producerEnabled": true,  "consumerEnabled": true,  "busUrl": "string",  "subscribeTopics": [    "string"  ],  "skillsEnabled": false,  "skillsEnabledAt": "2019-08-24T14:15:22Z",  "tls": true,  "authMode": "none",  "saslMechanism": "plain",  "credentialId": "string",  "systemId": "string",  "consumerGroupId": "string",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z",  "version": 0}
DELETE
/api/tenant/v1/som-config

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.

Response Body

SOM bus configuration deleted

Example Request
curl -X DELETE 'https://api.nuvelics.com/api/tenant/v1/som-config'
Example Response
Empty
PUT
/api/tenant/v1/som-config

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
enabled?boolean

Master pause switch; a disabled config is fully preserved but the worker opens no connections for it. Absent (rows predating this field) means enabled.

Defaulttrue
producerEnabled*boolean

Whether this org publishes to its SOM bus

consumerEnabled*boolean

Whether this org consumes from its SOM bus

busUrl*string

Comma-separated host:port Kafka bootstrap broker list for the org's SOM bus

subscribeTopics?array<>

Topics to subscribe to; required and non-empty when consumerEnabled

skillsEnabled?boolean

Whether this org runs enrichment skills over its inbound SOM messages. Absent (rows predating this field) means disabled.

Defaultfalse
tls*boolean

Whether the connection to the bus is encrypted

authMode*string

Whether the bus requires SASL authentication

Value in"none""sasl"
saslMechanism?string
Value in"plain""scram-sha-256""scram-sha-512"
username?string
Length1 <= length
password?string
Length1 <= length

Response Body

SOM bus configuration created or updated

application/json
  1. response
id*string

SOM bus configuration identifier

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

Owning organization identifier

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

Master pause switch; a disabled config is fully preserved but the worker opens no connections for it. Absent (rows predating this field) means enabled.

Defaulttrue
producerEnabled*boolean

Whether this org publishes to its SOM bus

consumerEnabled*boolean

Whether this org consumes from its SOM bus

busUrl*string

Comma-separated host:port Kafka bootstrap broker list for the org's SOM bus

subscribeTopics?array<>

Topics to subscribe to; required and non-empty when consumerEnabled

skillsEnabled?boolean

Whether this org runs enrichment skills over its inbound SOM messages. Absent (rows predating this field) means disabled.

Defaultfalse
skillsEnabledAt?string

When skillsEnabled was last switched on; the worker only processes inbound messages received at or after this moment

Formatdate-time
tls*boolean

Whether the connection to the bus is encrypted

authMode*string

Whether the bus requires SASL authentication

Value in"none""sasl"
saslMechanism?string
Value in"plain""scram-sha-256""scram-sha-512"
credentialId?string

Reference to the stored SASL credential; present iff authMode === "sasl"

systemId*string

Stamped on originating_system.system_id for every message this org publishes

Length1 <= length
consumerGroupId*string

Kafka consumer group id used when this org's consumer is enabled

Length1 <= length
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 PUT 'https://api.nuvelics.com/api/tenant/v1/som-config' \  -H 'Content-Type: application/json' \  -d '{  "producerEnabled": true,  "consumerEnabled": true,  "busUrl": "string",  "tls": true,  "authMode": "none"}'
Example Response
{  "id": "string",  "orgId": "string",  "enabled": true,  "producerEnabled": true,  "consumerEnabled": true,  "busUrl": "string",  "subscribeTopics": [    "string"  ],  "skillsEnabled": false,  "skillsEnabledAt": "2019-08-24T14:15:22Z",  "tls": true,  "authMode": "none",  "saslMechanism": "plain",  "credentialId": "string",  "systemId": "string",  "consumerGroupId": "string",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z",  "version": 0}
GET
/api/tenant/v1/som-config/status

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.

Response Body

The worker's last-recorded SOM bus connection state for the calling org

application/json
  1. response
reported*true

The worker has written a status row for this org

Value intrue
state*SomBusState

The worker's coarse verdict on an org's SOM bus connection

Value in"connected""connecting""error""disabled"
errorKind?SomBusErrorKind

Coarse category for a state: error row -- enough to point the operator at a fix without parsing lastError prose

Value in"auth""unreachable""authorization""other"
lastError?string

Sanitized error detail, already scrubbed of credential material by the worker; meaningful only when state is "error"

configVersion*integer

SOM config version this status row reflects

lastConnectedAt?string

When this org's connection last transitioned into connected; survives later error/connecting transitions

Formatdate-time
updatedAt*string

Heartbeat timestamp, bumped on every reconcile tick for this org

Formatdate-time
Example Request
curl -X GET 'https://api.nuvelics.com/api/tenant/v1/som-config/status'
Example Response
{  "reported": true,  "state": "connected",  "errorKind": "auth",  "lastError": "string",  "configVersion": 0,  "lastConnectedAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}

Report a problem with this page

On this page