Skip to content

Disconnect

DELETE
/orgs/{org}/connectors/{id}
curl --request DELETE \
--url https://api.sloose.com/orgs/org_9f3c/connectors/cnn_9f2a \
--header 'Authorization: Bearer <token>'

Takes the credential away: the stored grant is revoked at the system (best effort) and removed here. The connector stays, marked revoked, because templates and history name it; a later connect makes it usable again. Signing in from the CRM keeps working — that never needed the credential.

Session only: managing connections takes a person, never an org’s API token (D5); a token still lists and uses them.

org
required

The org id the session was issued for. A token for one org can never read another.

string
Example
org_9f3c

The org id the session was issued for. A token for one org can never read another.

id
required

The connector id, from the list.

string
Example
cnn_9f2a

The connector id, from the list.

Disconnected.

Media typeapplication/json
object
ok
required
boolean
connector
required
object
id
required
string
kind
required
string
Allowed values: zoho_crm
roles
required

Source | destination | both

string
label
required

What people call it — the CRM’s company name until an administrator renames it.

string
listed
required

Whether a verified user of the CRM may be told this org holds it and ask it for access. An administrator turns it off for an org that would rather not be listed.

boolean
externalId
required

The system’s own id — the Zoho org id.

string | null
region
required

The Zoho data centre.

string | null
personal
required

A person’s own connection (design §14.6): theirs alone, never an API token’s, managed by nobody else — and never named to the CRM’s users, whatever listed says.

boolean
status
required
string
Allowed values: active revoked
connected
required

Whether it holds a usable credential, so the server can read the system with nobody present.

boolean
health
required

Ok | revoked | error, from the credential’s last use.

string
scopes
required
Array<string>
recordsAccess
required

Whether the grant covers the records themselves, which an import searches and writes. A connection made before connecting asked for them holds sign-in’s scopes alone: it is connected, can be read, and needs reconnecting before an import can run through it.

boolean
activeUserCount
required
number | null
checkedAt
required
string | null
grantedByUserId
required
string | null
createdAt
required
string
revokedAt
required
string | null
fieldsPushed
required

The modules whose field annotations a push from a configuration repository (POST /orgs/{org}/config/bundle, what sloose push sends) has written, each with when it last did; empty when none has. A push writes each of those modules’ annotations whole — and only those modules’ — so an alias added in the app on one of them is taken away by the next push that does not carry it, and one on any other module stays (a push still sets every module’s curation and excluded fields from its modules.json). Written with those annotations, never read from the audit.

Array<object>
object
module
required

The module’s CRM API name.

string
at
required

When a push last wrote its fields.

string
annotate
required

Whether the caller may change this connection’s field annotations, its aliases among them: true when the caller’s role, as this request settles it, is administrator. An API token acts at the lower of its own role and its creator’s (#239), and a read-only staff view writes nothing. False in the backoffice, which changes none.

boolean
Example
{
"ok": true,
"connector": {
"kind": "zoho_crm",
"status": "active"
}
}

No bearer, or one that is expired, revoked or no longer resolves to a member.

Media typeapplication/json

The error envelope every non-2xx answer uses.

object
error
required

Human-readable explanation.

string
code

Machine-readable reason. Absent on a few legacy 400s.

string
key
additional properties
Examplegenerated
{
"error": "example",
"code": "example"
}

The bearer’s role is too low, it was issued for a different org, or it is an API token (SESSION_REQUIRED).

Media typeapplication/json

The error envelope every non-2xx answer uses.

object
error
required

Human-readable explanation.

string
code

Machine-readable reason. Absent on a few legacy 400s.

string
key
additional properties
Examplegenerated
{
"error": "example",
"code": "example"
}

No such connector, or it is not visible to this session.

Media typeapplication/json

The error envelope every non-2xx answer uses.

object
error
required

Human-readable explanation.

string
code

Machine-readable reason. Absent on a few legacy 400s.

string
key
additional properties
Examplegenerated
{
"error": "example",
"code": "example"
}

Report a problem with this page