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 and a request sample with an example response on the right.
Lists the tag catalog of a directory (most-used first)
/v1.0/directories/{directoryId}/tagsReturns 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)
/v1.0/directories/{directoryId}/tagsNames 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
/v1.0/directories/{directoryId}/tags/colorsReturns 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)
/v1.0/directories/{directoryId}/tags/{tagId}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)
/v1.0/directories/{directoryId}/tags/{tagId}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.