Start with a real request
Open the capability example above to receive a complete JSON record. It includes its stable ID, description, availability limitations, documentation link and verification state.
curl 'https://aipromoservices.com/v1/capabilities/developer-interface'
Lists return data, pagination.nextCursor and meta. Set limit from 1 to 100 (default 25). Pass the returned cursor unchanged to read the next page; a null cursor means the list is complete.
curl 'https://aipromoservices.com/v1/integrations?limit=5'
# For the next page, add &cursor= followed by pagination.nextCursor.
- Capabilities: first five records and
/v1/capabilities/{id} - Integration requirements and status
- Methodology inputs, outputs and limitations
- Prospective pricing and trial terms
These resources support GET and HEAD. No tokens, cookies, property IDs or account identifiers belong in the request.
Connect an assistant with MCP
Use https://aipromoservices.com/mcp as the Streamable HTTP endpoint. It returns JSON responses and does not offer an SSE stream or server-initiated messages. Supported protocol versions are 2025-11-25 and 2025-06-18. No session ID is required.
Initialize first. Include both JSON and SSE in Accept, as the MCP transport requires:
curl 'https://aipromoservices.com/mcp' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
--data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"public-docs-example","version":"1.0"}}}'
Use the returned protocol version in MCP-Protocol-Version for subsequent requests. Send the initialized notification (HTTP 202 with an empty body):
curl 'https://aipromoservices.com/mcp' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H 'MCP-Protocol-Version: 2025-11-25' \
--data '{"jsonrpc":"2.0","method":"notifications/initialized"}'
Then call a tool. This example reads the boundary methodology:
curl 'https://aipromoservices.com/mcp' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H 'MCP-Protocol-Version: 2025-11-25' \
--data '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_methodology","arguments":{"id":"public-developer-surface"}}}'
The full record appears in result.structuredContent.methodology and in the text content. To discover input schemas, send {"jsonrpc":"2.0","id":3,"method":"tools/list"} with the same headers.
search_docs: search public documentation with{"query":"publishing","limit":5}. Returnsresultswith usable documentation links.get_product_capabilities: read{"id":"developer-interface"}, or list with{"limit":5}and the returnednextCursor.list_integrations: page through integration records with{"limit":5}, then{"limit":5,"cursor":"RETURNED_CURSOR"}.get_methodology: read{"id":"public-developer-surface"}or{"id":"capability-verification"}.
Build for clear limits
Requests are limited to 64 KiB and responses to 256 KiB. Documentation search accepts 2–160 characters and returns up to 10 results. Unknown arguments and invalid cursors are rejected; correct the request or restart pagination without a cursor.
REST allows 120 requests per IP per minute, 300 total per minute and 5,000 per UTC day. MCP allows 60 per IP per minute, 120 total per minute and 3,000 per UTC day. These defensive ceilings apply per web process. HTTP 429 includes Retry-After and an error reset time. Wait until then before retrying.
REST errors include a code, message and correlation ID. MCP protocol errors use JSON-RPC error codes; a missing tool record returns isError: true. GET on /mcp returns 405 because this service does not stream. Browser requests must come from the public site's own origin.
Read availability precisely
A catalog record tells you what a capability means. It does not prove a live customer connection. Source-backed capabilities remain contract_ready with verification.state: unverified until separate native evidence establishes availability. The public audit is currently unavailable.
Plan around the record's limitations and use your account for connection status. The public interface has no authenticated workspace API or action tools.