Skip to content

API Reference

The Rime API is documented interactively via Swagger UI. For the full specification with every endpoint, parameter, and response schema, visit:

https://{tenant}.rimedata.io/api/docs

This page provides an overview of the endpoint groups, common operations, and a worked example to get you started.

Endpoint groups

The API is organized into the following groups. Each group corresponds to a section of the Rime platform.

Projects

Manage the projects in your tenant. A project is the top-level container for all resources.

MethodEndpointDescription
GET/projectsList all projects in the tenant
POST/projectsCreate a new project
GET/projects/{id}Get project details
PATCH/projects/{id}Update project settings
DELETE/projects/{id}Delete a project and all its resources

Connectors

Configure and manage data source connectors within a project.

MethodEndpointDescription
GET/projects/{id}/connectorsList connectors
POST/projects/{id}/connectorsCreate a connector
GET/projects/{id}/connectors/{connectorId}Get connector details
PATCH/projects/{id}/connectors/{connectorId}Update connector configuration
DELETE/projects/{id}/connectors/{connectorId}Delete a connector
POST/projects/{id}/connectors/{connectorId}/testTest the connection
POST/projects/{id}/connectors/{connectorId}/syncTrigger a manual sync
GET/projects/{id}/connectors/{connectorId}/runsList sync history
GET/projects/{id}/connectors/{connectorId}/schemaGet discovered schema

Infrastructure

Manage Snowflake and AWS resources.

MethodEndpointDescription
GET/projects/{id}/infrastructureList managed resources
POST/projects/{id}/infrastructureCreate a resource
GET/projects/{id}/infrastructure/{resourceId}Get resource details
PATCH/projects/{id}/infrastructure/{resourceId}Update resource configuration
DELETE/projects/{id}/infrastructure/{resourceId}Delete a resource
POST/projects/{id}/infrastructure/planGenerate a Terraform plan (preview changes)
POST/projects/{id}/infrastructure/applyApply the current plan

Transformations

Manage dbt projects, models, and runs.

MethodEndpointDescription
GET/projects/{id}/dbt-projectsList dbt projects
POST/projects/{id}/dbt-projectsCreate a dbt project
GET/projects/{id}/dbt-projects/{dbtId}Get project details including lineage
POST/projects/{id}/dbt-projects/{dbtId}/runTrigger a dbt run
GET/projects/{id}/dbt-projects/{dbtId}/runsList run history
GET/projects/{id}/dbt-projects/{dbtId}/modelsList models in the project
GET/projects/{id}/dbt-projects/{dbtId}/lineageGet the lineage DAG

Pipelines

Create and manage orchestration pipelines.

MethodEndpointDescription
GET/projects/{id}/pipelinesList pipelines
POST/projects/{id}/pipelinesCreate a pipeline
GET/projects/{id}/pipelines/{pipelineId}Get pipeline details and DAG
PATCH/projects/{id}/pipelines/{pipelineId}Update pipeline configuration
DELETE/projects/{id}/pipelines/{pipelineId}Delete a pipeline
POST/projects/{id}/pipelines/{pipelineId}/runTrigger a pipeline run
GET/projects/{id}/pipelines/{pipelineId}/runsList run history
GET/projects/{id}/pipelines/{pipelineId}/runs/{runId}Get run details and step status

Monitoring

Manage alert rules, notification channels, and view alerts.

MethodEndpointDescription
GET/projects/{id}/alertsList alerts (filterable by status, severity)
POST/projects/{id}/alerts/{alertId}/acknowledgeAcknowledge an alert
POST/projects/{id}/alerts/{alertId}/resolveResolve an alert
GET/projects/{id}/alert-rulesList alert rules
POST/projects/{id}/alert-rulesCreate an alert rule
GET/projects/{id}/notification-channelsList notification channels
POST/projects/{id}/notification-channelsCreate a channel
POST/projects/{id}/notification-channels/{channelId}/testSend a test notification
GET/projects/{id}/escalation-policiesList escalation policies
POST/projects/{id}/escalation-policiesCreate a policy

Governance

Manage data classifications, masking policies, and audit logs.

MethodEndpointDescription
GET/projects/{id}/classificationsList data classifications
POST/projects/{id}/classificationsCreate a classification
GET/projects/{id}/masking-policiesList masking policies
POST/projects/{id}/masking-policiesCreate a masking policy
GET/projects/{id}/audit-logsQuery audit logs

Users

Manage users within the tenant.

MethodEndpointDescription
GET/usersList users in the tenant
POST/usersInvite a new user
GET/users/{userId}Get user details
PATCH/users/{userId}Update user role or settings
DELETE/users/{userId}Remove a user

Example: creating a connector

This example creates a PostgreSQL connector, tests the connection, and triggers a sync.

1. Create the connector

Terminal window
curl -X POST "https://acme.rimedata.io/api/v1/projects/proj_01/connectors" \
-H "Authorization: Bearer $RIME_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Production CRM",
"connector_type": "postgresql",
"config": {
"host": "crm-db.internal.acme.co.nz",
"port": 5432,
"database": "crm_production",
"schema": "public"
},
"credentials": {
"username": "rime_readonly",
"password": "secret"
},
"selected_tables": ["customers", "orders", "products"],
"schedule": "0 2 * * *"
}'

Response:

{
"id": "conn_abc123",
"name": "Production CRM",
"connector_type": "postgresql",
"status": "created",
"created_at": "2026-03-05T09:00:00Z"
}

2. Test the connection

Terminal window
curl -X POST "https://acme.rimedata.io/api/v1/projects/proj_01/connectors/conn_abc123/test" \
-H "Authorization: Bearer $RIME_TOKEN"

Response:

{
"success": true,
"message": "Connection successful. 3 tables accessible."
}

3. Trigger a sync

Terminal window
curl -X POST "https://acme.rimedata.io/api/v1/projects/proj_01/connectors/conn_abc123/sync" \
-H "Authorization: Bearer $RIME_TOKEN"

Response:

{
"run_id": "run_xyz789",
"status": "running",
"started_at": "2026-03-05T09:01:00Z"
}

WebSocket endpoints

The API provides WebSocket connections for real-time updates. These are useful for building dashboards or monitoring integrations that need live data without polling.

Pipeline progress

wss://{tenant}.rimedata.io/api/v1/ws/pipelines/{pipelineId}/runs/{runId}

Connect to this endpoint to receive real-time updates as a pipeline run progresses. Messages are JSON objects describing step transitions:

{
"type": "step_update",
"step_id": "step_01",
"step_name": "Extract CRM data",
"status": "completed",
"duration_seconds": 45,
"timestamp": "2026-03-05T09:01:45Z"
}

Alert stream

wss://{tenant}.rimedata.io/api/v1/ws/alerts

Receive real-time alert notifications as they fire, are acknowledged, or are resolved. This is the same data that powers the monitoring dashboard in the web UI.

WebSocket connections require the same Bearer token authentication, passed as a query parameter:

wss://{tenant}.rimedata.io/api/v1/ws/alerts?token=eyJhbGciOi...

Interactive documentation

The Swagger UI at /api/docs provides:

  • Full endpoint listing with parameter descriptions
  • Request and response schema definitions
  • A “Try it out” feature to make live API calls from the browser
  • Authentication support (paste your token to authenticate all requests)

The Swagger specification is also available as a JSON file at /api/docs/openapi.json for use with code generators and API testing tools.

Next steps