Skip to content

Teach a field one more column name

POST
/orgs/{org}/config/fields/{module}/{apiName}/aliases
curl --request POST \
--url 'https://api.sloose.com/orgs/org_9f3c/config/fields/accounts/Account_Name/aliases?connector=con_8f2a' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "alias": "Cust No" }'

Adds one name to a field’s aliases — what the Map step does when an administrator accepts a mapping, and what Keep what worked? does for each name ticked after a clean run, both by one rule (rememberVerdict): never a name the field already answers to, another field’s own name or one it answers to, a column the import reads into two fields, a name with no words, or one told apart only by a symbol the matcher doesn’t read; a name the field reaches only by spelling is remembered, since a run on its own never guesses. A field is a connection’s: ?connector= names which, and is required.

It changes the aliases and nothing else of the field, as one compare-and-set on the list, so two of these at once both land and nothing anybody else changed is put back. A name the field already has — the same text bar case and the spaces around it, or the same name as the matcher compares names, punctuation and accents aside — is not added again: nothing is written, and the registry version does not move (added: false). A name with no words (only symbols, such as # or %) is refused (422 ALIAS_HAS_NO_WORDS): the matcher can never use one, since it matches no name with no words, so remembering it would only grow the list.

It is conditional on no version, so an If-Match naming one — or any value but * — is refused with 400 (code: IF_MATCH_NOT_TAKEN) rather than ignored: a client sending one believes the write waits on it. If-Match: *, which asks for nothing, is accepted, as everywhere If-Match is read.

The answer carries no registryVersion. This write is not conditional on one, so a version handed back could label changes you were never shown — and a version is what a later write sends as its precondition. Read the configuration again for one.

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.

module
required

The module’s key or CRM API name — either is accepted.

string
Example
accounts

The module’s key or CRM API name — either is accepted.

apiName
required

The field’s CRM API name.

string
Example
Account_Name

The field’s CRM API name.

connector

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.

string
Example
con_8f2a

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.

Media typeapplication/json
object
alias
required

The column name, as a file calls the field. Spaces around it are dropped.

string
>= 1 characters
Example
Cust No

The field’s aliases, with the name among them.

Media typeapplication/json
object
aliases
required

The field’s aliases as they now stand.

Array<string>
added
required

Whether this call added the name; false when the field already had it.

boolean
Examplegenerated
{
"aliases": [
"example"
],
"added": true
}

The body did not match the schema (issues carries the Zod issue list), an If-Match other than * was sent (code: IF_MATCH_NOT_TAKEN — this write is conditional on no version, and refuses one rather than ignore it), or: 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).

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 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, or it was issued for a different org.

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 module, field or connection, 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"
}

The field’s aliases kept changing while this was written (code: ALIASES_BUSY): another writer changed them every time it tried. Nothing was written; send it again.

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 name has no words — only symbols, so no name the matcher could ever match it by (code: ALIAS_HAS_NO_WORDS).

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