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

Bind metadata query to a category

Request

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

Short account ID with scd- prefix

Example: scd-k2j8n4m1
ontologyIdstring(uuid)required

The ID of the ontology

categoryIdstring(uuid)required

The ID of the category

metadataQueryIdstring(uuid)required

The ID of the metadata query

Bodyapplication/json
uniqueIndexElementboolean

Whether this metadata query is part of the unique index

Example: false
requiredboolean

Whether this metadata query is required

Default false
Example: true
curl -i -X PUT \
  'https://docs.syncdocs.ai/_mock/api/sync-cloud-openapi/accounts/scd-k2j8n4m1/ontologies/{ontologyId}/categories/{categoryId}/bindings/{metadataQueryId}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "uniqueIndexElement": false,
    "required": true
  }'

Responses

Metadata key bound to category successfully

Bodyapplication/json
idstring(uuid)required
Example: "123e4567-e89b-12d3-a456-426614174001"
namestringrequired
Example: "Research Papers"
descriptionstring or nullrequired
Example: "Academic research papers and publications"
metadataQueryBindingsArray of strings(uuid)required
Response
application/json
{ "id": "123e4567-e89b-12d3-a456-426614174001", "name": "Research Papers", "description": "Academic research papers and publications", "metadataQueryBindings": [ "497f6eca-6276-4993-bfeb-53cbbbba6f08" ] }

Unbind metadata query from a category

Request

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

Short account ID with scd- prefix

Example: scd-k2j8n4m1
ontologyIdstring(uuid)required

The ID of the ontology

categoryIdstring(uuid)required

The ID of the category

metadataQueryIdstring(uuid)required

The ID of the metadata query

curl -i -X DELETE \
  'https://docs.syncdocs.ai/_mock/api/sync-cloud-openapi/accounts/scd-k2j8n4m1/ontologies/{ontologyId}/categories/{categoryId}/bindings/{metadataQueryId}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Metadata key unbound from category successfully

Create a new category

Request

Creates a new category within an ontology. The new category will initially have no bound metadata queries. Use the metadata query binding endpoints to associate metadata queries with this category.

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

Short account ID with scd- prefix

Example: scd-k2j8n4m1
ontologyIdstring(uuid)required

The ID of the ontology

Example: 123e4567-e89b-12d3-a456-426614174001
Bodyapplication/json
namestringnon-emptyrequired

Name of the category

Example: "Research Papers"
descriptionstringnon-emptyrequired

Description of the category

Example: "Academic research papers and publications"
instructionsstring or null

Instructions for this category

Example: "Please ensure all papers include proper citations"
curl -i -X POST \
  https://docs.syncdocs.ai/_mock/api/sync-cloud-openapi/accounts/scd-k2j8n4m1/ontologies/123e4567-e89b-12d3-a456-426614174001/categories \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Research Papers",
    "description": "Academic research papers and publications",
    "instructions": "Please ensure all papers include proper citations"
  }'

Responses

Category created successfully

Bodyapplication/json
idstringrequired
Example: "cat-123abc45"
namestringrequired
Example: "Research Papers"
descriptionstringrequired
Example: "Academic research papers and publications"
instructionsstring or nullrequired
Example: "Please ensure all papers include proper citations"
ontologyIdstring(uuid)required
Example: "123e4567-e89b-12d3-a456-426614174001"
boundMetadataQueriesArray of objectsrequired

Metadata keys bound to this category with their binding properties

boundMetadataQueries[].​idstring(uuid)required
Example: "123e4567-e89b-12d3-a456-426614174001"
boundMetadataQueries[].​namestringrequired
Example: "Author Name"
boundMetadataQueries[].​descriptionstring or nullrequired
Example: "The name of the document author"
boundMetadataQueries[].​dataTypestringrequired
Enum"STRING""SHORT_STRING""NUMBER""BOOLEAN""DATE"
Example: "STRING"
boundMetadataQueries[].​instructionsstringrequired
Example: "Extract the full name of the primary author from the document header or byline"
boundMetadataQueries[].​ontologyIdstring(uuid)required
Example: "987fcdeb-51a2-43d1-9c4e-5f6e7d8c9a0b"
boundMetadataQueries[].​createdAtstring(date-time)required
Example: "2024-01-15T10:30:00Z"
boundMetadataQueries[].​updatedAtstring or null(date-time)required
Example: "2024-01-15T14:30:00Z"
boundMetadataQueries[].​bindingobjectrequired

Binding properties for this metadata query in this category

boundMetadataQueries[].​binding.​requiredbooleanrequired

Whether this metadata query is required for this category

Example: true
boundMetadataQueries[].​binding.​uniqueIndexElementbooleanrequired

Whether this metadata query is part of the unique index for this category

Example: false
createdAtstring(date-time)required
Example: "2024-01-15T10:30:00Z"
updatedAtstring or null(date-time)required
Example: "2024-01-15T14:30:00Z"
Response
application/json
{ "id": "cat-123abc45", "name": "Research Papers", "description": "Academic research papers and publications", "instructions": "Please ensure all papers include proper citations", "ontologyId": "123e4567-e89b-12d3-a456-426614174001", "boundMetadataQueries": [ { … } ], "createdAt": "2024-01-15T10:30:00Z", "updatedAt": "2024-01-15T14:30:00Z" }

List all categories in an ontology

Request

Returns all categories with their bound metadata queries. Each metadata query includes binding properties that define how the key is used within the category (required status and unique index participation).

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

Short account ID with scd- prefix

Example: scd-k2j8n4m1
ontologyIdstring(uuid)required

The ID of the ontology

Example: 123e4567-e89b-12d3-a456-426614174001
curl -i -X GET \
  https://docs.syncdocs.ai/_mock/api/sync-cloud-openapi/accounts/scd-k2j8n4m1/ontologies/123e4567-e89b-12d3-a456-426614174001/categories \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

List of categories with their bound metadata queries and binding properties

Bodyapplication/jsonArray [
idstringrequired
Example: "cat-123abc45"
namestringrequired
Example: "Research Papers"
descriptionstringrequired
Example: "Academic research papers and publications"
instructionsstring or nullrequired
Example: "Please ensure all papers include proper citations"
ontologyIdstring(uuid)required
Example: "123e4567-e89b-12d3-a456-426614174001"
boundMetadataQueriesArray of objectsrequired

Metadata keys bound to this category with their binding properties

boundMetadataQueries[].​idstring(uuid)required
Example: "123e4567-e89b-12d3-a456-426614174001"
boundMetadataQueries[].​namestringrequired
Example: "Author Name"
boundMetadataQueries[].​descriptionstring or nullrequired
Example: "The name of the document author"
boundMetadataQueries[].​dataTypestringrequired
Enum"STRING""SHORT_STRING""NUMBER""BOOLEAN""DATE"
Example: "STRING"
boundMetadataQueries[].​instructionsstringrequired
Example: "Extract the full name of the primary author from the document header or byline"
boundMetadataQueries[].​ontologyIdstring(uuid)required
Example: "987fcdeb-51a2-43d1-9c4e-5f6e7d8c9a0b"
boundMetadataQueries[].​createdAtstring(date-time)required
Example: "2024-01-15T10:30:00Z"
boundMetadataQueries[].​updatedAtstring or null(date-time)required
Example: "2024-01-15T14:30:00Z"
boundMetadataQueries[].​bindingobjectrequired

Binding properties for this metadata query in this category

boundMetadataQueries[].​binding.​requiredbooleanrequired

Whether this metadata query is required for this category

Example: true
boundMetadataQueries[].​binding.​uniqueIndexElementbooleanrequired

Whether this metadata query is part of the unique index for this category

Example: false
createdAtstring(date-time)required
Example: "2024-01-15T10:30:00Z"
updatedAtstring or null(date-time)required
Example: "2024-01-15T14:30:00Z"
]
Response
application/json
[ { "id": "123e4567-e89b-12d3-a456-426614174000", "name": "Sidewalk Permit", "description": "Permits for sidewalk construction and repair", "instructions": "Ensure proper traffic management during work", "ontologyId": "987fcdeb-51a2-43d1-9c4e-5f6e7d8c9a0b", "boundMetadataQueries": [ … ], "createdAt": "2025-01-15T09:00:00Z", "updatedAt": "2025-01-15T15:30:00Z" } ]

Get a category by ID

Request

Returns a single category with its bound metadata queries. Each metadata query includes binding properties that specify whether the key is required and whether it participates in the unique index for this category.

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

Short account ID with scd- prefix

Example: scd-k2j8n4m1
ontologyIdstring(uuid)required

The ID of the ontology

categoryIdstring(uuid)required

The ID of the category

curl -i -X GET \
  'https://docs.syncdocs.ai/_mock/api/sync-cloud-openapi/accounts/scd-k2j8n4m1/ontologies/{ontologyId}/categories/{categoryId}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Category details with bound metadata queries and their binding properties

Bodyapplication/json
idstringrequired
Example: "cat-123abc45"
namestringrequired
Example: "Research Papers"
descriptionstringrequired
Example: "Academic research papers and publications"
instructionsstring or nullrequired
Example: "Please ensure all papers include proper citations"
ontologyIdstring(uuid)required
Example: "123e4567-e89b-12d3-a456-426614174001"
boundMetadataQueriesArray of objectsrequired

Metadata keys bound to this category with their binding properties

boundMetadataQueries[].​idstring(uuid)required
Example: "123e4567-e89b-12d3-a456-426614174001"
boundMetadataQueries[].​namestringrequired
Example: "Author Name"
boundMetadataQueries[].​descriptionstring or nullrequired
Example: "The name of the document author"
boundMetadataQueries[].​dataTypestringrequired
Enum"STRING""SHORT_STRING""NUMBER""BOOLEAN""DATE"
Example: "STRING"
boundMetadataQueries[].​instructionsstringrequired
Example: "Extract the full name of the primary author from the document header or byline"
boundMetadataQueries[].​ontologyIdstring(uuid)required
Example: "987fcdeb-51a2-43d1-9c4e-5f6e7d8c9a0b"
boundMetadataQueries[].​createdAtstring(date-time)required
Example: "2024-01-15T10:30:00Z"
boundMetadataQueries[].​updatedAtstring or null(date-time)required
Example: "2024-01-15T14:30:00Z"
boundMetadataQueries[].​bindingobjectrequired

Binding properties for this metadata query in this category

boundMetadataQueries[].​binding.​requiredbooleanrequired

Whether this metadata query is required for this category

Example: true
boundMetadataQueries[].​binding.​uniqueIndexElementbooleanrequired

Whether this metadata query is part of the unique index for this category

Example: false
createdAtstring(date-time)required
Example: "2024-01-15T10:30:00Z"
updatedAtstring or null(date-time)required
Example: "2024-01-15T14:30:00Z"
Response
application/json
{ "id": "123e4567-e89b-12d3-a456-426614174000", "name": "Sidewalk Permit", "description": "Permits for sidewalk construction and repair", "instructions": "Ensure proper traffic management during work", "ontologyId": "987fcdeb-51a2-43d1-9c4e-5f6e7d8c9a0b", "boundMetadataQueries": [ { … }, { … } ], "createdAt": "2025-01-15T09:00:00Z", "updatedAt": "2025-01-15T15:30:00Z" }

Update a category

Request

Updates category properties (name, description, additional instructions). This endpoint does not modify metadata query bindings. Use the metadata query binding endpoints to manage key associations.

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

Short account ID with scd- prefix

Example: scd-k2j8n4m1
ontologyIdstring(uuid)required

The ID of the ontology

categoryIdstring(uuid)required

The ID of the category

Bodyapplication/json
namestringnon-empty

Name of the category

Example: "Updated Research Papers"
descriptionstringnon-empty

Description of the category

Example: "Updated description for academic research papers"
instructionsstring or null

Instructions for this category

Example: "Updated instructions for paper categorization"
curl -i -X PUT \
  'https://docs.syncdocs.ai/_mock/api/sync-cloud-openapi/accounts/scd-k2j8n4m1/ontologies/{ontologyId}/categories/{categoryId}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Updated Research Papers",
    "description": "Updated description for academic research papers",
    "instructions": "Updated instructions for paper categorization"
  }'

Responses

Category updated successfully

Bodyapplication/json
idstringrequired
Example: "cat-123abc45"
namestringrequired
Example: "Research Papers"
descriptionstringrequired
Example: "Academic research papers and publications"
instructionsstring or nullrequired
Example: "Please ensure all papers include proper citations"
ontologyIdstring(uuid)required
Example: "123e4567-e89b-12d3-a456-426614174001"
boundMetadataQueriesArray of objectsrequired

Metadata keys bound to this category with their binding properties

boundMetadataQueries[].​idstring(uuid)required
Example: "123e4567-e89b-12d3-a456-426614174001"
boundMetadataQueries[].​namestringrequired
Example: "Author Name"
boundMetadataQueries[].​descriptionstring or nullrequired
Example: "The name of the document author"
boundMetadataQueries[].​dataTypestringrequired
Enum"STRING""SHORT_STRING""NUMBER""BOOLEAN""DATE"
Example: "STRING"
boundMetadataQueries[].​instructionsstringrequired
Example: "Extract the full name of the primary author from the document header or byline"
boundMetadataQueries[].​ontologyIdstring(uuid)required
Example: "987fcdeb-51a2-43d1-9c4e-5f6e7d8c9a0b"
boundMetadataQueries[].​createdAtstring(date-time)required
Example: "2024-01-15T10:30:00Z"
boundMetadataQueries[].​updatedAtstring or null(date-time)required
Example: "2024-01-15T14:30:00Z"
boundMetadataQueries[].​bindingobjectrequired

Binding properties for this metadata query in this category

boundMetadataQueries[].​binding.​requiredbooleanrequired

Whether this metadata query is required for this category

Example: true
boundMetadataQueries[].​binding.​uniqueIndexElementbooleanrequired

Whether this metadata query is part of the unique index for this category

Example: false
createdAtstring(date-time)required
Example: "2024-01-15T10:30:00Z"
updatedAtstring or null(date-time)required
Example: "2024-01-15T14:30:00Z"
Response
application/json
{ "id": "cat-123abc45", "name": "Research Papers", "description": "Academic research papers and publications", "instructions": "Please ensure all papers include proper citations", "ontologyId": "123e4567-e89b-12d3-a456-426614174001", "boundMetadataQueries": [ { … } ], "createdAt": "2024-01-15T10:30:00Z", "updatedAt": "2024-01-15T14:30:00Z" }

Delete a category

Request

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

Short account ID with scd- prefix

Example: scd-k2j8n4m1
ontologyIdstring(uuid)required

The ID of the ontology

categoryIdstring(uuid)required

The ID of the category

curl -i -X DELETE \
  'https://docs.syncdocs.ai/_mock/api/sync-cloud-openapi/accounts/scd-k2j8n4m1/ontologies/{ontologyId}/categories/{categoryId}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Category deleted successfully

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

Helpers

Helper utility operations

Operations