Content Requests tools include field-level argument descriptions and runnable examples for MCP clients.
Pagination: list tools use page + page_size and return items with pagination (including has_more and next_page). Default page size is 50 (max 200).
Tools Covered
| Tool | Mutation | Backend Routes |
|---|---|---|
content_request_create |
Yes | /content-change-request/send-change-request |
content_request_list_my |
No | /content-change-request/my-requests/list |
content_request_list_queue |
No | /approval-dashboard/approvals/change-requests/list |
content_request_report |
No | /approval-dashboard/approvals/change-requests/list |
content_request_list_assignable_users |
No | /content-change-request/assignable-users |
content_request_assign |
Yes | /content-change-request/assign-change-request |
content_request_respond |
Yes | /content-change-request/respond-change-request |
content_request_approve |
Yes | /content-change-request/accept-change-request |
content_request_reject |
Yes | /content-change-request/reject-change-request |
content_request_revoke |
Yes | /content-change-request/revoke-change-request |
content_request_add_comment |
Yes | /content-change-request/add-comment |
content_request_create
Create a content change request for a content item.
Backend routes: /content-change-request/send-change-request
Arguments
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
content_id |
string | Yes | Primary content ID targeted by this operation. | KBD0215806635290000000000 |
request_scope |
string (general | pitch) | No | Content request context. `general` for non-dealroom requests, `pitch` for dealroom-tied requests. | general |
custom_message |
string | No | Optional contextual message shown to assignees/reviewers for content request workflows. | Need a shorter healthcare one-pager before Friday call. |
selected_assignee_ids |
array | No | Preferred user IDs to route a new content request to. | ["IGH3196545022710000000000"] |
viewer_id |
string | No | Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. | IGH6969811447860000000000 |
organisation_id |
string | No | Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. | PDX7478889578460000000000 |
idempotency_key |
string | No | Client supplied unique key for mutation safety. Re-using the same key returns the cached mutation result instead of executing again. | mcp-mutation-2026-05-13-001 |
Example Request
Create a general content request
{
"jsonrpc": "2.0",
"id": "content_request_create-1",
"method": "tools/call",
"params": {
"name": "content_request_create",
"arguments": {
"content_id": "KBD0215806635290000000000",
"request_scope": "general",
"custom_message": "Need an industry specific version by Friday",
"selected_assignee_ids": [
"IGH3196545022710000000000"
]
}
}
}
Example Success
{
"success": true,
"data": {
"tool": "content_request_create",
"note": "Payload shape depends on tenant data and backend route output."
},
"error": null
}
Example Failure
{
"success": false,
"data": null,
"error": {
"code": "INVALID_ARGUMENTS",
"message": "Missing or invalid parameters for content_request_create.",
"status": 400,
"retryable": false
}
}
content_request_list_my
List current user content change requests.
Backend routes: /content-change-request/my-requests/list
Arguments
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
request_scope |
string (general | pitch) | No | Content request context. `general` for non-dealroom requests, `pitch` for dealroom-tied requests. | general |
page |
number | No | Pagination page number (1-based). Defaults to 1. Defaults to 1. | 1 |
page_size |
number | No | Number of rows per page. Defaults to 50, maximum 200. Defaults to 50, maximum 200. | 50 |
limit |
number | No | Legacy maximum record cap used by specific endpoints. Prefer page + page_size for list navigation. |
200 |
viewer_id |
string | No | Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. | IGH6969811447860000000000 |
organisation_id |
string | No | Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. | PDX7478889578460000000000 |
Example Request
List my own content requests (page 1)
{
"jsonrpc": "2.0",
"id": "content_request_list_my-1",
"method": "tools/call",
"params": {
"name": "content_request_list_my",
"arguments": {
"request_scope": "general",
"page": 1,
"page_size": 50
}
}
}
Example Success
{
"success": true,
"data": {
"tool": "content_request_list_my",
"note": "Payload shape depends on tenant data and backend route output."
},
"error": null
}
Example Failure
{
"success": false,
"data": null,
"error": {
"code": "INVALID_ARGUMENTS",
"message": "Missing or invalid parameters for content_request_list_my.",
"status": 400,
"retryable": false
}
}
content_request_list_queue
List content change requests for approval/assignment workflow.
Backend routes: /approval-dashboard/approvals/change-requests/list
Arguments
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
search |
string | No | Free-text search term for list endpoints. | banking |
page |
number | No | Pagination page number (1-based). Defaults to 1. | 1 |
page_size |
number | No | Number of rows per page. Defaults to 50, maximum 200. | 50 |
sort_column |
string | No | Server-side sortable column key. | updated_at |
sort_order |
string (asc | desc | ASC | DESC) | No | Sort direction. | DESC |
filters |
object | No | Structured filter object passed through to backend list/search endpoints. | {"source":["PDF"],"tags":["TAG1775..."]} |
status |
array | No | Status filter list. | ["Pending Approval","Picked Up"] |
requested_by |
array | No | Filter by requester user IDs. | ["IGH6969811447860000000000"] |
picked_up_by |
array | No | Filter by owner/assignee user IDs. | ["IGH3196545022710000000000"] |
viewer_id |
string | No | Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. | IGH6969811447860000000000 |
organisation_id |
string | No | Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. | PDX7478889578460000000000 |
Example Request
List queue with status filter
{
"jsonrpc": "2.0",
"id": "content_request_list_queue-1",
"method": "tools/call",
"params": {
"name": "content_request_list_queue",
"arguments": {
"search": "security",
"page": 1,
"page_size": 50,
"status": [
"Pending Approval"
],
"sort_order": "DESC"
}
}
}
Example Success
{
"success": true,
"data": {
"tool": "content_request_list_queue",
"note": "Payload shape depends on tenant data and backend route output."
},
"error": null
}
Example Failure
{
"success": false,
"data": null,
"error": {
"code": "INVALID_ARGUMENTS",
"message": "Missing or invalid parameters for content_request_list_queue.",
"status": 400,
"retryable": false
}
}
content_request_report
Summarize content request queue with status and owner distribution.
Backend routes: /approval-dashboard/approvals/change-requests/list
Arguments
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
search |
string | No | Free-text search term for list endpoints. | banking |
sort_column |
string | No | Server-side sortable column key. | updated_at |
sort_order |
string (asc | desc | ASC | DESC) | No | Sort direction. | DESC |
filters |
object | No | Structured filter object passed through to backend list/search endpoints. | {"source":["PDF"],"tags":["TAG1775..."]} |
status |
array | No | Status filter list. | ["Pending Approval","Picked Up"] |
requested_by |
array | No | Filter by requester user IDs. | ["IGH6969811447860000000000"] |
picked_up_by |
array | No | Filter by owner/assignee user IDs. | ["IGH3196545022710000000000"] |
include_items |
boolean | No | When true, include full queue items in report output in addition to summary. | false |
viewer_id |
string | No | Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. | IGH6969811447860000000000 |
organisation_id |
string | No | Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. | PDX7478889578460000000000 |
Example Request
Get queue summary report
{
"jsonrpc": "2.0",
"id": "content_request_report-1",
"method": "tools/call",
"params": {
"name": "content_request_report",
"arguments": {
"status": [
"Pending Approval",
"Picked Up"
],
"include_items": false
}
}
}
Example Success
{
"success": true,
"data": {
"tool": "content_request_report",
"note": "Payload shape depends on tenant data and backend route output."
},
"error": null
}
Example Failure
{
"success": false,
"data": null,
"error": {
"code": "INVALID_ARGUMENTS",
"message": "Missing or invalid parameters for content_request_report.",
"status": 400,
"retryable": false
}
}
content_request_list_assignable_users
List users eligible to be assigned for content requests.
Backend routes: /content-change-request/assignable-users
Arguments
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
page |
number | No | Pagination page number (1-based). Defaults to 1. Defaults to 1. | 1 |
page_size |
number | No | Number of rows per page. Defaults to 50, maximum 200. Defaults to 50, maximum 200. | 50 |
viewer_id |
string | No | Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. | IGH6969811447860000000000 |
organisation_id |
string | No | Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. | PDX7478889578460000000000 |
Example Request
List eligible assignees (paged)
{
"jsonrpc": "2.0",
"id": "content_request_list_assignable_users-1",
"method": "tools/call",
"params": {
"name": "content_request_list_assignable_users",
"arguments": {
"page": 1,
"page_size": 50
}
}
}
Example Success
{
"success": true,
"data": {
"tool": "content_request_list_assignable_users",
"note": "Payload shape depends on tenant data and backend route output."
},
"error": null
}
Example Failure
{
"success": false,
"data": null,
"error": {
"code": "INVALID_ARGUMENTS",
"message": "Missing or invalid parameters for content_request_list_assignable_users.",
"status": 400,
"retryable": false
}
}
content_request_assign
Assign a content request to a user from the configured assignee routing.
Backend routes: /content-change-request/assign-change-request
Arguments
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
content_id |
string | Yes | Original requested content ID that anchors the request thread to assign. | KBD0215806635290000000000 |
assignee_user_id |
string | Yes | Target user ID that should own the content request. | IGH3196545022710000000000 |
custom_message |
string | No | Optional contextual message shown to assignees/reviewers for content request workflows. | Need a shorter healthcare one-pager before Friday call. |
viewer_id |
string | No | Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. | IGH6969811447860000000000 |
organisation_id |
string | No | Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. | PDX7478889578460000000000 |
idempotency_key |
string | No | Client supplied unique key for mutation safety. Re-using the same key returns the cached mutation result instead of executing again. | mcp-mutation-2026-05-13-001 |
Example Request
Assign content request to owner
{
"jsonrpc": "2.0",
"id": "content_request_assign-1",
"method": "tools/call",
"params": {
"name": "content_request_assign",
"arguments": {
"content_id": "KBD0215806635290000000000",
"assignee_user_id": "IGH3196545022710000000000",
"custom_message": "Please pick this up for healthcare buyer"
}
}
}
Example Success
{
"success": true,
"data": {
"tool": "content_request_assign",
"note": "Payload shape depends on tenant data and backend route output."
},
"error": null
}
Example Failure
{
"success": false,
"data": null,
"error": {
"code": "INVALID_ARGUMENTS",
"message": "Missing or invalid parameters for content_request_assign.",
"status": 400,
"retryable": false
}
}
content_request_respond
Update content request assignment progress (Picked Up or Pending Approval).
Backend routes: /content-change-request/respond-change-request
Arguments
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
content_id |
string | Yes | Original requested content ID whose request state should be updated. | KBD0215806635290000000000 |
action |
string (Picked Up | Pending Approval) | Yes | Workflow transition to apply on request (`Picked Up` or `Pending Approval`). | Picked Up |
proposed_content_id |
string | No | Proposed replacement/new content ID supplied while responding to request. | KBD5567454989590000000000 |
custom_message |
string | No | Optional contextual message shown to assignees/reviewers for content request workflows. | Need a shorter healthcare one-pager before Friday call. |
viewer_id |
string | No | Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. | IGH6969811447860000000000 |
organisation_id |
string | No | Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. | PDX7478889578460000000000 |
idempotency_key |
string | No | Client supplied unique key for mutation safety. Re-using the same key returns the cached mutation result instead of executing again. | mcp-mutation-2026-05-13-001 |
Example Request
Mark request as picked up
{
"jsonrpc": "2.0",
"id": "content_request_respond-1",
"method": "tools/call",
"params": {
"name": "content_request_respond",
"arguments": {
"content_id": "KBD0215806635290000000000",
"action": "Picked Up",
"custom_message": "Working on first draft"
}
}
}
Example Success
{
"success": true,
"data": {
"tool": "content_request_respond",
"note": "Payload shape depends on tenant data and backend route output."
},
"error": null
}
Example Failure
{
"success": false,
"data": null,
"error": {
"code": "INVALID_ARGUMENTS",
"message": "Missing or invalid parameters for content_request_respond.",
"status": 400,
"retryable": false
}
}
content_request_approve
Approve and accept a proposed content for a content request.
Backend routes: /content-change-request/accept-change-request
Arguments
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
content_id |
string | Yes | Original requested content ID whose proposed content is being accepted. | KBD0215806635290000000000 |
accepted_proposed_id |
string | Yes | Chosen proposed content ID approved for the request. | KBD5567454989590000000000 |
custom_message |
string | No | Optional contextual message shown to assignees/reviewers for content request workflows. | Need a shorter healthcare one-pager before Friday call. |
viewer_id |
string | No | Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. | IGH6969811447860000000000 |
organisation_id |
string | No | Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. | PDX7478889578460000000000 |
idempotency_key |
string | No | Client supplied unique key for mutation safety. Re-using the same key returns the cached mutation result instead of executing again. | mcp-mutation-2026-05-13-001 |
Example Request
Approve proposed content
{
"jsonrpc": "2.0",
"id": "content_request_approve-1",
"method": "tools/call",
"params": {
"name": "content_request_approve",
"arguments": {
"content_id": "KBD0215806635290000000000",
"accepted_proposed_id": "KBD5567454989590000000000",
"custom_message": "Approved. Please share with AE."
}
}
}
Example Success
{
"success": true,
"data": {
"tool": "content_request_approve",
"note": "Payload shape depends on tenant data and backend route output."
},
"error": null
}
Example Failure
{
"success": false,
"data": null,
"error": {
"code": "INVALID_ARGUMENTS",
"message": "Missing or invalid parameters for content_request_approve.",
"status": 400,
"retryable": false
}
}
content_request_reject
Reject an active content request.
Backend routes: /content-change-request/reject-change-request
Arguments
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
content_id |
string | Yes | Original requested content ID whose active request should be rejected. | KBD0215806635290000000000 |
custom_message |
string | No | Optional contextual message shown to assignees/reviewers for content request workflows. | Need a shorter healthcare one-pager before Friday call. |
viewer_id |
string | No | Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. | IGH6969811447860000000000 |
organisation_id |
string | No | Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. | PDX7478889578460000000000 |
idempotency_key |
string | No | Client supplied unique key for mutation safety. Re-using the same key returns the cached mutation result instead of executing again. | mcp-mutation-2026-05-13-001 |
Example Request
Reject request
{
"jsonrpc": "2.0",
"id": "content_request_reject-1",
"method": "tools/call",
"params": {
"name": "content_request_reject",
"arguments": {
"content_id": "KBD0215806635290000000000",
"custom_message": "Cannot proceed without legal input"
}
}
}
Example Success
{
"success": true,
"data": {
"tool": "content_request_reject",
"note": "Payload shape depends on tenant data and backend route output."
},
"error": null
}
Example Failure
{
"success": false,
"data": null,
"error": {
"code": "INVALID_ARGUMENTS",
"message": "Missing or invalid parameters for content_request_reject.",
"status": 400,
"retryable": false
}
}
content_request_revoke
Revoke your own active content request.
Backend routes: /content-change-request/revoke-change-request
Arguments
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
content_id |
string | Yes | Original requested content ID whose request should be revoked by requester. | KBD0215806635290000000000 |
custom_message |
string | No | Optional contextual message shown to assignees/reviewers for content request workflows. | Need a shorter healthcare one-pager before Friday call. |
viewer_id |
string | No | Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. | IGH6969811447860000000000 |
organisation_id |
string | No | Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. | PDX7478889578460000000000 |
idempotency_key |
string | No | Client supplied unique key for mutation safety. Re-using the same key returns the cached mutation result instead of executing again. | mcp-mutation-2026-05-13-001 |
Example Request
Revoke own request
{
"jsonrpc": "2.0",
"id": "content_request_revoke-1",
"method": "tools/call",
"params": {
"name": "content_request_revoke",
"arguments": {
"content_id": "KBD0215806635290000000000",
"custom_message": "No longer needed"
}
}
}
Example Success
{
"success": true,
"data": {
"tool": "content_request_revoke",
"note": "Payload shape depends on tenant data and backend route output."
},
"error": null
}
Example Failure
{
"success": false,
"data": null,
"error": {
"code": "INVALID_ARGUMENTS",
"message": "Missing or invalid parameters for content_request_revoke.",
"status": 400,
"retryable": false
}
}
content_request_add_comment
Add a comment to an active content request.
Backend routes: /content-change-request/add-comment
Arguments
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
content_id |
string | Yes | Original requested content ID whose request thread should receive this comment. | KBD0215806635290000000000 |
message |
string | Yes | Comment body text posted to content request thread. | Uploaded first draft, please verify legal note on slide 3. |
mentions |
array | No | Mention metadata payload used to notify specific users in comment flow. | [{"id":"IGH3196545022710000000000","type":"user"}] |
viewer_id |
string | No | Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. | IGH6969811447860000000000 |
organisation_id |
string | No | Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. | PDX7478889578460000000000 |
idempotency_key |
string | No | Client supplied unique key for mutation safety. Re-using the same key returns the cached mutation result instead of executing again. | mcp-mutation-2026-05-13-001 |
Example Request
Post request thread comment
{
"jsonrpc": "2.0",
"id": "content_request_add_comment-1",
"method": "tools/call",
"params": {
"name": "content_request_add_comment",
"arguments": {
"content_id": "KBD0215806635290000000000",
"message": "Added context from buyer procurement team.",
"mentions": [
{
"id": "IGH3196545022710000000000",
"type": "user"
}
]
}
}
}
Example Success
{
"success": true,
"data": {
"tool": "content_request_add_comment",
"note": "Payload shape depends on tenant data and backend route output."
},
"error": null
}
Example Failure
{
"success": false,
"data": null,
"error": {
"code": "INVALID_ARGUMENTS",
"message": "Missing or invalid parameters for content_request_add_comment.",
"status": 400,
"retryable": false
}
}