Skip to content

SyncDocs Admin API (1.0.0)

SyncDocs Admin API

Complete enterprise content management system (ECM) core APIs for accessing ECM functionality programmatically.

Architecture Overview

When you start with Sync, you are assigned an Account with a unique ID. Each account can have:

  • Dataspaces: Fully isolated data segments within an account, similar to separate databases. Each dataspace is used to isolate different business use cases within a single enterprise. - Workspaces: Virtual computing resources for storing, retrieving and manipulating content (managed separately via Workspace APIs) - Libraries: External content sources that can be scraped and indexed for use as citation sources in AI queries - Users and Agents: Can interact with Dataspaces/Workspaces with assigned roles - Ontologies: Define how content is organized within dataspaces

Dataspace Resources

Each Dataspace contains: - A unique Ontology that defines the business-purpose categorization and metadata structure - Categories: Represent the grouping or classification of content (taxonomy) - Metadata Queries: Specific metadata fields that can be associated with content and bound to categories - A collection of Content and Projects (managed via Workspace APIs)

Metadata Query Binding

Metadata Queries can be bound to Categories to indicate required attributes for content in that category. When binding, you can specify: - Whether the attribute is required/mandatory for every Content item in that category - Whether the attribute should be part of the Unique Index (content with same unique index values are considered versions of the same content)

Authentication

All endpoints require authentication using a bearer token and a valid account ID.

Overview
License
Languages
Servers
Mock server
https://docs.syncdocs.ai/_mock/api/sync-cloud-openapi/
Production - Sync Cloud Admin Services
https://cloud.syncdocs.ai/api/
Development server
https://docs.syncdocs.ai/api/

Accounts

Account management operations. Each account represents a unique enterprise customer with isolated resources.

Operations

Dataspaces

Dataspace management operations. Dataspaces are fully isolated data segments within an account, similar to separate databases for different business use cases.

Operations

Workspaces

Workspace management operations. Workspaces are virtual computing resources that provide stateless computational services for content processing.

Operations

Ontologies

Ontology management operations. Ontologies define the categorization, indexing and metadata tagging structure for content within dataspaces.

Operations

Categories

Category management operations. Categories represent the grouping or classification of content within a dataspace (taxonomy).

Operations

Metadata Queries

Metadata key management operations. Metadata keys define specific metadata fields that can be associated with content and bound to categories.

Operations

Users

User management operations. Users can interact with dataspaces and workspaces with assigned roles and permissions.

Operations

Libraries

Library management operations. Libraries are external content sources that can be scraped and indexed for use as citation sources in AI queries.

Operations

Library Bindings

Library binding operations. Bind libraries to workspaces to enable access to library content for AI queries.

Operations

Agents

Agent management operations. Agents are automated entities that can perform operations on behalf of users.

Operations

Workflows

Workflow management operations. Workflows define automated processes for content handling and business logic.

Operations

Task Definitions

Task definition management operations

Operations

Create a new task definition for an account

Request

Creates a new task definition with specified model, and instructions for the task

Security
bearerAuth
Path
accountIdstring^scd-[a-z0-9]{8}$required

Short account ID with scd- prefix

Example: scd-k2j8n4m1
Bodyapplication/json
modelIdstringrequired

AI model to use for task execution

Enum"claude-4-sonnet""gpt-4.1""llama-4-maverick"
Example: "claude-4-sonnet"
namestringnon-emptyrequired

Name of the task definition

Example: "Categorize Document"
taskInstructionsstringnon-emptyrequired

Instructions for executing the task

Example: "We have received the following document. Please select its best appropriate category from the options in the ontology"
primaryScopestringrequired

The type of object that will act as primary context for the task execution

Enum"content""query""dataspace"
Example: "content"
persistOutputbooleanrequired

Whether to persist the output of the task in the dataspace

Example: true
persistLogsbooleanrequired

Whether to persist logs of the task execution in the dataspace

Example: false
curl -i -X POST \
  https://docs.syncdocs.ai/_mock/api/sync-cloud-openapi/accounts/scd-k2j8n4m1/task-definitions \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "modelId": "claude-4-sonnet",
    "name": "Categorize Document",
    "taskInstructions": "We have received the following document. Please select its best appropriate category from the options in the ontology",
    "primaryScope": "content",
    "persistOutput": true,
    "persistLogs": false
  }'

Responses

Task definition created successfully

Bodyapplication/json
taskDefinitionIdstring(uuid)required

The UUID of the task definition

Example: "550e8400-e29b-41d4-a716-446655440000"
accountIdstring^scd-[a-z0-9]{8}$required

Short account ID with scd- prefix

Example: "scd-k2j8n4m1"
modelIdstringrequired

AI model to use for task execution

Enum"claude-4-sonnet""gpt-4.1""llama-4-maverick"
Example: "claude-4-sonnet"
namestringrequired

Name of the task definition

Example: "Categorize Document"
taskInstructionsstringrequired

Instructions for executing the task

Example: "We have received the following document. Please select its best appropriate category from the options in the ontology"
primaryScopestringrequired

The type of object that will act as primary context for the task execution

Enum"content""query""dataspace"
Example: "content"
persistOutputbooleanrequired

Whether to persist the output of the task in the dataspace

Example: true
persistLogsbooleanrequired

Whether to persist logs of the task execution in the dataspace

Example: false
taskNameSlugstringrequired

URL-friendly version of the task name

Example: "categorize-document"
createdAtstring(date-time)required
Example: "2024-01-15T10:30:00Z"
lastUpdatedAtstring or null(date-time)required
Example: "2024-01-15T14:30:00Z"
Response
application/json
{ "taskDefinitionId": "550e8400-e29b-41d4-a716-446655440000", "accountId": "scd-k2j8n4m1", "modelId": "claude-4-sonnet", "name": "Categorize Document", "taskInstructions": "We have received the following document. Please select its best appropriate category from the options in the ontology", "primaryScope": "content", "persistOutput": true, "persistLogs": false, "taskNameSlug": "categorize-document", "createdAt": "2024-01-15T10:30:00Z", "lastUpdatedAt": "2024-01-15T14:30:00Z" }

List all task definitions for an account

Request

Retrieves a list of all task definitions associated with the specified account

Security
bearerAuth
Path
accountIdstring^scd-[a-z0-9]{8}$required

Short account ID with scd- prefix

Example: scd-k2j8n4m1
curl -i -X GET \
  https://docs.syncdocs.ai/_mock/api/sync-cloud-openapi/accounts/scd-k2j8n4m1/task-definitions \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

List of task definitions retrieved successfully

Bodyapplication/jsonArray [
taskDefinitionIdstring(uuid)required

The UUID of the task definition

Example: "550e8400-e29b-41d4-a716-446655440000"
accountIdstring^scd-[a-z0-9]{8}$required

Short account ID with scd- prefix

Example: "scd-k2j8n4m1"
modelIdstringrequired

AI model to use for task execution

Enum"claude-4-sonnet""gpt-4.1""llama-4-maverick"
Example: "claude-4-sonnet"
namestringrequired

Name of the task definition

Example: "Categorize Document"
taskInstructionsstringrequired

Instructions for executing the task

Example: "We have received the following document. Please select its best appropriate category from the options in the ontology"
primaryScopestringrequired

The type of object that will act as primary context for the task execution

Enum"content""query""dataspace"
Example: "content"
persistOutputbooleanrequired

Whether to persist the output of the task in the dataspace

Example: true
persistLogsbooleanrequired

Whether to persist logs of the task execution in the dataspace

Example: false
taskNameSlugstringrequired

URL-friendly version of the task name

Example: "categorize-document"
createdAtstring(date-time)required
Example: "2024-01-15T10:30:00Z"
lastUpdatedAtstring or null(date-time)required
Example: "2024-01-15T14:30:00Z"
]
Response
application/json
[ { "taskDefinitionId": "550e8400-e29b-41d4-a716-446655440000", "accountId": "scd-k2j8n4m1", "modelId": "claude-4-sonnet", "name": "Categorize Document", "taskInstructions": "We have received the following document. Please select its best appropriate category from the options in the ontology", "primaryScope": "content", "persistOutput": true, "persistLogs": false, "taskNameSlug": "categorize-document", "createdAt": "2024-01-15T10:30:00Z", "lastUpdatedAt": "2024-01-15T14:30:00Z" } ]

Get a specific task definition by ID

Request

Retrieves detailed information about a specific task definition

Security
bearerAuth
Path
accountIdstring^scd-[a-z0-9]{8}$required

Short account ID with scd- prefix

Example: scd-k2j8n4m1
taskDefinitionIdstring(uuid)required

The UUID of the task definition

Example: 550e8400-e29b-41d4-a716-446655440000
curl -i -X GET \
  https://docs.syncdocs.ai/_mock/api/sync-cloud-openapi/accounts/scd-k2j8n4m1/task-definitions/550e8400-e29b-41d4-a716-446655440000 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Task definition retrieved successfully

Bodyapplication/json
taskDefinitionIdstring(uuid)required

The UUID of the task definition

Example: "550e8400-e29b-41d4-a716-446655440000"
accountIdstring^scd-[a-z0-9]{8}$required

Short account ID with scd- prefix

Example: "scd-k2j8n4m1"
modelIdstringrequired

AI model to use for task execution

Enum"claude-4-sonnet""gpt-4.1""llama-4-maverick"
Example: "claude-4-sonnet"
namestringrequired

Name of the task definition

Example: "Categorize Document"
taskInstructionsstringrequired

Instructions for executing the task

Example: "We have received the following document. Please select its best appropriate category from the options in the ontology"
primaryScopestringrequired

The type of object that will act as primary context for the task execution

Enum"content""query""dataspace"
Example: "content"
persistOutputbooleanrequired

Whether to persist the output of the task in the dataspace

Example: true
persistLogsbooleanrequired

Whether to persist logs of the task execution in the dataspace

Example: false
taskNameSlugstringrequired

URL-friendly version of the task name

Example: "categorize-document"
createdAtstring(date-time)required
Example: "2024-01-15T10:30:00Z"
lastUpdatedAtstring or null(date-time)required
Example: "2024-01-15T14:30:00Z"
Response
application/json
{ "taskDefinitionId": "550e8400-e29b-41d4-a716-446655440000", "accountId": "scd-k2j8n4m1", "modelId": "claude-4-sonnet", "name": "Categorize Document", "taskInstructions": "We have received the following document. Please select its best appropriate category from the options in the ontology", "primaryScope": "content", "persistOutput": true, "persistLogs": false, "taskNameSlug": "categorize-document", "createdAt": "2024-01-15T10:30:00Z", "lastUpdatedAt": "2024-01-15T14:30:00Z" }

Update an existing task definition

Request

Updates the properties of an existing task definition

Security
bearerAuth
Path
accountIdstring^scd-[a-z0-9]{8}$required

Short account ID with scd- prefix

Example: scd-k2j8n4m1
taskDefinitionIdstring(uuid)required

The UUID of the task definition

Example: 550e8400-e29b-41d4-a716-446655440000
Bodyapplication/json
modelIdstring

AI model to use for task execution

Enum"claude-4-sonnet""gpt-4.1""llama-4-maverick"
Example: "gpt-4.1"
namestringnon-empty

Name of the task definition

Example: "Updated Categorize Document"
taskInstructionsstringnon-empty

Instructions for executing the task

Example: "Updated instructions for document categorization"
primaryScopestring

The type of object that will act as primary context for the task execution

Enum"content""query""dataspace"
Example: "query"
persistOutputboolean

Whether to persist the output of the task in the dataspace

Example: false
persistLogsboolean

Whether to persist logs of the task execution in the dataspace

Example: true
curl -i -X PUT \
  https://docs.syncdocs.ai/_mock/api/sync-cloud-openapi/accounts/scd-k2j8n4m1/task-definitions/550e8400-e29b-41d4-a716-446655440000 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "modelId": "gpt-4.1",
    "name": "Updated Categorize Document",
    "taskInstructions": "Updated instructions for document categorization",
    "primaryScope": "query",
    "persistOutput": false,
    "persistLogs": true
  }'

Responses

Task definition updated successfully

Bodyapplication/json
taskDefinitionIdstring(uuid)required

The UUID of the task definition

Example: "550e8400-e29b-41d4-a716-446655440000"
accountIdstring^scd-[a-z0-9]{8}$required

Short account ID with scd- prefix

Example: "scd-k2j8n4m1"
modelIdstringrequired

AI model to use for task execution

Enum"claude-4-sonnet""gpt-4.1""llama-4-maverick"
Example: "claude-4-sonnet"
namestringrequired

Name of the task definition

Example: "Categorize Document"
taskInstructionsstringrequired

Instructions for executing the task

Example: "We have received the following document. Please select its best appropriate category from the options in the ontology"
primaryScopestringrequired

The type of object that will act as primary context for the task execution

Enum"content""query""dataspace"
Example: "content"
persistOutputbooleanrequired

Whether to persist the output of the task in the dataspace

Example: true
persistLogsbooleanrequired

Whether to persist logs of the task execution in the dataspace

Example: false
taskNameSlugstringrequired

URL-friendly version of the task name

Example: "categorize-document"
createdAtstring(date-time)required
Example: "2024-01-15T10:30:00Z"
lastUpdatedAtstring or null(date-time)required
Example: "2024-01-15T14:30:00Z"
Response
application/json
{ "taskDefinitionId": "550e8400-e29b-41d4-a716-446655440000", "accountId": "scd-k2j8n4m1", "modelId": "claude-4-sonnet", "name": "Categorize Document", "taskInstructions": "We have received the following document. Please select its best appropriate category from the options in the ontology", "primaryScope": "content", "persistOutput": true, "persistLogs": false, "taskNameSlug": "categorize-document", "createdAt": "2024-01-15T10:30:00Z", "lastUpdatedAt": "2024-01-15T14:30:00Z" }

Delete a task definition

Request

Permanently deletes a task definition from the account

Security
bearerAuth
Path
accountIdstring^scd-[a-z0-9]{8}$required

Short account ID with scd- prefix

Example: scd-k2j8n4m1
taskDefinitionIdstring(uuid)required

The UUID of the task definition

Example: 550e8400-e29b-41d4-a716-446655440000
curl -i -X DELETE \
  https://docs.syncdocs.ai/_mock/api/sync-cloud-openapi/accounts/scd-k2j8n4m1/task-definitions/550e8400-e29b-41d4-a716-446655440000 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Task definition deleted successfully

Helpers

Helper utility operations

Operations