Prerequisites
- An API token. See Workspace Token Management.
- Your Zylon hostname (replace
{BASE_URL}in the examples).
Artifacts
Artifact request fields
UsePOST /api/v1/app/artifact to create any artifact type. Ownership is supplied in the request body rather than the path. When you send x-org, omit organization_id and optionally set project_id; without x-org, Operator and SuperAdmin callers may set organization_id. A project_id always belongs to the selected organization. Set project_id to null (or omit it) to create an organization artifact; this requires an AppAdmin or higher role, and Link artifacts always require a project.
Artifact request fields
Artifact request fields
scopes is omitted, a project artifact receives its project scope and an organization artifact receives its organization scope. An organization artifact cannot be created with project scopes; add those later with the scope operation.
Document artifacts
Document artifacts hold content, links reference existing artifacts, and folders organize artifacts inside an organization or project.- Document
- Folder
- Link
props body
props body
Example response
Example response
AI Documents
AI Documents run a Zylon workflow across one or more artifacts to produce a structured output.- Summary
- Composition
- BulkQA
- ReadAndExtract
- Analysis
- SmartDoc
props body
props body
Example response
Example response
Other artifacts
Other artifacts provide tools, provider connections, and reusable skills.private_props is used by MCP, SQL database, and provider-backed Integration artifacts. For Integration request shapes, see the Confluence, SharePoint, Filesystem, and Claromentis guides.
- SqlDatabase
- McpServer
- Skill
props body
props body
Example response
Example response
Working with artifacts
List artifacts
UseGET /api/v1/app/artifact. With x-org, omit organization_id; use project_id to narrow the result to one project or omit it to list the artifacts visible across the selected organization. Without x-org, Operator and SuperAdmin callers can select an organization with organization_id, or omit both ownership parameters for a cross-organization list of accessible artifacts.
Endpoint parameters
Endpoint parameters
Example response
Example response
next_cursor and previous_cursor when those cursors are available. has_next_page and has_previous_page are always present; total_count is returned only when total_count=true.
Get an artifact
GET /api/v1/app/artifact/{artifactID} derives the organization and project from the stored artifact.
Endpoint parameters
Endpoint parameters
Example response
Example response
Update an artifact
UsePUT /api/v1/app/artifact/{artifactID}. The server derives ownership from the existing artifact.
Endpoint parameters
Endpoint parameters
Example response
Example response
Validate create and update requests
Validate a create payload withPOST /api/v1/app/artifact/validate. It accepts the same JSON or multipart body as create. Validate a JSON update payload with POST /api/v1/app/artifact/{artifactID}/validate; file replacement multipart bodies are validated when submitted to the update operation itself. Validation does not persist the change. These validation operations currently support Skill and SqlDatabase artifacts.
Example response
Example response
valid, errors, and warnings, plus optional data. Each error or warning contains type, message, and optional params. Skill validation can return parsed name and description values in data.
To validate an update against the artifact’s stored configuration:
Add, update, or remove a scope
UsePOST /api/v1/app/artifact/{artifactID}/scope for one scope change. The response is the updated artifact with its current scopes.
delete to true to remove the matching scope.
Retry an artifact
POST /api/v1/app/artifact/{artifactID}/retry deletes the existing artifact and creates a replacement from a create-artifact payload. The payload’s organization and project must match the original artifact. The response is the replacement ArtifactDTO, which has a new artifact ID.
Delete an artifact
Deleting a parent can delete more than one artifact. The response is therefore always an array of deleted artifact details.Example response
Example response
Download raw artifact content
Without aContent-Disposition header, or with Content-Disposition: inline, this endpoint returns a presigned URL string. Send Content-Disposition: attachment to stream the file bytes directly. For an available Link artifact, both modes resolve the original artifact before returning its URL or bytes.
Get parsed content
This endpoint is only available when the artifact has an initialized vector index. In practice, this usually means connector-backed documents or artifacts that have completed indexing.Example response
Example response
Sync an artifact
This endpoint is primarily used for integration artifacts (SharePoint, Confluence, Claromentis, or FileSystem).Sync event fields
Sync event fields
Example stream
Example stream
Ingest from an integration artifact
UsePOST /api/v1/app/artifact/{artifactID}/ingest to start an initial ingestion from an Integration artifact. The JSON body is provider-specific and must include the target project_id. The example below selects a Confluence space; see each integration guide for its complete selection fields. The response is an SSE stream using the same sync event family shown above.
Bulk update artifacts
Use the bulk update endpoint to apply the same update body shape used byPUT /api/v1/app/artifact/{artifactID} to multiple artifacts.
Endpoint parameters
Endpoint parameters
Example response
Example response
Bulk delete artifacts
Endpoint parameters
Endpoint parameters
Example response
Example response
Check linked artifacts before modifying
Use this endpoint before changing an artifact when you need to check whether linked artifacts depend on it.Endpoint parameters
Endpoint parameters
Example response
Example response
Errors and edge cases
- Artifact error codes: the
errorfield maps to ingest failures:
If
ingest_status is Error, fix the source file and retry or replace the artifact. For integration artifacts, correct the source and sync again.
- Warnings:
ingest_warningscan include values likeBigSize,UnprocessableContent, orNoContentto indicate non‑fatal issues. - 400: required ownership is missing or invalid, such as sending
project_idwithout selecting an organization, or a synchronization is already in progress. - 401/403: token missing, insufficient permissions, or
organization_idcombined withx-org. - 404: artifact, organization, or project not found. A retry payload with ownership that differs from the original artifact is also rejected as not found.
- For files larger than 250 MB, the backend retains only the artifact record with an
UnprocessableContentwarning; it does not store the uploaded bytes or start ingestion.