Skip to main content
An artifact is a piece of information (or tool-ready resource) you ingest into Zylon so it can be used as context for queries and operations. Artifacts live inside a collection, and each artifact has a stable artifact ID. Artifacts can be created from:

Prerequisites

Basic request and response

Use POST /artifacts/ingest when you want the ingest to complete in the same request.

Async ingest

Use POST /artifacts/ingest/async for larger payloads or when ingest may take longer. The payload is the same as sync ingest, wrapped in ingest_body, and the response returns a task_id you can poll.
Check task status:

Listing ingested artifacts

Retrieving content

Full content

Use POST /artifacts/content to fetch complete document text:

Chunked content (chat-optimized)

Use POST /artifacts/chunked-content to retrieve content split into chat-friendly blocks:

Deleting artifacts

Delete (sync):
Delete (async):
Check task status:
Keep polling until task_status becomes "SUCCESS" or "FAILURE". If deletion fails while an index is still being populated, retry after a short delay.

Errors and edge cases

  • 401/403: missing token or insufficient permissions.
  • 404: collection or artifact not found.
  • 409: ingest/delete task already in progress.
  • 413: input too large for a single ingest.
  • 422: invalid payload shape.
  • Async failures: when task_status becomes FAILURE, check task_result (for example routing_key_error: "ingest.failed" or delete.failed) and retry after fixing the input.