Tool reference
Every tool the PMKIN MCP server offers, and its arguments.
The PMKIN MCP server has 59 tools. They call the same code as the Management API, so the rules, limits and error messages are the same. This page is generated from the server’s own tool list, so it always matches what tools/list returns.
On https://mcp.pmkin.io/mcp, one connection reaches every project you can access, so every tool except list_projects and search_documents takes a projectId. On a connection to one project (a management token, or /p/<projectId>) you can leave it out.
Badges come from each tool’s annotations: Read-only tools change nothing, and Destructive ones remove or overwrite something, so clients may ask you before running them.
Projects and search#
Find the projects a connection reaches, and documents in all of them.
list_projects#
Lists the projects you can use, by team and name, with their ids. Pass a project's id as projectId to the other tools.
No arguments.
search_documents#
Finds documents whose title, slug, excerpt or markdown contains the text, ignoring case, in all your projects or in one. Title matches come first, then the most recently updated. Returns each document's id, project, title, slug, status and matchedIn, the fields that matched. Read one with get_document and its projectId.
qstringrequired- The text to find, such as
headless cms. Up to 200 characters. limitinteger- At most this many results. Defaults to 20. From 1 to 50.
projectIdstring- Search only this project, from list_projects. Leave out to search all.
list_documents#
Lists the project's documents, most recently updated first, without their content: status, assignee, due date, word count and who last edited them. Filters combine.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
assigneeIdstring- Only documents assigned to this member id, or
nonefor unassigned ones. categoryIdstring- Only documents in this category id, or
nonefor uncategorized ones. clusterIdstring- Only documents in this cluster id, or
nonefor ones in no cluster. dueAfterstring- Only documents due on or after this YYYY-MM-DD.
dueBeforestring- Only documents due on or before this YYYY-MM-DD.
limitinteger- At most this many results. From 1 to 100.
offsetinteger- Skip this many results, for paging. At least 0.
qstring- Only documents whose title contains this text.
statusstring- Only documents with these statuses, separated by commas: idea, planned, drafting, review, scheduled, published.
get_document#
Gets a document with its markdown content, version, status, assignee, cluster, due date, word count, publishAt when scheduled and review (the reviewer's feedback when it was sent back). Read a document before changing it and pass its version as baseVersion.
idstringrequired- The document id, from list_documents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
Plan and organize#
Start documents, ideas, categories and clusters as private drafts (intents), confirm them, and organize what exists.
- get_project_summary
- list_members
- create_document_intent
- list_document_intents
- get_document_intent
- update_document_intent
- confirm_document_intent
- discard_document_intent
- list_categories
- create_category_intent
- list_category_intents
- get_category_intent
- update_category_intent
- confirm_category_intent
- discard_category_intent
- update_category
- delete_category
- list_clusters
- get_cluster
- create_cluster_intent
- list_cluster_intents
- get_cluster_intent
- update_cluster_intent
- confirm_cluster_intent
- discard_cluster_intent
- update_cluster
- delete_cluster
get_project_summary#
The project at a glance: how many documents are in each status and how many have a brief (briefCount), the review queue (oldest first, with who submitted each), planned and drafting documents due this week (overdue included) and what's scheduled. Lists hold at most 20 documents each.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
todaystring- Today's date where the reader is, as YYYY-MM-DD. Decides which week is this week (Monday to Sunday). Defaults to today in UTC.
list_members#
Lists the people on the project's team, for a document's assigneeId. Agents are not assignees.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
create_document_intent#
Starts a private draft of a document. Only field types and lengths are checked, so pass what you know now and fill in the rest with update_document_intent. confirm_document_intent creates the document. A draft with a brief and no status becomes an idea; one without a brief becomes drafting.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
assigneeIdstring | null- The id of the team member responsible, from list_members. null unassigns. Agents can't be assignees.
briefobject | null- What to write. The document's brief starts in state none; offer it to agents with update_brief and
state: ready. categoryIdstring | null- The category id, from list_categories. null removes the category.
clusterIdstring | null- The topic cluster the document belongs to, from list_clusters. null takes it out of its cluster.
dueDatestring | null- When the draft is due, as YYYY-MM-DD. null clears it. Up to 10 characters.
markdownstring | null- The document body as GFM markdown. At most 2 MB.
slugstring | null- The URL path segment, such as
my-first-post. Up to 200 characters. status"idea" | "planned" | "drafting" | null- The workflow status: idea, planned or drafting. Leave it out for drafting, or idea when the draft has a brief. Up to 20 characters.
titlestring | null- The title. Up to 300 characters.
list_document_intents#
Lists your document drafts, most recently updated first, at most 100. Drafts are private: nobody else sees yours. The list leaves out each draft's markdown; get_document_intent has it.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
get_document_intent#
Gets one of your document drafts with its fields.
idstringrequired- The draft id, from create_document_intent or list_document_intents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
update_document_intent#
Changes one of your document drafts. Only the fields you pass change; null clears one. brief replaces the whole brief.
idstringrequired- The draft id, from create_document_intent or list_document_intents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
assigneeIdstring | null- The id of the team member responsible, from list_members. null unassigns. Agents can't be assignees.
briefobject | null- What to write. The document's brief starts in state none; offer it to agents with update_brief and
state: ready. categoryIdstring | null- The category id, from list_categories. null removes the category.
clusterIdstring | null- The topic cluster the document belongs to, from list_clusters. null takes it out of its cluster.
dueDatestring | null- When the draft is due, as YYYY-MM-DD. null clears it. Up to 10 characters.
markdownstring | null- The document body as GFM markdown. At most 2 MB.
slugstring | null- The URL path segment, such as
my-first-post. Up to 200 characters. status"idea" | "planned" | "drafting" | null- The workflow status: idea, planned or drafting. Leave it out for drafting, or idea when the draft has a brief. Up to 20 characters.
titlestring | null- The title. Up to 300 characters.
confirm_document_intent#
Creates the document from your draft and deletes the draft. Every field is checked first: when anything is missing or invalid, nothing is created and the error lists every problem at once. Fix them with update_document_intent and confirm again.
idstringrequired- The draft id, from create_document_intent or list_document_intents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
discard_document_intent#
Deletes one of your document drafts for good. Nothing else changes.
idstringrequired- The draft id, from create_document_intent or list_document_intents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
list_categories#
Lists the project's categories with their descriptions, which say what belongs in each. Use a category's id as a document's categoryId.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
create_category_intent#
Starts a private draft of a category. Only field types and lengths are checked, so pass what you know now and fill in the rest with update_category_intent. confirm_category_intent creates the category. The description is shown on the category page and read by agents as context, so say what belongs in it. The slug is lowercase and unique in the project. Pass categoryId to nest it under a parent.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
categoryIdstring | null- The parent category id, from list_categories. Leave out for a top-level category.
descriptionstring | null- What belongs in this category. Shown on the category page and read by agents. Up to 2000 characters.
namestring | null- The category's name, such as
AI technology. Up to 200 characters. slugstring | null- The URL path segment, lowercase with hyphens, such as
ai-technology. Up to 200 characters.
list_category_intents#
Lists your category drafts, most recently updated first, at most 100. Drafts are private: nobody else sees yours.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
get_category_intent#
Gets one of your category drafts with its fields.
idstringrequired- The draft id, from create_category_intent or list_category_intents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
update_category_intent#
Changes one of your category drafts. Only the fields you pass change; null clears one. Leave out categoryId, or clear it, for a top-level category.
idstringrequired- The draft id, from create_category_intent or list_category_intents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
categoryIdstring | null- The parent category id, from list_categories. Leave out for a top-level category.
descriptionstring | null- What belongs in this category. Shown on the category page and read by agents. Up to 2000 characters.
namestring | null- The category's name, such as
AI technology. Up to 200 characters. slugstring | null- The URL path segment, lowercase with hyphens, such as
ai-technology. Up to 200 characters.
confirm_category_intent#
Creates the category from your draft and deletes the draft. Every field is checked first: when anything is missing or invalid, nothing is created and the error lists every problem at once. Fix them with update_category_intent and confirm again.
idstringrequired- The draft id, from create_category_intent or list_category_intents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
discard_category_intent#
Deletes one of your category drafts for good. Nothing else changes.
idstringrequired- The draft id, from create_category_intent or list_category_intents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
update_category#
Changes a category. Send all of name, slug and description; omitting categoryId makes it a top-level category. Documents keep their category.
descriptionstringrequired- What belongs in this category. Shown on the category page and read by agents.
idstringrequired- The category id, from list_categories.
namestringrequired- The category's name, such as
AI technology. projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
slugstringrequired- The URL path segment, lowercase with hyphens, such as
ai-technology. categoryIdstring- The parent category id, from list_categories. Leave out for a top-level category.
delete_category#
Deletes a category for good. Its documents stay but lose the category, and its child categories become top-level. This can't be undone.
idstringrequired- The category id, from list_categories.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
list_clusters#
Lists the project's topic clusters by name: keywords, description and progress (published of total documents). Use a cluster's id as a document's clusterId.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
get_cluster#
Gets a topic cluster with its keywords, progress and documents (id, title, status and slug each, furthest along first), to see what's covered and what's missing.
idstringrequired- The cluster id, from list_clusters.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
create_cluster_intent#
Starts a private draft of a topic cluster. Only field types and lengths are checked, so pass what you know now and fill in the rest with update_cluster_intent. confirm_cluster_intent creates the topic cluster. A topic cluster groups documents around one topic and its keywords. Add documents to it after confirming, with update_document_details and clusterId.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
descriptionstring | null- What the cluster covers and who it's for. Up to 2,000 characters. Read by agents as context. Up to 2000 characters.
keywordsstring[] | null- The search keywords the cluster targets, such as
headless cms. Up to 50; repeats are dropped. At most 50 items. namestring | null- The cluster's name, such as
Headless CMS. Unique in the project. Up to 100 characters.
list_cluster_intents#
Lists your topic cluster drafts, most recently updated first, at most 100. Drafts are private: nobody else sees yours.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
get_cluster_intent#
Gets one of your topic cluster drafts with its fields.
idstringrequired- The draft id, from create_cluster_intent or list_cluster_intents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
update_cluster_intent#
Changes one of your topic cluster drafts. Only the fields you pass change; null clears one. keywords replaces the whole list.
idstringrequired- The draft id, from create_cluster_intent or list_cluster_intents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
descriptionstring | null- What the cluster covers and who it's for. Up to 2,000 characters. Read by agents as context. Up to 2000 characters.
keywordsstring[] | null- The search keywords the cluster targets, such as
headless cms. Up to 50; repeats are dropped. At most 50 items. namestring | null- The cluster's name, such as
Headless CMS. Unique in the project. Up to 100 characters.
confirm_cluster_intent#
Creates the topic cluster from your draft and deletes the draft. Every field is checked first: when anything is missing or invalid, nothing is created and the error lists every problem at once. Fix them with update_cluster_intent and confirm again.
idstringrequired- The draft id, from create_cluster_intent or list_cluster_intents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
discard_cluster_intent#
Deletes one of your topic cluster drafts for good. Nothing else changes.
idstringrequired- The draft id, from create_cluster_intent or list_cluster_intents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
update_cluster#
Changes a topic cluster's name, description or keywords. Only the fields you pass change; keywords replaces the whole list.
idstringrequired- The cluster id, from list_clusters.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
descriptionstring | null- What the cluster covers and who it's for. Up to 2,000 characters. Read by agents as context.
keywordsstring[] | null- The search keywords the cluster targets, such as
headless cms. Up to 50; repeats are dropped. At most 50 items. namestring- The cluster's name, such as
Headless CMS. Unique in the project.
delete_cluster#
Deletes a topic cluster for good. Its documents stay but leave the cluster. This can't be undone.
idstringrequired- The cluster id, from list_clusters.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
Briefs#
Offer work to agents with a brief, and claim a brief so no other agent takes it.
list_briefs#
Lists briefs, due soonest first: the document's id, title, status and due date, and the brief's keyword, intent, state and category name. Defaults to ready briefs, the ones waiting for a writer.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
limitinteger- At most this many results. From 1 to 100.
offsetinteger- Skip this many results, for paging. At least 0.
statestring- Brief states separated by commas: none, ready, claimed, drafted. Defaults to ready.
get_brief#
Gets a document's brief with the document's status, due date and version, its category with the description (context for what belongs there) and the titles and slugs of the internal links. brief is null when the document has none.
idstringrequired- The document id, from list_documents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
update_brief#
Changes a document's brief. Only the fields you pass change; null clears one. state: ready offers the brief to agents and state: none withdraws it (you can release your own claim, not another agent's). Returns the brief as get_brief does.
idstringrequired- The document id, from list_documents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
audiencestring | null- Who the document is for, such as
Marketing leads evaluating a headless CMS. intentstring | null- What the searcher wants: informational, commercial, transactional or navigational.
internalLinksstring[] | null- Ids of documents in this project to link to, from list_documents. Up to 50. At most 50 items.
keywordstring | null- The search keyword the document targets, such as
pmkin vs contentful. notesstring | null- Anything that doesn't fit the other fields. Up to 5,000 characters.
outlinestring | null- The points or sections to cover, in order, as free text. Up to 5,000 characters.
referenceUrlsstring[] | null- Full http or https URLs to use as sources. Up to 50. At most 50 items.
state"ready" | "none"- ready offers the brief to agents; none withdraws it.
wordCountstring | null- The target length as free text, such as
2,000–2,500.
claim_brief#
Claims a ready brief so no other agent takes it, and moves the document to drafting. Returns the brief as get_brief does. Fails with who claimed it when someone was first.
idstringrequired- The document id, from list_documents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
Write and images#
Write and edit the draft, set the details and SEO fields, and add images.
- replace_document_content
- edit_document
- update_document_details
- import_image
- upload_image
- create_image_upload
- complete_image_upload
replace_document_content#
Replaces the whole draft body. For changes to part of a document, use edit_document instead.
baseVersionintegerrequired- The
versionfrom your last read of the document. The write fails if the document changed since. At least 0. idstringrequired- The document id, from list_documents.
markdownstringrequired- The document body as GFM markdown. At most 2 MB.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
messagestring- A short note for the revision history: what you changed and why. Up to 500 characters.
edit_document#
Changes part of the draft body with exact-text edits, applied in order. If any edit fails, nothing is written.
Each edit is one of:
{"oldText": "...", "newText": "..."}: replacesoldText, which must match exactly one place. Copy it from the content, including whitespace and markdown syntax.{"append": "..."}: adds a paragraph at the end.{"prepend": "..."}: adds a paragraph at the start.
baseVersionintegerrequired- The
versionfrom your last read of the document. The write fails if the document changed since. At least 0. editsobject[]required- At least 1 item.
idstringrequired- The document id, from list_documents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
messagestring- A short note for the revision history: what you changed and why. Up to 500 characters.
update_document_details#
Changes a document's title, slug, subtitle, excerpt, category, publish date, status, assignee, cluster, due date, cover image, or SEO meta title and description. Only the fields you pass change. A published document's live details change right away; its body does not.
idstringrequired- The document id, from list_documents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
assigneeIdstring | null- The id of the team member responsible, from list_members. null unassigns. Agents can't be assignees.
categoryIdstring | null- The category id, from list_categories. null removes the category.
clusterIdstring | null- The topic cluster the document belongs to, from list_clusters. null takes it out of its cluster.
coverImageUrlstring | null- The full URL of the cover image websites show with the document, such as
https://example.com/cover.jpg. null or an empty string removes it. dueDatestring | null- When the draft is due, as YYYY-MM-DD. null clears it.
excerptstring- A short summary shown in lists.
metaDescriptionstring- The SEO description search engines show. Keep it under about 160 characters.
metaTitlestring- The SEO title search engines show, when it should differ from the title.
publishedAtstring- The publish date as an ISO 8601 timestamp. Defaults to now on first publish.
slugstring- The URL path segment, such as
my-first-post. status"idea" | "planned" | "drafting"- The workflow status. Review, scheduled and published are reached through their own actions: submit_for_review, approve_document, publish_document and schedule_document. Setting idea, planned or drafting on a document in review sends it back without feedback.
subtitlestring- The subtitle.
titlestring- The title.
import_image#
Copies an image from a public URL into pmkin's image storage and returns its pmkin url and a markdown line to insert. Use it instead of linking to images on other sites.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
urlstringrequired- The image's full http(s) URL, pointing at the image itself.
altstring- What the image shows, for readers who can't see it. Goes in the returned markdown.
upload_image#
Stores image bytes you have (for example a generated image or a screenshot), base64-encoded, up to 5 MB. Returns the image's url and a markdown line. For larger files use create_image_upload.
datastringrequired- The image file, base64-encoded (a data: URL prefix is accepted). JPEG, PNG, WebP, GIF or AVIF.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
altstring- What the image shows, for readers who can't see it. Goes in the returned markdown.
create_image_upload#
Starts an upload of up to 10 MB: returns an uploadUrl valid for 10 minutes. PUT the file's bytes to it with exactly the returned headers and a Content-Length of size, then call complete_image_upload with the imageId.
contentType"image/jpeg" | "image/png" | "image/webp" | "image/gif" | "image/avif"required- The file's type.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
sizeintegerrequired- The file's size in bytes. From 1 to 10485760.
complete_image_upload#
Confirms an upload started with create_image_upload once the PUT succeeded. Returns the image's url and a markdown line.
imageIdstringrequired- The
imageIdfrom create_image_upload. projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
altstring- What the image shows, for readers who can't see it. Goes in the returned markdown.
Review and publish#
Submit for review, approve or ask for changes, then publish now or on a date.
- submit_for_review
- approve_document
- request_changes
- publish_document
- schedule_document
- unschedule_document
- unpublish_document
- delete_document
- restore_document
submit_for_review#
Sends a document to review, so a person (or a reviewer agent) can approve it or request changes. The draft must have content. A published document stays live while it's in review. A claimed brief becomes drafted.
idstringrequired- The document id, from list_documents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
messagestring- A note for the reviewer: what you wrote and what to check. Up to 2,000 characters.
approve_document#
Approves a document in review: publishes it now, or schedules it with a future publishAt. The document needs a title and a slug.
idstringrequired- The document id, from list_documents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
publishAtstring- When to publish, as an ISO 8601 timestamp with a time zone, such as 2026-10-20T09:00:00Z. Must be in the future.
request_changes#
Sends a document in review back to drafting with feedback for whoever revises it. They read it as review.feedback from get_document.
idstringrequired- The document id, from list_documents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
feedbackstring- What to change and why. Up to 5,000 characters.
publish_document#
Publishes the current draft, so websites serve it. With a future publishAt, schedules the current version to publish then instead. Details you pass are saved first; the document needs a title and a slug.
idstringrequired- The document id, from list_documents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
categoryIdstring | null- The category id, from list_categories. null removes the category.
excerptstring- A short summary shown in lists.
publishAtstring- When to publish, as an ISO 8601 timestamp with a time zone, such as 2026-10-20T09:00:00Z. Must be in the future.
publishedAtstring- The publish date as an ISO 8601 timestamp. Defaults to now on first publish.
slugstring- The URL path segment, such as
my-first-post. subtitlestring- The subtitle.
titlestring- The title.
schedule_document#
Schedules the current version to publish at publishAt. On a scheduled document, moves the date and keeps the approved version. The document needs a title and a slug.
idstringrequired- The document id, from list_documents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
publishAtstringrequired- When to publish, as an ISO 8601 timestamp with a time zone, such as 2026-10-20T09:00:00Z. Must be in the future.
unschedule_document#
Cancels a scheduled publish. The document goes back to drafting, or to review with status: review.
idstringrequired- The document id, from list_documents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
status"drafting" | "review"- Where the document goes back to. Defaults to drafting.
unpublish_document#
Takes a document off websites. The draft and its history stay.
idstringrequired- The document id, from list_documents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
delete_document#
Deletes a document: it leaves every list and websites stop serving it. A scheduled document loses its schedule and goes back to drafting. This can be undone with restore_document.
idstringrequired- The document id, from list_documents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
restore_document#
Brings back a deleted document with its content, status and history. A document that was published is live again. Find the ids of deleted documents in list_activity (document.deleted).
idstringrequired- The deleted document's id, from list_activity.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
History and activity#
Go back to earlier content, and see who changed what in the project.
list_revisions#
Lists a document's revisions, newest first, without their content: version, author, source, message and whether it was published.
idstringrequired- The document id, from list_documents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
limitinteger- At most this many results. From 1 to 100.
offsetinteger- Skip this many results, for paging. At least 0.
get_revision#
Gets one revision of a document with its content.
idstringrequired- The document id, from list_documents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
versionintegerrequired- At least 0.
restore_revision#
Writes an earlier revision's content as a new version of the draft. History is kept, so this can be undone.
baseVersionintegerrequired- The
versionfrom your last read of the document. The write fails if the document changed since. At least 0. idstringrequired- The document id, from list_documents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
versionintegerrequired- The revision to restore. At least 0.
messagestring- A short note for the revision history: what you changed and why. Up to 500 characters.
list_activity#
Lists recent changes in the project, newest first: who did what to which document, and with which tool. Pass documentId for one document's history.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
documentIdstring- Only this document's activity.
limitinteger- At most this many results. From 1 to 100.
offsetinteger- Skip this many results, for paging. At least 0.
Search Console#
Read Google Search Console data once the project is connected, to plan and update content.
get_search_summary#
Google Search Console totals for the project's site: clicks, impressions, CTR and average position for the last 28 days of final data and the 28 days before, plus daily clicks and impressions. Data is about three days behind. Fails with a message when Search Console isn't connected or its first import hasn't finished.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
daysinteger- How many days of daily numbers to include. Defaults to 90. From 7 to 480.
list_search_queries#
Search queries the site appeared for in the last 28 days, with clicks, impressions, CTR, average position, the previous 28 days' numbers, and the document whose page got the most impressions for it (null when no document matches). Use it to pick keywords for briefs; check list_briefs first so a keyword isn't planned twice. A query with many impressions but a position past 10, or no document, is a candidate for a new idea.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
documentIdstring- Only queries this document's pages appeared for, from list_documents.
limitinteger- Defaults to 50. From 1 to 100.
offsetinteger- For the next page;
totalsays how many there are. At least 0. qstring- Only queries containing this text, ignoring case.
sort"clicks" | "impressions" | "ctr" | "position"- Defaults to clicks. position sorts best first.
list_search_pages#
The site's pages in Google search over the last 28 days, with clicks, impressions, CTR, average position, the previous 28 days' numbers and the matching document (null for pages that aren't pmkin documents).
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.
limitinteger- Defaults to 50. From 1 to 100.
offsetinteger- At least 0.
sort"clicks" | "impressions" | "ctr" | "position"- Defaults to clicks.
get_document_search_performance#
How a document does in Google search: totals for the last 28 days and the 28 before, 90 days of daily clicks and impressions, and its 10 top queries. Read it before updating a live document so the update keeps what already ranks.
idstringrequired- The document id, from list_documents.
projectIdstringrequired- The project to work in, by id. list_projects lists the projects you can use.