Skip to main content
The Metabind REST API provides comprehensive programmatic access to the Metabind platform. Use it to manage components, content types, content, assets, and packages—integrating Metabind into your workflows, automating content operations, or building custom tooling.

API Capabilities

The REST API follows RESTful principles and provides:
  • Component management for view and layout components
  • Package versioning and dependency management
  • Content type definition with template support
  • Content creation and management
  • Asset management with CDN integration for both content and components
  • Role-based access control and user management
  • Multi-platform content delivery

Base URL

All API requests use this base URL:
https://api.metabind.ai
The API has two primary route prefixes:
Route PrefixAuthenticationUse Case
/api/v1/...x-api-key headerClient API (read-only, published content)
/app/v1/...Authorization: Bearer JWTAdmin API (full CRUD operations)
All endpoints are scoped to an organization and project:
/app/v1/organizations/{organizationId}/projects/{projectId}/[resource]

Authentication

API requests require authentication. The method depends on the route: Client API (/api/v1/...) - for consuming published content:
headers: {
  'x-api-key': 'YOUR_API_KEY',
  'Content-Type': 'application/json'
}
Admin API (/app/v1/...) - for content management:
headers: {
  'Authorization': 'Bearer YOUR_JWT',
  'Content-Type': 'application/json'
}

Making Requests

Example Request

curl -X GET "https://api.metabind.ai/app/v1/organizations/org123/projects/proj456/content?status=published" \
  -H "Authorization: Bearer YOUR_JWT"

Example Response

{
  "data": [
    {
      "id": "cont124",
      "typeId": "ct123",
      "typeVersion": 2,
      "version": 1,
      "lastPublishedVersion": 1,
      "packageVersion": "1.0.0",
      "name": "Getting Started Guide",
      "description": "Getting Started with Metabind. A comprehensive guide...",
      "status": "published",
      "isTemplate": false,
      "content": {
        "title": "Getting Started with Metabind",
        "components": [...]
      },
      "tags": ["Tutorial"],
      "metadata": {
        "author": "jane.doe@metabind.ai",
        "publishedAt": "2024-03-21T14:30:00Z",
        "publishedBy": "user123",
        "locale": "en-US"
      },
      "createdAt": "2024-03-21T10:00:00Z",
      "updatedAt": "2024-03-21T14:30:00Z"
    }
  ],
  "pagination": {
    "lastKey": "eyJpZCI6ImNvbnQxMjQifQ=="
  }
}

Next Steps