The resolved configuration the widget loads
const url = 'https://api.sloose.com/orgs/org_9f3c/config/resolved?connector=con_8f2a';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.sloose.com/orgs/org_9f3c/config/resolved?connector=con_8f2a' \ --header 'Authorization: Bearer <token>'Registry, fields, annotations and helper libraries in one document — everything a client needs to run an import, already merged.
For one connection: ?connector= names which of the organisation’s connections this is the registry of — an import names the one it writes to. It is required: nothing picks a connection for a request that does not name one (design §14.8).
Supports If-None-Match: the ETag is a hash of the whole document, so a client that has it can skip the payload entirely and answer from cache. This is the hottest route in the product; use the ETag.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The organisation id the session was issued for. A token for one organisation can never read another.
Example
org_9f3cThe organisation id the session was issued for. A token for one organisation can never read another.
Query Parameters
Section titled “Query Parameters”The connection this is about, by id: one of the organisation’s, or your own. REQUIRED: absent or empty is 400 CONNECTION_REQUIRED, listing the connections this bearer may name, because nothing picks one for a request that does not say (design §14.8). Any other — another organisation’s, or another person’s — is 404 CONNECTION_NOT_FOUND.
Example
con_8f2aThe connection this is about, by id: one of the organisation’s, or your own. REQUIRED: absent or empty is 400 CONNECTION_REQUIRED, listing the connections this bearer may name, because nothing picks one for a request that does not say (design §14.8). Any other — another organisation’s, or another person’s — is 404 CONNECTION_NOT_FOUND.
Header Parameters
Section titled “Header Parameters”A previously returned ETag. Matching answers 304 with no body.
A previously returned ETag. Matching answers 304 with no body.
Responses
Section titled “Responses”The resolved configuration.
object
The registry document. See the Registry document reference.
object
object
A destination field definition.
object
object
A field annotation.
object
object
Helper manifest.
object
What the library’s source compiled to when it was published: a function body that runs with __sloose_kit and __sloose_manifest in scope and returns the library — what every runtime runs. The source itself is GET /orgs/{org}/libraries/{namespace}.
Which publish this is: 3 for v3, 0 for one Sloose ships or one stored before versions were kept. A run says at authorisation which it holds (libraryVersions).
The library’s own id. With versionNumber, it names one publish: a library removed and published again starts at v1 under a new id.
When the version current now was published — what a refusal of a call it cannot answer is dated by.
The connector this configuration is the registry of: the CRM the record routes write to.
What that connection is called, its kind and its region — for naming the CRM a run writes to. Every member reads it here; the connections list is an administrator’s.
object
The organisation’s AI data setting — what the AI may be shown of a file’s values — so a client can say so before anybody asks, and offer nothing it would refuse. Part of the document, and of its ETag.
Whether anybody has chosen this connection’s modules (PUT /config/modules/order). False means an import is offered every module the connection’s API takes, and Target says so; true means what is in registry.modules is what was chosen, possibly nothing, once the ones chosen have all gone from the CRM. Part of the document and of its ETag.
Example
{ "aiSamples": "allow"}Headers
Section titled “Headers”Hash of the document; pass it back as If-None-Match.
Your If-None-Match matched. No body.
The request named no connection (code: CONNECTION_REQUIRED, with connections: the ones this bearer may name). Nothing picks one for a request that does not say (design §14.8).
The error envelope every non-2xx answer uses.
object
Human-readable explanation.
Machine-readable reason. Absent on a few legacy 400s.
Examplegenerated
{ "error": "example", "code": "example"}No bearer, or one that no longer resolves: a session that is unknown or expired (code: AUTH_REQUIRED), or an API token that was revoked or expired (TOKEN_REVOKED, TOKEN_EXPIRED), whose organisation is gone (ORG_NOT_FOUND) or whose member or user row is (MEMBERSHIP_GONE).
The error envelope every non-2xx answer uses.
object
Human-readable explanation.
Machine-readable reason. Absent on a few legacy 400s.
Examplegenerated
{ "error": "example", "code": "example"}The bearer’s role is too low (code: ROLE_REQUIRED), or it was issued for a different organisation; the organisation has been closed (code: ORG_CLOSED, either kind of bearer); the person is banned (code: BANNED, a session); or it is a session that is signed in but in no organisation (code: NO_ORG): one that never joined one, or whose person was taken out of the one it was in, or left it. Signing in again changes nothing for NO_ORG; choosing or making an organisation does.
The error envelope every non-2xx answer uses.
object
Human-readable explanation.
Machine-readable reason. Absent on a few legacy 400s.
Examplegenerated
{ "error": "example", "code": "example"}?connector= names a connection this person may not use: another organisation’s, or another person’s (code: CONNECTION_NOT_FOUND).
The error envelope every non-2xx answer uses.
object
Human-readable explanation.
Machine-readable reason. Absent on a few legacy 400s.
Examplegenerated
{ "error": "example", "code": "example"}The restore switch is on (code: MAINTENANCE): every route but /health and /robots.txt is refused before anything is read, except the operator’s own POST /staff/people/{id}/delete with the ADMIN_TOKEN. Sloose is down for maintenance. Please try again in a few minutes.
object
Example
{ "code": "MAINTENANCE"}Headers
Section titled “Headers”Seconds until asking again is worth it (300 while the switch is on).