← Back to Console Docs

API Reference

API endpoints used by the Calibrate Console

Base URL

https://api.calibr.lat

All API requests from the console are made to this base URL. Authentication is handled via API tokens.

Authentication

The console uses Bearer token authentication:

Authorization: Bearer <token>

Tokens are automatically generated during login and included in all API requests.

Price Changes API

GET /api/v1/price-changes

List price changes with filters and pagination

QUERY PARAMETERS:
  • • project: Project slug (required)
  • • status: Filter by status (PENDING, APPROVED, etc.)
  • • q: Search query (SKU or source)
  • • cursor: Pagination cursor
  • • limit: Results per page (default: 25)
POST /api/v1/price-changes/:id/approve

Approve a pending price change

POST /api/v1/price-changes/:id/apply

Apply an approved price change to platforms

POST /api/v1/price-changes/:id/reject

Reject a price change

POST /api/v1/price-changes/:id/rollback

Rollback an applied price change

Catalog API

GET /api/v1/catalog

Get product catalog for a project

QUERY PARAMETERS:
  • • project: Project slug (required)
  • • productCode: Filter by specific product

AI Assistant API

POST /api/v1/assistant/query

Submit a natural language query

REQUEST BODY:
{
  "query": "What are my most expensive products?",
  "projectSlug": "demo"
}

Platforms API

GET /api/platforms

List available platforms

GET /api/platforms/:platform

Get platform connection status

QUERY PARAMETERS:
  • • project: Project slug (required)
POST /api/platforms/:platform/sync

Trigger manual sync for a platform

GET /api/platforms/:platform/sync/status

Get sync status and history

Data Models

PriceChange

{
  "id": "string",
  "status": "PENDING" | "APPROVED" | "APPLIED" | "REJECTED" | "ROLLED_BACK" | "FAILED",
  "currency": "USD",
  "fromAmount": 2999,  // in cents
  "toAmount": 3499,    // in cents
  "createdAt": "2024-01-15T10:30:00Z",
  "source": "ai" | "rule" | "manual",
  "context": {
    "skuCode": "SKU-123",
    ...
  },
  "policyResult": {
    "ok": true,
    "checks": [...]
  },
  "connectorStatus": {
    "target": "shopify",
    "state": "QUEUED" | "SYNCING" | "SYNCED" | "ERROR",
    "errorMessage": null,
    "updatedAt": "2024-01-15T10:35:00Z"
  }
}

Product

{
  "code": "PROD-001",
  "name": "Example Product",
  "skus": [
    {
      "code": "SKU-001",
      "prices": [
        {
          "currency": "USD",
          "amount": 2999  // in cents
        }
      ]
    }
  ]
}

Rate Limits

API requests are rate-limited to ensure fair usage:

  • • 100 requests per minute per user
  • • 1000 requests per hour per project
  • • Rate limit headers included in responses

Full API Documentation

For complete API documentation with interactive examples, visit:

https://docs.calibr.lat