Skip to main content

API Overview

CRAFT exposes RESTful APIs through five services: Governance (identity and permissions), Assets (data connections and files), Utils (scheduling, context packs, and memories), Talk2Data (conversational data analytics), and Data Readiness (data profiling and governance). All APIs follow consistent conventions for authentication, versioning, and error handling.

Base URLs

Each platform service runs on a dedicated internal port. In production, services are accessed via path-based routing through a Gateway:
The URLs above show direct service access. In production deployments behind an ingress controller, services are exposed on a single domain with path-based routing (e.g., https://api.example.com/governance, https://api.example.com/assets). The ingress rewrites paths to the service-internal prefix.

API Versioning

CRAFT APIs use service-specific prefixes (/governance, /assets, /utils). The platform follows these versioning principles:
  • Path-based versioning: Each service uses its own prefix (e.g., /governance/..., /assets/..., /utils/...)
  • Backward compatibility: Minor additions (new fields, new endpoints) are added within the same version
  • Breaking changes: Changes that remove fields, rename endpoints, or alter behavior require a new version (/v2)
  • Deprecation: Deprecated versions are maintained for at least 6 months with Sunset headers

Common Headers

Required Headers

Response Headers

Rate Limits

Rate limits are enforced per authenticated principal using a sliding window algorithm backed by Redis: When a rate limit is exceeded, the API returns:
The Retry-After response header indicates when the client can retry.
Rate limits are configurable per tenant by administrators. Contact your platform admin if the default limits are insufficient for your workload.

Service Endpoints Summary

Governance API

Assets API

Utils API

Talk2Data API (Data Insights)

Data Readiness API (Data Governance)

OpenAPI Specifications

Each service generates an OpenAPI 3.0 specification accessible at:
  • Governance: https://<platform-host>/api/governance/docs (Swagger UI) or https://<platform-host>/api/governance/openapi.json
  • Assets: https://<platform-host>/api/assets/docs or https://<platform-host>/api/assets/openapi.json
  • Utils: https://<platform-host>/api/utils/docs or https://<platform-host>/api/utils/openapi.json
The OpenAPI specs are used to auto-generate Python and TypeScript SDKs.

SDKs

Auto-generated SDKs are available for programmatic access:

Pagination

List endpoints support offset-based pagination using page and limit parameters:
The limit parameter controls page size (default varies by endpoint). The page parameter is 1-indexed.

Next Steps

API Authentication

Learn how to obtain and use JWT tokens for API access.

Error Codes

Understand error response formats and troubleshooting.

Python SDK

Use the auto-generated Python SDK for programmatic access.

TypeScript SDK

Use the auto-generated TypeScript SDK for frontend integration.