Read one module’s fields again
const url = 'https://api.sloose.com/orgs/org_9f3c/discovery/modules/example/read?connector=con_8f2a';const options = {method: 'POST', 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 POST \ --url 'https://api.sloose.com/orgs/org_9f3c/discovery/modules/example/read?connector=con_8f2a' \ --header 'Authorization: Bearer <token>'Reads the fields of ONE module of the connection ?connector= names, through its stored grant, and brings what is held in line with them by the comparison a whole discovery makes: a picklist that gained an option, a relabelled field, a new field. One call to the CRM. changed is true only when something differed, and only then does the configuration’s registryVersion move, so a module that has not changed moves nothing.
For a person who sees a value their file holds called unmapped because the CRM gained an option after the last discovery: any member may ask, since it reads one module and writes only what the CRM now says. A module read less than 30 seconds ago is answered read: false rather than asked of the CRM again, and one that another read holds right now is answered read: false, busy: true: that read’s answer has not landed yet, so read the configuration again after a moment. {module} is the module’s api name, as the connection holds it.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The org id the session was issued for. A token for one org can never read another.
Example
org_9f3cThe org id the session was issued for. A token for one org can never read another.
Query Parameters
Section titled “Query Parameters”The connection this is about, by id: one of the org’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 org’s, or another person’s — is 404 CONNECTION_NOT_FOUND.
Example
con_8f2aThe connection this is about, by id: one of the org’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 org’s, or another person’s — is 404 CONNECTION_NOT_FOUND.
Responses
Section titled “Responses”What the read did.
object
False when the CRM was not asked: the module was read a moment ago, or the read failed (error says why).
True when the CRM was not asked because another read of this module is under way right now (#1163): its answer lands when it finishes, so read the configuration again after a moment. Absent otherwise.
With busy: how long, in milliseconds, until that other read’s lease ends — the most it can take to land or be given up. Read the configuration again by then. A duration, so the caller’s clock does not matter.
Examplegenerated
{ "module": "example", "read": true, "changed": true, "busy": true, "busyForMs": 1, "readAt": "example", "error": "example"}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 is expired, revoked or no longer resolves to a member.
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, or it was issued for a different org.
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 (CONNECTION_NOT_FOUND), or the connection holds no such module, or the CRM no longer reports it (MODULE_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 connection holds no working grant — disconnected, or Zoho stopped honouring it — so there is nothing to read with.
object
Examplegenerated
{ "error": "example", "code": "example"}