List posts attached to a contact (cross-board, newest first)
GET
/v1/contacts/{contactId}/posts
const url = 'https://api.spirby.com/v1/contacts/example/posts';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.spirby.com/v1/contacts/example/posts \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ” contactId
required
string
Query Parameters
Section titled “Query Parameters ” cursor
string
limit
integer
Responses
Section titled “ Responses ”Successful response
Media type application/json
object
data
required
Array<object>
A post attached to a contact.
object
authorUserId
required
string | null
boardId
required
string
body
required
string
bodyText
required
string
commentCount
required
integer
contactId
required
string | null
createdAt
required
string format: date-time
deletedAt
required
string | null format: date-time
hideFromRoadmap
required
boolean
id
required
string
mergedIntoId
required
string | null
moderationStatus
required
string
organizationId
required
string
roadmapOrder
required
integer | null
slug
required
string
status
required
string
title
required
string
updatedAt
required
string format: date-time
voteCount
required
integer
nextCursor
required
string | null
Example generated
{ "data": [ { "authorUserId": "example", "boardId": "example", "body": "example", "bodyText": "example", "commentCount": 1, "contactId": "example", "createdAt": "2026-04-15T12:00:00Z", "deletedAt": "2026-04-15T12:00:00Z", "hideFromRoadmap": true, "id": "example", "mergedIntoId": "example", "moderationStatus": "example", "organizationId": "example", "roadmapOrder": 1, "slug": "example", "status": "example", "title": "example", "updatedAt": "2026-04-15T12:00:00Z", "voteCount": 1 } ], "nextCursor": "example"}Missing or invalid API key
Media type application/json
object
error
required
object
code
required
string
details
object
key
additional properties
message
required
string
Example generated
{ "error": { "code": "example", "details": { "additionalProperty": "example" }, "message": "example" }}Scope insufficient (ERR_SCOPE_INSUFFICIENT) or org in readonly billing state (ERR_FORBIDDEN)
Media type application/json
object
error
required
object
code
required
string
details
object
key
additional properties
message
required
string
Example generated
{ "error": { "code": "example", "details": { "additionalProperty": "example" }, "message": "example" }}Validation failed
Media type application/json
object
error
required
object
code
required
string
details
object
key
additional properties
message
required
string
Example generated
{ "error": { "code": "example", "details": { "additionalProperty": "example" }, "message": "example" }}Rate limit exceeded
Media type application/json
object
error
required
object
code
required
string
details
object
key
additional properties
message
required
string
Example generated
{ "error": { "code": "example", "details": { "additionalProperty": "example" }, "message": "example" }}Internal error
Media type application/json
object
error
required
object
code
required
string
details
object
key
additional properties
message
required
string
Example generated
{ "error": { "code": "example", "details": { "additionalProperty": "example" }, "message": "example" }}