Tags
A tag labels appointments and recordings. These endpoints manage the tag catalog of a company account and list the colors a tag can have.
Every endpoint below shows its parameters and response fields in the middle. On the right you find request samples in cURL, JavaScript and Python, an example response and Try it, which sends the request for real with your own token.
Lists the tag catalog of a directory (most-used first)
Returns all active tags of the directory, most-used first.
Field overview from the specification
Response fields:
items(array): the tags in the catalog. Each item has:tagId(string): id of the tag.name(string): tag display name.colorCode(string | null): a colour key from the Sally tag palette (a colour name likeblue/red/green, not a raw hex value; full list in the schema); null if unset.
Path parameters
directoryIdstringrequiredId of the directory (the Sally company account) the resource belongs to. The directories a token can address are listed by
GET /v1.0/me/directories/memberships.
Query parameters
fieldsstringoptionalComma-separated list of the fields to return. Leave it out and you get every field — including fields added in the future, which is your call to make: name your fields if you want to be shielded from that.
Only first-level fields can be named. A nested list such as
attendees,tagsorsectionItemsis returned whole or not at all;attendees.nameis not supported.On a paged response the selection applies to the entries in
items;page,pageSize,totalandhasMoreare always returned. An unknown name is rejected with 400 rather than ignored.Selectable here:
colorCode,name,tagId.Example:colorCode,name
Response
itemsobject[]requiredThe tags in the catalog.
3 child fields
tagIdstringrequiredId of the tag.
namestringrequiredTag display name.
colorCodestringrequirednullableColour of the tag as a key from Sally's fixed tag palette — a colour NAME, not a raw hex value. One of:
indigo,purple,fuchsia,pink,rose,red,orange,amber,yellow,lime,green,emerald,teal,cyan,sky,blue,slate,gray,zinc,stone,neutral. The client maps the key to the actual (light/dark) colour;nullor an unknown key renders in the neutral default colour. Null if unset.
Status codes
- 200Success
- 400
Invalid request (validation error).
- 401
Missing or invalid bearer token.
- 404
Resource not found or not accessible.
- 429
Rate limit exceeded (per token/IP). Transcription uploads may also return
codeFUP_LIMIT_EXCEEDEDorTOO_MANY_CONCURRENT_TRANSCRIPTIONS. - 500
Internal server error.
Creates a catalog tag with an optional colour (admin/owner only)
Names are deduplicated case-insensitively.
Field overview from the specification
Body fields:
name(string, required): tag display name (max. 100 characters).colorCode(string, optional): a colour key from the Sally tag palette (a colour name likeblue/red/green, not a raw hex value; full list in the schema);nullto clear.
Path parameters
directoryIdstringrequiredId of the directory (the Sally company account) the resource belongs to. The directories a token can address are listed by
GET /v1.0/me/directories/memberships.
Query parameters
fieldsstringoptionalComma-separated list of the fields to return. Leave it out and you get every field — including fields added in the future, which is your call to make: name your fields if you want to be shielded from that.
Only first-level fields can be named. A nested list such as
attendees,tagsorsectionItemsis returned whole or not at all;attendees.nameis not supported.On a paged response the selection applies to the entries in
items;page,pageSize,totalandhasMoreare always returned. An unknown name is rejected with 400 rather than ignored.Selectable here:
colorCode,name,tagId.Example:colorCode,name
Request body application/json
namestringrequiredTag display name (max. 100 characters).
colorCodestringoptionalnullableColour of the tag as a key from Sally's fixed tag palette — a colour NAME, not a raw hex value. One of:
indigo,purple,fuchsia,pink,rose,red,orange,amber,yellow,lime,green,emerald,teal,cyan,sky,blue,slate,gray,zinc,stone,neutral. An unknown key renders in the neutral default colour;nullto clear the colour.
Response
tagIdstringrequiredId of the tag.
namestringrequiredTag display name.
colorCodestringrequirednullableColour of the tag as a key from Sally's fixed tag palette — a colour NAME, not a raw hex value. One of:
indigo,purple,fuchsia,pink,rose,red,orange,amber,yellow,lime,green,emerald,teal,cyan,sky,blue,slate,gray,zinc,stone,neutral. The client maps the key to the actual (light/dark) colour;nullor an unknown key renders in the neutral default colour. Null if unset.
Status codes
- 200Success
- 400
Invalid request (validation error).
- 401
Missing or invalid bearer token.
- 403
Forbidden (insufficient permissions).
- 404
Resource not found or not accessible.
- 429
Rate limit exceeded (per token/IP). Transcription uploads may also return
codeFUP_LIMIT_EXCEEDEDorTOO_MANY_CONCURRENT_TRANSCRIPTIONS. - 500
Internal server error.
Lists the available tag colours
Returns the fixed set of colour keys a tag's colorCode can take — a colour NAME, not a raw hex value. The client maps each key to the actual (theme-aware) colour; an unknown key or null renders in the neutral default colour.
Field overview from the specification
Each item has:
colorCode(string): a valid tag colour key (e.g.blue,red,green).
Path parameters
directoryIdstringrequiredId of the directory (the Sally company account) the resource belongs to. The directories a token can address are listed by
GET /v1.0/me/directories/memberships.
Query parameters
fieldsstringoptionalComma-separated list of the fields to return. Leave it out and you get every field — including fields added in the future, which is your call to make: name your fields if you want to be shielded from that.
Only first-level fields can be named. A nested list such as
attendees,tagsorsectionItemsis returned whole or not at all;attendees.nameis not supported.On a paged response the selection applies to the entries in
items;page,pageSize,totalandhasMoreare always returned. An unknown name is rejected with 400 rather than ignored.Selectable here:
colorCode.Example:colorCode
Response
colorCodestringrequiredA valid tag colour key — a colour NAME (not a hex value) that can be assigned to a tag's
colorCode(e.g.blue,red,green).
Status codes
- 200Success
- 400
Invalid request (validation error).
- 401
Missing or invalid bearer token.
- 404
Resource not found or not accessible.
- 429
Rate limit exceeded (per token/IP). Transcription uploads may also return
codeFUP_LIMIT_EXCEEDEDorTOO_MANY_CONCURRENT_TRANSCRIPTIONS. - 500
Internal server error.
Renames a catalog tag and/or changes its colour (admin/owner only)
Send name to rename and/or colorCode to recolour; at least one is required.
Field overview from the specification
Body fields:
name(string, optional): new tag display name (max. 100 characters).colorCode(string, optional): a colour key from the Sally tag palette (a colour name likeblue/red/green, not a raw hex value; full list in the schema);nullclears the colour.
Path parameters
directoryIdstringrequiredId of the directory (the Sally company account) the resource belongs to. The directories a token can address are listed by
GET /v1.0/me/directories/memberships.tagIdstringrequiredId of the tag.
Query parameters
fieldsstringoptionalComma-separated list of the fields to return. Leave it out and you get every field — including fields added in the future, which is your call to make: name your fields if you want to be shielded from that.
Only first-level fields can be named. A nested list such as
attendees,tagsorsectionItemsis returned whole or not at all;attendees.nameis not supported.On a paged response the selection applies to the entries in
items;page,pageSize,totalandhasMoreare always returned. An unknown name is rejected with 400 rather than ignored.Selectable here:
colorCode,name,tagId.Example:colorCode,name
Request body application/json
namestringrequiredTag display name (max. 100 characters).
colorCodestringoptionalnullableColour of the tag as a key from Sally's fixed tag palette — a colour NAME, not a raw hex value. One of:
indigo,purple,fuchsia,pink,rose,red,orange,amber,yellow,lime,green,emerald,teal,cyan,sky,blue,slate,gray,zinc,stone,neutral. An unknown key renders in the neutral default colour;nullto clear the colour.
Response
tagIdstringrequiredId of the tag.
namestringrequiredTag display name.
colorCodestringrequirednullableColour of the tag as a key from Sally's fixed tag palette — a colour NAME, not a raw hex value. One of:
indigo,purple,fuchsia,pink,rose,red,orange,amber,yellow,lime,green,emerald,teal,cyan,sky,blue,slate,gray,zinc,stone,neutral. The client maps the key to the actual (light/dark) colour;nullor an unknown key renders in the neutral default colour. Null if unset.
Status codes
- 200Success
- 400
Invalid request (validation error).
- 401
Missing or invalid bearer token.
- 403
Forbidden (insufficient permissions).
- 404
Resource not found or not accessible.
- 429
Rate limit exceeded (per token/IP). Transcription uploads may also return
codeFUP_LIMIT_EXCEEDEDorTOO_MANY_CONCURRENT_TRANSCRIPTIONS. - 500
Internal server error.
Deletes a catalog tag (admin/owner only)
Soft-deletes the tag and removes it from all appointments and recordings.
Path parameters
directoryIdstringrequiredId of the directory (the Sally company account) the resource belongs to. The directories a token can address are listed by
GET /v1.0/me/directories/memberships.tagIdstringrequiredId of the tag.
Status codes
- 204Success
- 400
Invalid request (validation error).
- 401
Missing or invalid bearer token.
- 403
Forbidden (insufficient permissions).
- 404
Resource not found or not accessible.
- 429
Rate limit exceeded (per token/IP). Transcription uploads may also return
codeFUP_LIMIT_EXCEEDEDorTOO_MANY_CONCURRENT_TRANSCRIPTIONS. - 500
Internal server error.