Management API

Members, activity and summary

Team members, the activity log and the project summary.

Three endpoints for seeing the project as a whole: who’s on the team, what happened, and what needs attention this week.

Members#

List members#

GET/members

Lists the members of the project’s team, the people you can assign documents to with assigneeId. Email addresses aren’t included.

curl "https://api.pmkin.io/members" \
-H "Authorization: Bearer $PMKIN_MANAGEMENT_TOKEN"
Response: 200 OK
[
{
"id": "66f0b2c4d5e6f7a8b9c0d1f0",
"name": "Maja Lind"
},
{
"id": "66f0b2c4d5e6f7a8b9c0d1f1",
"name": "Jonas Berg"
}
]

Activity#

List activity#

GET/activity

The project’s activity log, newest first: who changed what, people and agents alike. actor has the agent’s name in agent when an MCP client made the change, and tool names the MCP tool. Changes made in quick succession can be merged into one entry; count says how many it stands for and updatedAt when the last one happened. Entries are kept for 400 days.

Actions
document.created, document.deleted, document.restoredaction
document.published, document.scheduled, document.unpublishedaction
review.submitted, review.approved, review.changes_requestedaction
status.changedaction
content.updated, details.updatedaction
brief.updated, brief.ready, brief.claimed, brief.withdrawnaction
category.created, category.changed, cluster.created, cluster.changedaction
Query parameters
documentIdstring
limitinteger
offsetinteger
Errors
HttpApiDecodeError400
curl "https://api.pmkin.io/activity?documentId=6704a1f0c2b3d4e5f6a7b8c9&limit=20" \
-H "Authorization: Bearer $PMKIN_MANAGEMENT_TOKEN"
Response: 200 OK
[
{
"action": "status.changed",
"actor": {
"id": "66f0b2c4d5e6f7a8b9c0d1f0",
"name": "Maja Lind",
"type": "user"
},
"count": 1,
"createdAt": "2026-10-08T08:30:00.000Z",
"data": {
"from": "idea",
"to": "planned"
},
"documentId": "6704a1f0c2b3d4e5f6a7b8c9",
"id": "6706f8a9b0c1d2e3f4a5b6c7",
"tool": null
}
]

Summary#

Get the project summary#

GET/summary

An overview of the project: document counts per status, how many briefs are ready, the review queue (oldest submission first), what’s due this week (overdue documents included, earliest first), what’s scheduled (soonest first), and whether Search Console is connected. Each list holds at most 20 documents.

Query parameters
todaystring
Errors
HttpApiDecodeError400
curl "https://api.pmkin.io/summary?today=2026-10-11" \
-H "Authorization: Bearer $PMKIN_MANAGEMENT_TOKEN"
Response: 200 OK
{
"briefCount": 4,
"counts": {
"drafting": 5,
"idea": 12,
"planned": 3,
"published": 41,
"review": 1,
"scheduled": 2
},
"dueThisWeek": [
{
"assigneeId": "66f0b2c4d5e6f7a8b9c0d1f0",
"dueDate": "2026-10-09",
"id": "66fe91a2b3c4d5e6f7a8b9c0",
"status": "drafting",
"title": "Headless CMS migration checklist"
}
],
"inReview": [
{
"id": "6704a1f0c2b3d4e5f6a7b8c9",
"message": "Ready for review. I left the pricing table for last.",
"submittedAt": "2026-10-09T11:00:00.000Z",
"submittedBy": {
"agent": "Claude Code",
"id": "6703f6a7b8c9d0e1f2a3b4c5",
"name": "Writing agent",
"type": "token"
},
"title": "Headless CMS pricing",
"wordCount": 1840
}
],
"scheduled": [
{
"id": "6704a1f0c2b3d4e5f6a7b8ca",
"publishAt": "2026-10-14T09:00:00Z",
"title": "Headless CMS glossary"
}
],
"search": {
"connected": true,
"lastImportAt": "2026-10-10T04:12:09.000Z",
"siteUrl": "sc-domain:example.com",
"status": "active"
},
"weekEndsOn": "2026-10-11"
}