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

Create a new user for an account

Request

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

Short account ID with scd- prefix

Example: scd-k2j8n4m1
Bodyapplication/json
emailstring(email)required

Email address of the user

Example: "john.doe@example.com"
namestringnon-emptyrequired

Name of the user

Example: "John Doe"
rolesArray of strings

Roles assigned to the user

permissionsArray of strings

Permissions assigned to the user

curl -i -X POST \
  https://docs.syncdocs.ai/_mock/api/sync-cloud-openapi/accounts/scd-k2j8n4m1/users \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "email": "john.doe@example.com",
    "name": "John Doe",
    "roles": [
      "string"
    ],
    "permissions": [
      "string"
    ]
  }'

Responses

User created successfully

Bodyapplication/json
emailstring(email)required

Email address of the user

Example: "john.doe@example.com"
namestringnon-emptyrequired

Name of the user

Example: "John Doe"
rolesArray of strings

Roles assigned to the user

permissionsArray of strings

Permissions assigned to the user

idstring(uuid)required

The ID of the user

Example: "123e4567-e89b-12d3-a456-426614174001"
clerkUserIdstring

Clerk user ID for authentication

Example: "user_2Xxxx..."
lastLoginAtstring or null(date-time)

Last login timestamp

Example: "2024-01-15T14:30:00Z"
createdAtstring(date-time)required
Example: "2024-01-15T10:30:00Z"
updatedAtstring or null(date-time)required
Example: "2024-01-15T14:30:00Z"
accountIdstring^scd-[a-z0-9]{8}$required

Short account ID with scd- prefix (from entitlements)

Example: "scd-k2j8n4m1"
Response
application/json
{ "email": "john.doe@example.com", "name": "John Doe", "roles": [ "string" ], "permissions": [ "string" ], "id": "123e4567-e89b-12d3-a456-426614174001", "clerkUserId": "user_2Xxxx...", "lastLoginAt": "2024-01-15T14:30:00Z", "createdAt": "2024-01-15T10:30:00Z", "updatedAt": "2024-01-15T14:30:00Z", "accountId": "scd-k2j8n4m1" }

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

Responses

List of users

Bodyapplication/jsonArray [
emailstring(email)required

Email address of the user

Example: "john.doe@example.com"
namestringnon-emptyrequired

Name of the user

Example: "John Doe"
rolesArray of strings

Roles assigned to the user

permissionsArray of strings

Permissions assigned to the user

idstring(uuid)required

The ID of the user

Example: "123e4567-e89b-12d3-a456-426614174001"
clerkUserIdstring

Clerk user ID for authentication

Example: "user_2Xxxx..."
lastLoginAtstring or null(date-time)

Last login timestamp

Example: "2024-01-15T14:30:00Z"
createdAtstring(date-time)required
Example: "2024-01-15T10:30:00Z"
updatedAtstring or null(date-time)required
Example: "2024-01-15T14:30:00Z"
accountIdstring^scd-[a-z0-9]{8}$required

Short account ID with scd- prefix (from entitlements)

Example: "scd-k2j8n4m1"
]
Response
application/json
[ { "email": "john.doe@example.com", "name": "John Doe", "roles": [ … ], "permissions": [ … ], "id": "123e4567-e89b-12d3-a456-426614174001", "clerkUserId": "user_2Xxxx...", "lastLoginAt": "2024-01-15T14:30:00Z", "createdAt": "2024-01-15T10:30:00Z", "updatedAt": "2024-01-15T14:30:00Z", "accountId": "scd-k2j8n4m1" } ]

Get a specific user by ID

Request

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

Short account ID with scd- prefix

Example: scd-k2j8n4m1
userIdstring(uuid)required

The ID of the user

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

Responses

User details

Bodyapplication/json
emailstring(email)required

Email address of the user

Example: "john.doe@example.com"
namestringnon-emptyrequired

Name of the user

Example: "John Doe"
rolesArray of strings

Roles assigned to the user

permissionsArray of strings

Permissions assigned to the user

idstring(uuid)required

The ID of the user

Example: "123e4567-e89b-12d3-a456-426614174001"
clerkUserIdstring

Clerk user ID for authentication

Example: "user_2Xxxx..."
lastLoginAtstring or null(date-time)

Last login timestamp

Example: "2024-01-15T14:30:00Z"
createdAtstring(date-time)required
Example: "2024-01-15T10:30:00Z"
updatedAtstring or null(date-time)required
Example: "2024-01-15T14:30:00Z"
accountIdstring^scd-[a-z0-9]{8}$required

Short account ID with scd- prefix (from entitlements)

Example: "scd-k2j8n4m1"
Response
application/json
{ "email": "john.doe@example.com", "name": "John Doe", "roles": [ "string" ], "permissions": [ "string" ], "id": "123e4567-e89b-12d3-a456-426614174001", "clerkUserId": "user_2Xxxx...", "lastLoginAt": "2024-01-15T14:30:00Z", "createdAt": "2024-01-15T10:30:00Z", "updatedAt": "2024-01-15T14:30:00Z", "accountId": "scd-k2j8n4m1" }

Update a user

Request

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

Short account ID with scd- prefix

Example: scd-k2j8n4m1
userIdstring(uuid)required

The ID of the user

Example: 123e4567-e89b-12d3-a456-426614174001
Bodyapplication/json
emailstring(email)

Email address of the user

Example: "john.updated@example.com"
namestringnon-empty

Name of the user

Example: "John Updated"
rolesArray of strings

Roles assigned to the user

permissionsArray of strings

Permissions assigned to the user

curl -i -X PUT \
  https://docs.syncdocs.ai/_mock/api/sync-cloud-openapi/accounts/scd-k2j8n4m1/users/123e4567-e89b-12d3-a456-426614174001 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "email": "john.updated@example.com",
    "name": "John Updated",
    "roles": [
      "string"
    ],
    "permissions": [
      "string"
    ]
  }'

Responses

User updated successfully

Bodyapplication/json
emailstring(email)required

Email address of the user

Example: "john.doe@example.com"
namestringnon-emptyrequired

Name of the user

Example: "John Doe"
rolesArray of strings

Roles assigned to the user

permissionsArray of strings

Permissions assigned to the user

idstring(uuid)required

The ID of the user

Example: "123e4567-e89b-12d3-a456-426614174001"
clerkUserIdstring

Clerk user ID for authentication

Example: "user_2Xxxx..."
lastLoginAtstring or null(date-time)

Last login timestamp

Example: "2024-01-15T14:30:00Z"
createdAtstring(date-time)required
Example: "2024-01-15T10:30:00Z"
updatedAtstring or null(date-time)required
Example: "2024-01-15T14:30:00Z"
accountIdstring^scd-[a-z0-9]{8}$required

Short account ID with scd- prefix (from entitlements)

Example: "scd-k2j8n4m1"
Response
application/json
{ "email": "john.doe@example.com", "name": "John Doe", "roles": [ "string" ], "permissions": [ "string" ], "id": "123e4567-e89b-12d3-a456-426614174001", "clerkUserId": "user_2Xxxx...", "lastLoginAt": "2024-01-15T14:30:00Z", "createdAt": "2024-01-15T10:30:00Z", "updatedAt": "2024-01-15T14:30:00Z", "accountId": "scd-k2j8n4m1" }

Delete a user

Request

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

Short account ID with scd- prefix

Example: scd-k2j8n4m1
userIdstring(uuid)required

The ID of the user

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

Responses

User deleted successfully

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