publication:query
Description: Retrieve a single published publication by ID or import_id.
Only published publications are returned. If the publication is a draft or does not exist, a not_found error is returned.
Request Schema
{
"payload": {
"type": "publication:query",
"id": 1
},
"signature": "payload_ed25519_hex_signature",
"source_public_key": "your_client_public_key"
}
Or by import_id:
{
"payload": {
"type": "publication:query",
"import_id": "pub_abc123"
},
"signature": "payload_ed25519_hex_signature",
"source_public_key": "your_client_public_key"
}
Request Attributes
- See global request attributes
-
payload.id- Integer - Arkipel ID of the publication -
payload.import_id- String - External system identifier for the publication
At least one of id or import_id must be provided.
Response Schema
{
"source_public_key": "community_public_key",
"source_site": {
"protocol": "http",
"fqdn": "arkipel.localhost:3000"
},
"created_at": "2025-11-13T20:52:49Z",
"signature": "8b6392d5550605bd6ccddf9c21ebec470de4b44e4b4deb746076e37ab61c5346e07e7c7c7cebb5bbee41cdd92a476bcd3f02373d146ec165b31c31fc31c9ce0d",
"payload": {
"type": "publication:query",
"resource": {
"id": 1,
"import_id": "pub_abc123",
"name": "Superb Article!",
"locale": "en",
"introduction": "The introduction as text",
"content": "<p>She said, \"Hello there!\" and smiled.</p>",
"image_url": "https://unsplash.com/photos/OEvLi8LM7cc/download?force=true&w=640",
"video_url": "https://example.com/videos/demo.mp4",
"updated_at": "2025-11-13T20:52:49Z"
}
}
}
Response Field Constraints
| Field | Type | Constraints |
|---|---|---|
id | Integer | Arkipel ID |
import_id | String | External system identifier |
name | String | Publication title |
locale | Enum | Language. Values: fr, en
|
introduction | String | Introduction or summary text |
content | HTML | Main content. Relative URLs for embedded images are resolved to absolute URLs. See HTML Content Guide |
image_url | URL | Public image URL, if present |
video_url | URL | Public video URL, if present |
updated_at | DateTime | Last update timestamp. Use for change detection. |
Error Responses
Not Found
When the publication does not exist, is not published, or belongs to another account:
{
"source_public_key": "community_public_key",
"source_site": {
"protocol": "http",
"fqdn": "arkipel.localhost:3000"
},
"created_at": "2025-11-13T20:52:49Z",
"signature": "...",
"payload": {
"type": "publication:query"
},
"error": "Publication not found for id: 999999 or import_id: ",
"status": "not_found"
}