GET
Blueprints
Blueprints API
https://api.airogelcms.com/v1/accounts/:account_id/blueprints
Blueprints define the field schema for content. They specify what fields exist and their types.
Supported Operations
- GET /v1/accounts/:account_id/blueprints - List all blueprints
- GET /v1/accounts/:account_id/blueprints/:id - Get a specific blueprint
- POST /v1/accounts/:account_id/blueprints - Create a new blueprint
- PUT /v1/accounts/:account_id/blueprints/:id - Update a blueprint
- DELETE /v1/accounts/:account_id/blueprints/:id - Delete a blueprint
Field Types
| API Type | Internal Type | Description |
|---|---|---|
| text | BlueprintFieldText | Plain text |
| rich_text | BlueprintFieldRichText | HTML content |
| image | BlueprintFieldImage | Image attachment |
| video | BlueprintFieldVideo | Video embed (YouTube/Vimeo) |
| gallery | BlueprintFieldGallery | Multiple images |
| template | BlueprintFieldTemplate | Template reference |
| entity | BlueprintFieldEntity | Reference to another entry |
| collection | BlueprintFieldCollection | Dynamic collection query |
| toggle | BlueprintFieldToggle | Boolean |
| enumerate | BlueprintFieldEnumerate | Select/dropdown |
| list | BlueprintFieldList | Repeatable items |
| dictionary | BlueprintFieldDictionary | Key-value pairs |
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
account_id
|
string | Required | Your account ID |
handle
|
string | Optional | Filter by exact handle match |
page
|
integer | Optional | Page number (default: 1) |
Request Example
# List blueprints
curl https://api.airogelcms.com/v1/accounts/$ACCOUNT_ID/blueprints \
-H "Authorization: Bearer $API_TOKEN"
# Create blueprint
curl -X POST \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Blog Post",
"handle": "blog-post",
"fields": [
{"handle": "body", "display": "Body", "type": "rich_text", "position": 1},
{"handle": "excerpt", "display": "Excerpt", "type": "text", "position": 2},
{"handle": "featured_image", "display": "Featured Image", "type": "image", "position": 3}
]
}' \
https://api.airogelcms.com/v1/accounts/$ACCOUNT_ID/blueprints
Response Example
{
"data": [
{
"id": "blprt_abc123",
"handle": "blog-post",
"title": "Blog Post",
"created_at": "2025-01-08T12:00:00Z",
"updated_at": "2025-01-08T12:00:00Z",
"fields": [
{
"handle": "body",
"display": "Body",
"type": "BlueprintFieldRichText",
"position": 1,
"options": {}
}
]
}
],
"pagination": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"per_page": 25
}
}
Additional Notes
Important: The handle is auto-generated from title if not provided.
Updating fields: When updating a blueprint, new fields are added, existing fields (matched by handle) are updated, and fields not included in the request are removed.