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

Create a new ontology

Request

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

Short account ID with scd- prefix

Example: scd-k2j8n4m1
Bodyapplication/json
namestringnon-emptyrequired

Name of the ontology

Example: "Research Document Ontology"
descriptionstringnon-emptyrequired

Description of the ontology

Example: "An ontology for classifying research documents"
curl -i -X POST \
  https://docs.syncdocs.ai/_mock/api/sync-cloud-openapi/accounts/scd-k2j8n4m1/ontologies \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Research Document Ontology",
    "description": "An ontology for classifying research documents"
  }'

Responses

Ontology created successfully

Bodyapplication/json
idstring(uuid)required
Example: "123e4567-e89b-12d3-a456-426614174001"
namestringrequired
Example: "Research Document Ontology"
descriptionstringrequired
Example: "An ontology for classifying research documents"
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-426614174001", "name": "Research Document Ontology", "description": "An ontology for classifying research documents", "createdAt": "2024-01-15T10:30:00Z", "updatedAt": "2024-01-15T14:30:00Z" }

List all ontologies for an account

Request

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/ontologies \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

List of ontologies

Bodyapplication/jsonArray [
idstring(uuid)required
Example: "123e4567-e89b-12d3-a456-426614174001"
namestringrequired
Example: "Research Document Ontology"
descriptionstringrequired
Example: "An ontology for classifying research documents"
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-426614174001", "name": "Research Document Ontology", "description": "An ontology for classifying research documents", "createdAt": "2024-01-15T10:30:00Z", "updatedAt": "2024-01-15T14:30:00Z" } ]

Get an ontology by ID

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

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 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Ontology details

Bodyapplication/json
idstring(uuid)required
Example: "123e4567-e89b-12d3-a456-426614174001"
namestringrequired
Example: "Research Document Ontology"
descriptionstringrequired
Example: "An ontology for classifying research documents"
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-426614174001", "name": "Research Document Ontology", "description": "An ontology for classifying research documents", "createdAt": "2024-01-15T10:30:00Z", "updatedAt": "2024-01-15T14:30:00Z" }

Update an ontology

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

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

Name of the ontology

Example: "Updated Research Document Ontology"
descriptionstringnon-empty

Description of the ontology

Example: "Updated description for research document classification"
curl -i -X PUT \
  https://docs.syncdocs.ai/_mock/api/sync-cloud-openapi/accounts/scd-k2j8n4m1/ontologies/123e4567-e89b-12d3-a456-426614174001 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Updated Research Document Ontology",
    "description": "Updated description for research document classification"
  }'

Responses

Ontology updated successfully

Bodyapplication/json
idstring(uuid)required
Example: "123e4567-e89b-12d3-a456-426614174001"
namestringrequired
Example: "Research Document Ontology"
descriptionstringrequired
Example: "An ontology for classifying research documents"
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-426614174001", "name": "Research Document Ontology", "description": "An ontology for classifying research documents", "createdAt": "2024-01-15T10:30:00Z", "updatedAt": "2024-01-15T14:30:00Z" }

Delete an ontology

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

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

Responses

Ontology deleted successfully

Bulk update ontology with multiple operations

Request

Perform multiple operations on an ontology including updating metadata queries, categories, and bindings in a single transaction

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
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"
operationsobjectrequired
operations.​ontologyobject
operations.​metadataQueriesobject
operations.​categoriesobject
operations.​bindingsobject
curl -i -X POST \
  https://docs.syncdocs.ai/_mock/api/sync-cloud-openapi/accounts/scd-k2j8n4m1/ontologies/123e4567-e89b-12d3-a456-426614174001/bulk-update \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "accountId": "scd-k2j8n4m1",
    "ontologyId": "123e4567-e89b-12d3-a456-426614174001",
    "operations": {
      "ontology": {
        "update": {
          "name": "Updated Research Document Ontology",
          "description": "Updated description for research document classification"
        },
        "delete": false
      },
      "metadataQueries": {
        "create": [
          {
            "tempId": "temp-key-001",
            "name": "Author Name",
            "description": "The name of the document author",
            "dataType": "STRING",
            "instructions": "Extract the full name of the primary author from the document header or byline"
          }
        ],
        "update": [
          {
            "id": "123e4567-e89b-12d3-a456-426614174001",
            "name": "Updated Author Name",
            "description": "Updated description for author name field",
            "dataType": "STRING",
            "instructions": "Extract the full name of the primary author from the document header or byline"
          }
        ],
        "delete": [
          {
            "id": "123e4567-e89b-12d3-a456-426614174001"
          }
        ]
      },
      "categories": {
        "create": [
          {
            "tempId": "temp-cat-001",
            "name": "Research Papers",
            "description": "Academic research papers and publications",
            "instructions": "Please ensure all papers include proper citations",
            "boundMetadataQueries": [
              {
                "id": "123e4567-e89b-12d3-a456-426614174001",
                "binding": {}
              }
            ]
          }
        ],
        "update": [
          {
            "id": "123e4567-e89b-12d3-a456-426614174001",
            "name": "Updated Research Papers",
            "description": "Updated description for research papers",
            "instructions": "Updated instructions for paper categorization"
          }
        ],
        "delete": [
          {
            "id": "123e4567-e89b-12d3-a456-426614174001",
            "success": true,
            "error": "Cannot delete: category has bound metadata queries"
          }
        ]
      },
      "bindings": {
        "create": [
          {
            "categoryId": "123e4567-e89b-12d3-a456-426614174001",
            "keyId": "123e4567-e89b-12d3-a456-426614174002",
            "binding": {
              "required": true,
              "uniqueIndexElement": false
            }
          }
        ],
        "update": [
          {
            "categoryId": "123e4567-e89b-12d3-a456-426614174001",
            "keyId": "123e4567-e89b-12d3-a456-426614174002",
            "binding": {
              "required": true,
              "uniqueIndexElement": false
            }
          }
        ],
        "delete": [
          {
            "categoryId": "123e4567-e89b-12d3-a456-426614174001",
            "keyId": "123e4567-e89b-12d3-a456-426614174002"
          }
        ]
      }
    }
  }'

Responses

Bulk update completed successfully

Bodyapplication/json
successbooleanrequired
Example: true
resultsobjectrequired
results.​ontologyobject
results.​metadataQueriesobject
results.​categoriesobject
results.​bindingsobject
errorsArray of strings
Response
application/json
{ "success": true, "results": { "ontology": { … }, "metadataQueries": { … }, "categories": { … }, "bindings": { … } }, "errors": [ "string" ] }

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

Helpers

Helper utility operations

Operations