Content Requests
Last updated:
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
}
}