Blog Post entity
Read dealership blog post records, publishing state, content, creators, images, SEO fields, and public URLs.
#Endpoints
Blog post records for the dealership site. Detail responses include the rich-text content JSON, hero image, creator, collaborators, state, SEO fields, and public URL.
GET/v1/blog-posts
GET/v1/blog-posts/{id}
x-api-key header.#Filters and Limits
List endpoints share the same pagination envelope. Query booleans use true or false.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | number | No | Number of records to return. Defaults to 100. Maximum is 500. |
| offset | number | No | Number of records to skip. Defaults to 0. |
| search | string | No | Optional text search. Searchable fields are listed on each entity. |
| createdAfter | datetime | No | Return records created at or after an ISO 8601 timestamp. |
| createdBefore | datetime | No | Return records created at or before an ISO 8601 timestamp. |
| updatedAfter | datetime | No | Return records updated at or after an ISO 8601 timestamp. |
| updatedBefore | datetime | No | Return records updated at or before an ISO 8601 timestamp. |
| state | PostState | No | DRAFTPUBLISHEDARCHIVED |
| createdBy | uuid | No | Filter by the UUID of the user who created the post. |
state, createdBy, and search.title, slug, description, and metaTitle.updatedAt descending, then id descending.DRAFTPUBLISHEDARCHIVEDJSON
{
"data": [],
"pagination": {
"limit": 100,
"offset": 0,
"total": 0
}
}#Response
| Field | Type | Nullable | Notes |
|---|---|---|---|
| id | uuid | No | Blog post ID. |
| siteId | uuid | No | Website/site ID for the dealership. |
| title | string | No | Post title. |
| slug | string | No | URL slug used for the public blog post. |
| state | PostState | No | DRAFTPUBLISHEDARCHIVED |
| metaTitle | string | Yes | SEO title override. |
| description | string | Yes | SEO/social description. |
| aiGenerated | boolean | No | Whether the post was AI-generated. |
| publishedAt | datetime | Yes | Publication timestamp. |
| publicUrl | url | Yes | Public blog post URL. |
| content | json | No | Rich-text content JSON on detail responses. |
| createdBy | User | No | User who created the post. |
| collaborators | User[] | No | Users attached as collaborators. |
| heroImage | File | Yes | Hero image metadata. |
| archivedAt | datetime | Yes | Archive timestamp when archived. |
| createdAt | datetime | No | Creation timestamp. |
| updatedAt | datetime | No | Last update timestamp. |
id, siteId, version, title, slug, and state.publishedAt, archivedAt, publicUrl, and aiGenerated.content, description, metaTitle, and heroImage.createdBy and collaborators user summaries.createdAt and updatedAt ISO 8601 timestamps.#Example Request
Shell
curl "https://api.driverseat.io/v1/blog-posts?state=PUBLISHED&limit=25" \
-H "x-api-key: sk-driverseat-..."#Example Response
JSON
{
"data": [
{
"id": "post-id",
"title": "How to Prepare for a Test Drive",
"slug": "prepare-for-a-test-drive",
"state": "PUBLISHED",
"publishedAt": "2026-06-24T12:00:00.000Z",
"publicUrl": "https://example-dealer.com/blog/prepare-for-a-test-drive",
"createdBy": {
"id": "user-id",
"name": "Jane Editor",
"email": "jane@example.com"
}
}
],
"pagination": {
"limit": 25,
"offset": 0,
"total": 1
}
}