Appearance
JSON Schema Reference
Complete field reference for all data types returned by the API and webhook deliveries.
CollectionSummary
Returned in the collections array of GET /v1/collections.
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Unique collection identifier |
name | string | Yes | Collection display name |
contentType | ContentType | Yes | The type of content in this collection |
stagingContentCount | integer | Yes | Number of staging content items (>= 0) |
liveContentCount | integer | Yes | Number of live content items (>= 0) |
createdDate | string (ISO 8601) | Yes | When the collection was created |
lastModifiedDate | string (ISO 8601) | Yes | When the collection was last updated |
url | string (URI) | Yes | Full URL to fetch the collection details |
json
{
"id": "col_abc123",
"name": "Match Day Social Feed",
"contentType": "SOCIAL_POST",
"stagingContentCount": 5,
"liveContentCount": 20,
"createdDate": "2026-01-10T08:00:00.000Z",
"lastModifiedDate": "2026-01-18T10:35:00.000Z",
"url": "https://api.interplai.app/v1/collections/col_abc123"
}Collection
Returned by GET /v1/collections/:id and in webhook data payloads.
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Unique collection identifier |
name | string | Yes | Collection display name |
contentType | ContentType | Yes | The type of content in this collection |
stagingContentCount | integer | Yes | Number of staging content items (>= 0) |
liveContentCount | integer | Yes | Number of live content items (>= 0) |
createdDate | string (ISO 8601) | Yes | When the collection was created |
lastModifiedDate | string (ISO 8601) | Yes | When the collection was last updated |
stagingContents | ContentItem[] | Yes | Array of staging content items |
liveContents | ContentItem[] | Yes | Array of live content items |
ContentItem
Each item in a collection's contents array.
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Unique content item identifier (min length: 1) |
fullName | string | null | Yes | Author display name. Null when not available. |
username | string | null | Yes | Author handle (e.g. @techwriter). Null for platforms without usernames. |
source | Source | Yes | The platform this content came from |
message | string | Yes | The post text content |
profileImageUrl | string | null | Yes | Author avatar URL. Null when not available. |
media | MediaItem[] | Yes | Attached media items. Empty array if no media. |
publishedAt | string (ISO 8601) | Yes | When the content was originally published |
lastModifiedDate | string (ISO 8601) | Yes | When the content was last modified in the platform |
json
{
"id": "content_001",
"fullName": "Sophie Hammer",
"username": "sophiehammer",
"source": "FACEBOOK",
"message": "What a strike! Absolutely incredible goal",
"profileImageUrl": "https://graph.facebook.com/sophie_h/picture",
"media": [
{
"mediaUrl": "https://media.dizplai.com/social-media/2026/01/fb/0.jpg",
"mediaType": "image/jpeg"
}
],
"publishedAt": "2026-01-18T10:30:00.000Z",
"lastModifiedDate": "2026-01-18T10:35:00.000Z"
}MediaItem
Each item in a content item's media array.
| Field | Type | Required | Description |
|---|---|---|---|
mediaUrl | string (URI) | Yes | URL to the media asset |
mediaType | string | Yes | MIME type of the media |
Common MIME types
| MIME Type | Description |
|---|---|
image/jpeg | JPEG image |
image/png | PNG image |
image/gif | Animated GIF |
image/webp | WebP image |
video/mp4 | MP4 video |
PaginationMeta
Returned in the meta field of list and single-collection responses.
List response meta
| Field | Type | Description |
|---|---|---|
page | integer | Current page number (0-indexed) |
pageSize | integer | Items per page |
totalItems | integer | Total number of items across all pages |
totalPages | integer | Total number of pages |
Single collection response meta
| Field | Type | Description |
|---|---|---|
totalItems | integer | Number of content items in this collection |
page | integer | Always 0 |
pageSize | integer | Same as totalItems |
ErrorResponse
Returned for all error responses (4xx, 5xx).
| Field | Type | Required | Description |
|---|---|---|---|
error | object | Yes | Error details container |
error.code | string | Yes | Machine-readable error code |
error.message | string | Yes | Human-readable description |
error.details | object | No | Additional context (e.g. field validation errors) |
json
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Request validation failed",
"details": {
"fields": [
{ "field": "page", "message": "Must be a non-negative integer" }
]
}
}
}WebhookPayload
Delivered to registered webhook endpoints.
| Field | Type | Description |
|---|---|---|
event | string | Event type (e.g. COLLECTION_UPDATED) |
collectionId | string | The ID of the affected collection |
timestamp | string (ISO 8601) | When the event occurred |
data | Collection | Full collection data |

