Skip to main content
GET
/
v1
/
organizations
/
{organizationId}
/
projects
/
{projectId}
/
content
/
{id}
/
resolved
Get Resolved Content
curl --request GET \
  --url https://api.example.com/v1/organizations/{organizationId}/projects/{projectId}/content/{id}/resolved
{
  "content": "<string>",
  "package": {
    "version": "<string>",
    "components": {},
    "assets": {}
  },
  "dependencies": {}
}
Retrieves everything needed to render a content item, including its compiled code, assets, and all resolved package dependencies. This is the format used by client SDKs to render content.

Path Parameters

organizationId
string
required
Organization ID
projectId
string
required
Project ID
id
string
required
Content ID

Response

content
string
The compiled BindJS code for this content, ready for execution
package
object
The main package containing the components used by this content
dependencies
object
Map of dependency identifiers to their resolved content

Example Response

{
  "content": "const body = () => { const props = {title: 'Getting Started', subtitle: 'Your complete guide', heroImage: 'asset124', author: 'Jane Doe', components: [...]}; return ArticleLayout(props); }",
  "package": {
    "version": "1.0.0",
    "components": {
      "ArticleLayout": "const body = (props, children) => { return VStack([Header(props), ...children]); }",
      "ArticleParagraph": "const body = (props) => { return Text(props.text); }",
      "ArticleHeading": "const body = (props) => { return Text(props.text).font(.headline); }",
      "ArticleImage": "const body = (props) => { return Image(props.image); }"
    },
    "assets": {
      "ArticleLayout": [
        { "name": "hero-image", "url": "https://cdn.metabind.ai/assets/hero-image.jpg" }
      ],
      "ArticleImage": [
        { "name": "dashboard-screenshot", "url": "https://cdn.metabind.ai/assets/dashboard.png" }
      ]
    }
  },
  "dependencies": {
    "[email protected]": {
      "components": {
        "Button": "const body = (props, children) => { ... }",
        "Card": "const body = (props, children) => { ... }"
      },
      "assets": {}
    }
  }
}

Use Cases

Mobile SDK Integration

The resolved format is optimized for client SDKs:
// iOS Swift example
let resolved = try await metabind.getResolvedContent(id: "cont123")

// Execute content code
let contentCode = resolved.content

// Access package components
let articleLayout = resolved.package.components["ArticleLayout"]

// Access dependency components
let button = resolved.dependencies["[email protected]"]?.components["Button"]

Web Rendering

const resolved = await metabind.getResolvedContent('cont123');

// Execute content code with package context
const componentCode = resolved.content;
const packageComponents = resolved.package.components;

// Render with all dependencies available
const renderer = new BindJSRenderer(packageComponents, resolved.dependencies);
renderer.render(componentCode);
When accessed with API keys, returns the latest published version. For optimization scenarios where packages are cached locally, use the standard /content/{id} endpoint to fetch just the content with the compiled field.

Error Responses

Content Not Found

{
  "error": {
    "code": "NOT_FOUND",
    "message": "Content not found"
  }
}

Not Published

When accessed via API key, only published content is returned:
{
  "error": {
    "code": "NOT_PUBLISHED",
    "message": "Content is not published"
  }
}

Code Examples

curl -X GET "https://api.metabind.ai/v1/organizations/org123/projects/proj456/content/cont123/resolved" \
  -H "Authorization: Bearer YOUR_API_KEY"