Skip to main content

Tasks

A task is an action item, often derived from a meeting. These endpoints list, search, create, update, complete and delete tasks. A further endpoint lists the task categories, which resolve the taskCategoryId of a task.

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 tasks of a directory (paginated, optionally filtered)​

GET/v1.0/directories/{directoryId}/tasksTry it →

The ?filter selects a task view (default myTasks); the all* variants are admin/owner only. An optional ?search substring matches the task subject. Pagination via ?page + ?pageSize (max. 100). Resolve responsibleUserId/ownerId via GET /v1.0/directories/{directoryId}/memberships/users/{userId}.

Field overview from the specification

Response fields:

  • page / pageSize / total / hasMore: pagination envelope (current page, page size, total count, whether more pages follow).
  • items (array): the tasks on this page. Each item has:
    • taskId (string): id of the task.
    • subject (string): task subject.
    • description (string | null): task description; null if unset.
    • ownerId (string): id of the user who owns (created) the task.
    • responsibleUserId (string | null): id of the user responsible for the task; null if unassigned.
    • taskCategoryId (string | null): id of the task category; null if none. Resolve via GET /v1.0/directories/{directoryId}/task-categories.
    • dueDate (string | null): due date (ISO 8601); null if no due date is set.
    • isDone (boolean): whether the task is marked as done.
    • doneOn (string | null): timestamp when the task was completed (ISO 8601); null if not done.
    • isCanceled (boolean): whether the task is canceled.
    • canceledOn (string | null): timestamp when the task was canceled (ISO 8601); null if not canceled.
    • recordingSummaryId (string | null): id of the recording summary this task originated from; null if none.
    • appointmentId (string | null): id of the appointment this task is linked to; null if none.
    • createdOn (string): creation timestamp (ISO 8601).
    • modifiedOn (string): last modification timestamp (ISO 8601).

Path parameters

  • directoryIdstringrequired

    Id 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

  • filterstringoptional

    Named preset that combines scope and state. my… covers every task the calling user is involved in, which means they are the responsible person OR the owner; all… every task of the directory the caller may see. The state part is Tasks (any), Open, Overdue, Completed or Forwarded. Forwarded is the one exception to the scope above: it lists only what the caller handed to someone else (owner is the caller, responsible is not). Omitted means no preset filter.

    Allowed values: myTasksmyOpenmyOverduemyCompletedmyForwardedallTasksallOpenallOverdueallCompletedallForwarded
  • searchstringoptional

    Case-insensitive substring match on the task subject. The term may appear at the start, middle, or end.

  • pagenumberoptional

    Page number, 1-based. Defaults to 1.

  • pageSizenumberoptional

    Items per page. Defaults to 25, capped at 100.

  • fieldsstringoptional

    Comma-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, tags or sectionItems is returned whole or not at all; attendees.name is not supported.

    On a paged response the selection applies to the entries in items; page, pageSize, total and hasMore are always returned. An unknown name is rejected with 400 rather than ignored.

    Selectable here: appointmentId, canceledOn, createdOn, description, doneOn, dueDate, isCanceled, isDone, modifiedOn, ownerId, recordingSummaryId, responsibleUserId, subject, taskCategoryId, taskId.

    Example: appointmentId,canceledOn

Response: each entry in items

  • taskIdstringrequired

    Id of the task.

  • subjectstringrequired

    Task subject.

  • descriptionstringrequirednullable

    Task description; null if unset.

  • ownerIdstringrequired

    Id of the user who owns (created) the task.

  • responsibleUserIdstringrequirednullable

    Id of the user responsible for the task; null if unassigned.

  • taskCategoryIdstringrequirednullable

    Id of the task category; null if the task has none. Resolve via GET /v1.0/directories/{directoryId}/task-categories.

  • dueDatestringrequirednullable

    Due date (ISO 8601); null if no due date is set.

  • isDonebooleanrequired

    Whether the task is marked as done.

  • doneOnstringrequirednullable

    Timestamp when the task was completed (ISO 8601); null if not done.

  • isCanceledbooleanrequired

    Whether the task is canceled.

  • canceledOnstringrequirednullable

    Timestamp when the task was canceled (ISO 8601); null if not canceled.

  • recordingSummaryIdstringrequirednullable

    Id of the recording summary this task originated from; null if none.

  • appointmentIdstringrequirednullable

    Id of the appointment this task is linked to; null if none.

  • createdOnstringrequired

    Creation timestamp (ISO 8601).

  • modifiedOnstringrequired

    Last modification timestamp (ISO 8601).

Every page also carries page, pageSize, total, hasMore.

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 code FUP_LIMIT_EXCEEDED or TOO_MANY_CONCURRENT_TRANSCRIPTIONS.

  • 500

    Internal server error.

Creates a task​

POST/v1.0/directories/{directoryId}/tasksTry it →

Creates a task. The caller becomes the owner.

Field overview from the specification

Body fields:

  • subject (string, required): task subject (1..1000 characters).
  • description (string, optional): task description (max. 4000 characters); null for none.
  • responsibleUserId (string, optional): id of the responsible user; null or omitted leaves the task unassigned.
  • taskCategoryId (string, optional): id of the task category; null or omitted for none. Pick one from GET /v1.0/directories/{directoryId}/task-categories.
  • dueDate (string, optional): due date as an ISO 8601 string; null for no due date.

Path parameters

  • directoryIdstringrequired

    Id 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

  • fieldsstringoptional

    Comma-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, tags or sectionItems is returned whole or not at all; attendees.name is not supported.

    On a paged response the selection applies to the entries in items; page, pageSize, total and hasMore are always returned. An unknown name is rejected with 400 rather than ignored.

    Selectable here: appointmentId, canceledOn, createdOn, description, doneOn, dueDate, isCanceled, isDone, modifiedOn, ownerId, recordingSummaryId, responsibleUserId, subject, taskCategoryId, taskId.

    Example: appointmentId,canceledOn

Request body application/json

  • subjectstringrequired

    Task subject (1..1000 characters).

  • descriptionstringoptionalnullable

    Task description (max. 4000 characters); null for none.

  • responsibleUserIdstringoptionalnullable

    Id of the responsible user; null for unassigned.

  • taskCategoryIdstringoptionalnullable

    Id of the task category; null for none. Pick one from GET /v1.0/directories/{directoryId}/task-categories; an id from another directory is rejected.

  • dueDatestringoptionalnullable

    Due date as an ISO 8601 string; null for no due date.

Response

  • taskIdstringrequired

    Id of the task.

  • subjectstringrequired

    Task subject.

  • descriptionstringrequirednullable

    Task description; null if unset.

  • ownerIdstringrequired

    Id of the user who owns (created) the task.

  • responsibleUserIdstringrequirednullable

    Id of the user responsible for the task; null if unassigned.

  • taskCategoryIdstringrequirednullable

    Id of the task category; null if the task has none. Resolve via GET /v1.0/directories/{directoryId}/task-categories.

  • dueDatestringrequirednullable

    Due date (ISO 8601); null if no due date is set.

  • isDonebooleanrequired

    Whether the task is marked as done.

  • doneOnstringrequirednullable

    Timestamp when the task was completed (ISO 8601); null if not done.

  • isCanceledbooleanrequired

    Whether the task is canceled.

  • canceledOnstringrequirednullable

    Timestamp when the task was canceled (ISO 8601); null if not canceled.

  • recordingSummaryIdstringrequirednullable

    Id of the recording summary this task originated from; null if none.

  • appointmentIdstringrequirednullable

    Id of the appointment this task is linked to; null if none.

  • createdOnstringrequired

    Creation timestamp (ISO 8601).

  • modifiedOnstringrequired

    Last modification timestamp (ISO 8601).

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 code FUP_LIMIT_EXCEEDED or TOO_MANY_CONCURRENT_TRANSCRIPTIONS.

  • 500

    Internal server error.

POST/v1.0/directories/{directoryId}/tasks/searchTry it →

Searches tasks.

Field overview from the specification

Body fields:

  • search (string, optional): case-insensitive substring over the task subject AND description.
  • responsible (string, optional): filter by responsible user id — your own is always allowed, another user or omitting it (= all responsibles) requires admin/owner.
  • status (string, optional): one of open (not done/canceled), completed, overdue (open + past due), canceled; omit for any status.
  • page (number, optional, default 1): 1-based page number.
  • pageSize (number, optional, default 25): page size (max. 100).

Results are sorted by due date ascending.

Path parameters

  • directoryIdstringrequired

    Id 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

  • fieldsstringoptional

    Comma-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, tags or sectionItems is returned whole or not at all; attendees.name is not supported.

    On a paged response the selection applies to the entries in items; page, pageSize, total and hasMore are always returned. An unknown name is rejected with 400 rather than ignored.

    Selectable here: appointmentId, canceledOn, createdOn, description, doneOn, dueDate, isCanceled, isDone, modifiedOn, ownerId, recordingSummaryId, responsibleUserId, subject, taskCategoryId, taskId.

    Example: appointmentId,canceledOn

Request body application/json

  • searchstringoptionalnullable

    Case-insensitive substring match on the task subject AND description. The term may appear at the start, middle, or end.

  • responsiblestringoptionalnullable

    Filter by responsible user id. Your own id is always allowed; another user or omitting it (= all responsibles) requires admin/owner.

  • statusstringoptionalnullable

    Filter by status: open (not done/canceled), completed, overdue (open + past due), canceled. Omit for any status.

    Allowed values: opencompletedoverduecanceled
  • pagenumberoptional

    Page (1-based, default 1).

  • pageSizenumberoptional

    Page size (default 25, max 100).

Response: each entry in items

  • taskIdstringrequired

    Id of the task.

  • subjectstringrequired

    Task subject.

  • descriptionstringrequirednullable

    Task description; null if unset.

  • ownerIdstringrequired

    Id of the user who owns (created) the task.

  • responsibleUserIdstringrequirednullable

    Id of the user responsible for the task; null if unassigned.

  • taskCategoryIdstringrequirednullable

    Id of the task category; null if the task has none. Resolve via GET /v1.0/directories/{directoryId}/task-categories.

  • dueDatestringrequirednullable

    Due date (ISO 8601); null if no due date is set.

  • isDonebooleanrequired

    Whether the task is marked as done.

  • doneOnstringrequirednullable

    Timestamp when the task was completed (ISO 8601); null if not done.

  • isCanceledbooleanrequired

    Whether the task is canceled.

  • canceledOnstringrequirednullable

    Timestamp when the task was canceled (ISO 8601); null if not canceled.

  • recordingSummaryIdstringrequirednullable

    Id of the recording summary this task originated from; null if none.

  • appointmentIdstringrequirednullable

    Id of the appointment this task is linked to; null if none.

  • createdOnstringrequired

    Creation timestamp (ISO 8601).

  • modifiedOnstringrequired

    Last modification timestamp (ISO 8601).

Every page also carries page, pageSize, total, hasMore.

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 code FUP_LIMIT_EXCEEDED or TOO_MANY_CONCURRENT_TRANSCRIPTIONS.

  • 500

    Internal server error.

Returns a single task by id​

GET/v1.0/directories/{directoryId}/tasks/{taskId}Try it →

The caller must be allowed to view the task (owner, responsible, or admin/owner).

Field overview from the specification

Response fields:

  • taskId (string): id of the task.
  • subject (string): task subject.
  • description (string | null): task description; null if unset.
  • ownerId (string): id of the user who owns (created) the task.
  • responsibleUserId (string | null): id of the user responsible for the task; null if unassigned.
  • dueDate (string | null): due date (ISO 8601); null if no due date is set.
  • isDone (boolean): whether the task is marked as done.
  • doneOn (string | null): timestamp when the task was completed (ISO 8601); null if not done.
  • isCanceled (boolean): whether the task is canceled.
  • canceledOn (string | null): timestamp when the task was canceled (ISO 8601); null if not canceled.
  • recordingSummaryId (string | null): id of the recording summary this task originated from; null if none.
  • appointmentId (string | null): id of the appointment this task is linked to; null if none.
  • createdOn (string): creation timestamp (ISO 8601).
  • modifiedOn (string): last modification timestamp (ISO 8601).

Path parameters

  • directoryIdstringrequired

    Id 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.

  • taskIdstringrequired

    Id of the task.

Query parameters

  • fieldsstringoptional

    Comma-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, tags or sectionItems is returned whole or not at all; attendees.name is not supported.

    On a paged response the selection applies to the entries in items; page, pageSize, total and hasMore are always returned. An unknown name is rejected with 400 rather than ignored.

    Selectable here: appointmentId, canceledOn, createdOn, description, doneOn, dueDate, isCanceled, isDone, modifiedOn, ownerId, recordingSummaryId, responsibleUserId, subject, taskCategoryId, taskId.

    Example: appointmentId,canceledOn

Response

  • taskIdstringrequired

    Id of the task.

  • subjectstringrequired

    Task subject.

  • descriptionstringrequirednullable

    Task description; null if unset.

  • ownerIdstringrequired

    Id of the user who owns (created) the task.

  • responsibleUserIdstringrequirednullable

    Id of the user responsible for the task; null if unassigned.

  • taskCategoryIdstringrequirednullable

    Id of the task category; null if the task has none. Resolve via GET /v1.0/directories/{directoryId}/task-categories.

  • dueDatestringrequirednullable

    Due date (ISO 8601); null if no due date is set.

  • isDonebooleanrequired

    Whether the task is marked as done.

  • doneOnstringrequirednullable

    Timestamp when the task was completed (ISO 8601); null if not done.

  • isCanceledbooleanrequired

    Whether the task is canceled.

  • canceledOnstringrequirednullable

    Timestamp when the task was canceled (ISO 8601); null if not canceled.

  • recordingSummaryIdstringrequirednullable

    Id of the recording summary this task originated from; null if none.

  • appointmentIdstringrequirednullable

    Id of the appointment this task is linked to; null if none.

  • createdOnstringrequired

    Creation timestamp (ISO 8601).

  • modifiedOnstringrequired

    Last modification timestamp (ISO 8601).

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 code FUP_LIMIT_EXCEEDED or TOO_MANY_CONCURRENT_TRANSCRIPTIONS.

  • 500

    Internal server error.

Updates a task (partial update)​

PATCH/v1.0/directories/{directoryId}/tasks/{taskId}Try it →

Updates a task. Only the provided fields are changed; omitted fields keep their current value, a null value explicitly clears a field. The caller must be allowed to edit the task.

Field overview from the specification

Body fields:

  • subject (string, optional): new task subject (1..1000 characters).
  • description (string, optional): new task description (max. 4000 characters); null to clear.
  • responsibleUserId (string, optional): new id of the responsible user; null to unassign.
  • taskCategoryId (string, optional): new id of the task category; null to clear. Pick one from GET /v1.0/directories/{directoryId}/task-categories.
  • dueDate (string, optional): new due date as an ISO 8601 string; null to clear.

Path parameters

  • directoryIdstringrequired

    Id 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.

  • taskIdstringrequired

    Id of the task.

Query parameters

  • fieldsstringoptional

    Comma-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, tags or sectionItems is returned whole or not at all; attendees.name is not supported.

    On a paged response the selection applies to the entries in items; page, pageSize, total and hasMore are always returned. An unknown name is rejected with 400 rather than ignored.

    Selectable here: appointmentId, canceledOn, createdOn, description, doneOn, dueDate, isCanceled, isDone, modifiedOn, ownerId, recordingSummaryId, responsibleUserId, subject, taskCategoryId, taskId.

    Example: appointmentId,canceledOn

Request body application/json

  • subjectstringoptional

    New task subject (1..1000 characters).

  • descriptionstringoptionalnullable

    New task description (max. 4000 characters); null to clear.

  • responsibleUserIdstringoptionalnullable

    New id of the responsible user; null to unassign.

  • taskCategoryIdstringoptionalnullable

    New id of the task category; null to clear. Pick one from GET /v1.0/directories/{directoryId}/task-categories; an id from another directory is rejected.

  • dueDatestringoptionalnullable

    New due date as an ISO 8601 string; null to clear.

Response

  • taskIdstringrequired

    Id of the task.

  • subjectstringrequired

    Task subject.

  • descriptionstringrequirednullable

    Task description; null if unset.

  • ownerIdstringrequired

    Id of the user who owns (created) the task.

  • responsibleUserIdstringrequirednullable

    Id of the user responsible for the task; null if unassigned.

  • taskCategoryIdstringrequirednullable

    Id of the task category; null if the task has none. Resolve via GET /v1.0/directories/{directoryId}/task-categories.

  • dueDatestringrequirednullable

    Due date (ISO 8601); null if no due date is set.

  • isDonebooleanrequired

    Whether the task is marked as done.

  • doneOnstringrequirednullable

    Timestamp when the task was completed (ISO 8601); null if not done.

  • isCanceledbooleanrequired

    Whether the task is canceled.

  • canceledOnstringrequirednullable

    Timestamp when the task was canceled (ISO 8601); null if not canceled.

  • recordingSummaryIdstringrequirednullable

    Id of the recording summary this task originated from; null if none.

  • appointmentIdstringrequirednullable

    Id of the appointment this task is linked to; null if none.

  • createdOnstringrequired

    Creation timestamp (ISO 8601).

  • modifiedOnstringrequired

    Last modification timestamp (ISO 8601).

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 code FUP_LIMIT_EXCEEDED or TOO_MANY_CONCURRENT_TRANSCRIPTIONS.

  • 500

    Internal server error.

Deletes a task (soft-delete)​

DELETE/v1.0/directories/{directoryId}/tasks/{taskId}Try it →

Only the owner or an admin/owner may delete a task.

Path parameters

  • directoryIdstringrequired

    Id 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.

  • taskIdstringrequired

    Id of the task.

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 code FUP_LIMIT_EXCEEDED or TOO_MANY_CONCURRENT_TRANSCRIPTIONS.

  • 500

    Internal server error.

Toggles the done status of a task​

POST/v1.0/directories/{directoryId}/tasks/{taskId}/doneTry it →

Toggles the done status of a task.

Field overview from the specification

Body fields:

  • isDone (boolean, required): true to mark the task as done, false to reopen it.

Path parameters

  • directoryIdstringrequired

    Id 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.

  • taskIdstringrequired

    Id of the task.

Query parameters

  • fieldsstringoptional

    Comma-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, tags or sectionItems is returned whole or not at all; attendees.name is not supported.

    On a paged response the selection applies to the entries in items; page, pageSize, total and hasMore are always returned. An unknown name is rejected with 400 rather than ignored.

    Selectable here: appointmentId, canceledOn, createdOn, description, doneOn, dueDate, isCanceled, isDone, modifiedOn, ownerId, recordingSummaryId, responsibleUserId, subject, taskCategoryId, taskId.

    Example: appointmentId,canceledOn

Request body application/json

  • isDonebooleanrequired

    True to mark the task as done, false to reopen it.

Response

  • taskIdstringrequired

    Id of the task.

  • subjectstringrequired

    Task subject.

  • descriptionstringrequirednullable

    Task description; null if unset.

  • ownerIdstringrequired

    Id of the user who owns (created) the task.

  • responsibleUserIdstringrequirednullable

    Id of the user responsible for the task; null if unassigned.

  • taskCategoryIdstringrequirednullable

    Id of the task category; null if the task has none. Resolve via GET /v1.0/directories/{directoryId}/task-categories.

  • dueDatestringrequirednullable

    Due date (ISO 8601); null if no due date is set.

  • isDonebooleanrequired

    Whether the task is marked as done.

  • doneOnstringrequirednullable

    Timestamp when the task was completed (ISO 8601); null if not done.

  • isCanceledbooleanrequired

    Whether the task is canceled.

  • canceledOnstringrequirednullable

    Timestamp when the task was canceled (ISO 8601); null if not canceled.

  • recordingSummaryIdstringrequirednullable

    Id of the recording summary this task originated from; null if none.

  • appointmentIdstringrequirednullable

    Id of the appointment this task is linked to; null if none.

  • createdOnstringrequired

    Creation timestamp (ISO 8601).

  • modifiedOnstringrequired

    Last modification timestamp (ISO 8601).

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 code FUP_LIMIT_EXCEEDED or TOO_MANY_CONCURRENT_TRANSCRIPTIONS.

  • 500

    Internal server error.

Lists the task categories of a directory (resolves `taskCategoryId`)​

GET/v1.0/directories/{directoryId}/task-categoriesTry it →

Returns the categories a task can carry: the ones the directory owns plus the global Sally defaults, ordered by name.

Deactivated categories are included with active: false so a task that still carries one stays resolvable; they are no longer offered for new tasks.

Field overview from the specification

Response fields:

  • items (array): the task categories. Each item has:
    • taskCategoryId (string): id of the category.
    • name (string): category name.
    • description (string | null): what the category covers; this text is what Sally is given when it picks a category for a recognized task. Null if unset.
    • active (boolean): whether the category is still offered for new tasks.
    • isGlobal (boolean): true for a global Sally default, false for one the directory owns.

Path parameters

  • directoryIdstringrequired

    Id 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

  • fieldsstringoptional

    Comma-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, tags or sectionItems is returned whole or not at all; attendees.name is not supported.

    On a paged response the selection applies to the entries in items; page, pageSize, total and hasMore are always returned. An unknown name is rejected with 400 rather than ignored.

    Selectable here: active, description, isGlobal, name, taskCategoryId.

    Example: active,description

Response

  • itemsobject[]required

    The task categories of the directory.

    5 child fields
    • taskCategoryIdstringrequired

      Id of the task category.

    • namestringrequired

      Category name.

    • descriptionstringrequirednullable

      What the category covers. This text is what Sally is given when it picks a category for a recognized task. Null if unset.

    • activebooleanrequired

      Whether the category is still offered for new tasks. A deactivated category stays readable so existing tasks keep resolving.

    • isGlobalbooleanrequired

      True for a global Sally default, false for a category the directory owns.

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 code FUP_LIMIT_EXCEEDED or TOO_MANY_CONCURRENT_TRANSCRIPTIONS.

  • 500

    Internal server error.