{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-common/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition","connect-mcp"]},"type":"markdown"},"seo":{"title":"Connecting AI tools to Retarus API Docs","siteUrl":"https://developers.retarus.com","description":"Explore the powerful APIs of the Retarus Enterprise Cloud, designed to streamline communication workflows, enhance integration, and enable seamless connectivity for your business applications.","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"connecting-ai-tools-to-retarus-api-docs","__idx":0},"children":["Connecting AI tools to Retarus API Docs"]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Note"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This guide covers best practices for using AI tools with Retarus developer documentation. AI tools can make mistakes. Always review generated code against the documentation, your environment, and your integration requirements before using it in production."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can connect AI tools directly to Retarus API Docs, providing access to the developer documentation in context. This can improve code generation, support more accurate answers about endpoints and parameters, and speed up integration work without requiring manual lookup or copying of documentation"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-it-works","__idx":1},"children":["How it works"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retarus API Docs provides the Retarus Docs MCP server, which implements the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://modelcontextprotocol.io"},"children":["Model Context Protocol (MCP)"]},", an open standard for providing structured context to AI tools."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When connected to the Retarus Docs MCP server, an AI tool can use the following tools."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["MCP Server Tools"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Parameters"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Scope & Description"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["list-apis"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["filter"]}," ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["page"]}," ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"code","attributes":{},"children":["limit"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["REST APIs only"]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," Lists available Retarus REST APIs. ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," Use the optional ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["filter"]}," parameter with a name fragment to narrow results. For example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fax"]}," returns only fax-related APIs. ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["page"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["limit"]}," to paginate results. The default is 300 per page. ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," All parameters are optional."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["get-endpoints"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["REST APIs only"]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," Returns all endpoints and descriptions for a specific REST API."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["get-endpoint-info"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]}," ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["path"]}," ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["method"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["REST APIs only"]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," Returns comprehensive details for a specific endpoint, including parameters, security schemes, and examples."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["get-security-schemes"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["REST APIs only"]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," Returns the authentication details for a specific REST API."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["get-full-api-description"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["REST APIs only"]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," Returns the complete OpenAPI description for a REST API."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["search"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["query"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["All content"]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," Searches across all documentation, including Markdown pages, REST API docs, and GraphQL documentation."]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Note"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Docs MCP server provides read-only access to Retarus API documentation. It does not make API calls on your behalf. Any generated code must still be reviewed, configured with your credentials, and executed in your own environment."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-the-docs-mcp-server-can-access","__idx":2},"children":["What the Docs MCP server can access"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The available MCP tools differ depending on the content type. Use the structured API tools for OpenAPI-based REST APIs, and use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["search"]}," for GraphQL documentation and other Markdown-based content."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["REST APIs (full tool support)"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The API Catalog tools give structured, queryable access to all Retarus REST APIs published as OpenAPI descriptions. You can browse endpoints, inspect parameters, retrieve security schemes, and get full OpenAPI definitions."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["API"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Description"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Faxolution for Applications (Fax4A) REST API"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Send faxes, monitor transmission status, and manage status reports."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Fax Configuration API"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Configure Mail-to-Fax, Fax-to-Email, Fax-to-FTP, and Fax-to-Webservice."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Fax2WSPull"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Actively retrieve received inbound faxes organized by topic."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Faxolution for Applications status push notification API"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Receive proactive push notifications for outbound fax job outcomes (XML or JSON)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["SMS for Applications REST API"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Send SMS messages and look up delivery status."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Transactional Email API"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Submit and manage transactional email jobs."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["IDP Integration API"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Upload documents and retrieve structured Intelligent Document Processing results."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Continuity Service"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Manage Email Continuity mailboxes and control failover routing."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["SEG Configuration Gateway"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Manage customer configuration settings."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Public Status API"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Get overall service status, incidents, and planned maintenance by service and region."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["GraphQL and other content (search only)"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The GraphQL Reporting API documentation, along with all other Markdown-based documentation such as guides, concepts, and reference pages, is available through the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["search"]}," tool only."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"connect-your-ai-tool","__idx":3},"children":["Connect your AI tool"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once you understand the available tools and their scope, you can connect a supported AI tool to the Retarus Docs MCP server."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Retarus Docs MCP server is available at ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://developers.retarus.com/mcp"]}," and works with AI tools that support MCP. Use the button below to connect from Cursor or VS Code, or to copy the MCP configuration:"]},{"$$mdtype":"Tag","name":"ConnectMCP","attributes":{"placement":"bottom","alignment":"start","options":["cursor","vscode","copy"]},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"example-connecting-claude-code-to-the-docs-mcp-server","__idx":4},"children":["Example: Connecting Claude Code to the Docs MCP server"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Run the following command, replacing ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["retarus-mcp"]}," with your preferred server name:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"claude mcp add retarus-mcp https://developers.retarus.com/mcp --transport http\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the Claude Code CLI, type ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/mcp"]}," to verify the connection and view the available tools."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"Retarus-mcp MCP Server\n\nStatus:           ✔ connected\nAuth:             ✔ authenticated\nURL:              https://developers.retarus.com/mcp\nConfig location:  /home/username/.claude.json\nCapabilities:     tools\nTools:            6 tools\n\n❯ 1. View tools\n  1. Re-authenticate\n  2. Clear authentication\n  3. Reconnect\n  4. Disable\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"test-the-connection","__idx":5},"children":["Test the connection"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ask the AI tool to perform a simple task using a Retarus API, for example:"]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["\"List all available Retarus APIs.\""]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Result"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"● Here are all 10 available Retarus APIs:\n\n  #: 1\n  Name: Public Status API\n  Version: 1.0\n  Description: Overall status of Retarus Cloud Services — incidents, maintenances, and service info by region\n  ────────────────────────────────────────\n   #: 2\n  Name: Fax Configuration API\n  Version: 2.0\n  Description: Administer Mail-to-Fax, Fax-to-Email, Fax-to-FTP, and Fax-to-Webservice\n  ────────────────────────────────────────\n  ... (output truncated)\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"examples","__idx":6},"children":["Examples"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following examples show what you can ask an AI tool once connected to the Retarus Docs MCP server and the kind of output to expect. All examples were produced using Claude Code with the Retarus Docs MCP server connected."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"list-available-endpoints","__idx":7},"children":["List available endpoints"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Prompt"]}]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Get endpoints for the Faxolution for Applications (Fax4A) REST API."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Result"]}," ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," The AI calls ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["get-endpoints"]}," and returns a structured overview of the API, including the following endpoint table."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"\n  Called retarus-mcp (ctrl+o to expand)\n\n● Here are all endpoints for the Faxolution for Applications (Fax4A) REST API (v1):\n\n  ---\n  Base Path: /{custNr}/fax\n\n  Method: POST\n  Path: /{custNr}/fax      \n  Summary: Send a fax — Submit a fax job; returns a Job ID for status tracking\n  ────────────────────────────────────────\n  Method: GET\n  Path: /{custNr}/fax/reports\n  Summary: Fetch all status reports — Lists completed fax jobs (oldest 1000; data-center-specific URL required)\n  ────────────────────────────────────────\n  Method: POST\n  Path: /{custNr}/fax/reports\n  Summary: Bulk operations on reports — Fetch or delete up to 1000 reports by Job ID list\n  ────────────────────────────────────────\n  Method: DELETE\n  Path: /{custNr}/fax/reports\n  Summary: Delete oldest status reports — Deletes up to 1000 oldest reports\n  ────────────────────────────────────────\n  Method: GET\n  Path: /{custNr}/fax/reports/{jobId}\n  Summary: Fetch single job report — Get status for a specific Job ID\n  ────────────────────────────────────────\n  Method: DELETE\n  Path: /{custNr}/fax/reports/{jobId}\n  Summary: Delete single job report — Delete and return the Job ID\n\n  ---\n  Servers\n\n  ┌───────────────┬─────────────────────────────────────────┐\n  │    Region     │                   URL                   │\n  ├───────────────┼─────────────────────────────────────────┤\n  │ Germany (DE1) │ https://faxws.de1.retarus.com/rest/v1   │\n  ├───────────────┼─────────────────────────────────────────┤\n  │ Germany (DE2) │ https://faxws.de2.retarus.com/rest/v1   │\n  ├───────────────┼─────────────────────────────────────────┤\n  │ Germany HA    │ https://faxws-ha.de.retarus.com/rest/v1 │\n  ├───────────────┼─────────────────────────────────────────┤\n  │ USA (US1)     │ https://faxws.us1.retarus.com/rest/v1   │\n  ├───────────────┼─────────────────────────────────────────┤\n  │ USA (US2)     │ https://faxws.us2.retarus.com/rest/v1   │\n  ├───────────────┼─────────────────────────────────────────┤\n  │ USA HA        │ https://faxws-ha.us.retarus.com/rest/v1 │\n  ├───────────────┼─────────────────────────────────────────┤\n  │ Switzerland   │ https://faxws.ch1.retarus.com/rest/v1   │\n  ├───────────────┼─────────────────────────────────────────┤\n  │ Singapore     │ https://faxws.sg1.retarus.com/rest/v1   │\n  └───────────────┴─────────────────────────────────────────┘\n\n  ▎ Note: The GET, POST, and DELETE operations on /reports (bulk) must use a data-center-specific URL — not an HA URL — to avoid inconsistent or erroneous results.\n\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"get-full-details-for-a-specific-endpoint","__idx":8},"children":["Get full details for a specific endpoint"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Prompt"]}]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Get endpoint information for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /{custNr}/fax/reports/{jobId}"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Result"]}," ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," The AI calls ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["get-endpoint-info"]}," and returns complete documentation for the endpoint, including parameters, authentication, response schema, and an example response."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"Called retarus-mcp (ctrl+o to expand)\n\n● Here’s the full detail for GET /{custNr}/fax/reports/{jobId}:\n\nSummary\n\nFetch the status report for a single fax job by its Job ID. Reports are available until deleted or until they expire (default: 30 days).\n\nParameters\n\n┌────────┬──────┬──────────┬────────┬────────────────────────────────────────────────┐\n│ Name   │ In   │ Required │ Type   │ Description                                    │\n├────────┼──────┼──────────┼────────┼────────────────────────────────────────────────┤\n│ custNr │ path │ yes      │ string │ Customer Number                                │\n├────────┼──────┼──────────┼────────┼────────────────────────────────────────────────┤\n│ jobId  │ path │ yes      │ string │ The Job ID returned when the fax was submitted │\n└────────┴──────┴──────────┴────────┴────────────────────────────────────────────────┘\n\nAuthentication\n\nHTTP Basic Auth — every request must include:\nAuthorization: Basic Base64Encoded(username:password)\n\n▎ Note: A job’s status report can only be fetched using the same Login ID that created it.\n\nResponses\n\n200 — Success\n\n{\n  \"jobId\": \"FJJ66GHGX105ZZBIELVCN1\",\n  \"pages\": 1,\n  \"recipientStatus\": [\n    {\n      \"number\": \"+49 89 1234567-8900\",\n      \"status\": \"OK\",\n      \"reason\": \"OK\",\n      \"sentTs\": \"2017-08-10T13:05:09Z\",\n      \"durationInSecs\": 19,\n      \"sentToNumber\": \"00498912345678900\",\n      \"remoteCsid\": \"+49/89/1234567-8900\",\n      \"properties\": null\n    }\n  ],\n  \"reference\": {\n    \"customerDefinedId\": \"...\",\n    \"billingCode\": \"...\",\n    \"billingInfo\": \"...\"\n  }\n}\n\nResponse fields:\n\n┌──────────────────────────────────┬──────────┬───────────────────────────────────────────────┐\n│ Field                            │ Type     │ Description                                   │\n├──────────────────────────────────┼──────────┼───────────────────────────────────────────────┤\n│ jobId                            │ string   │ The Job ID                                    │\n├──────────────────────────────────┼──────────┼───────────────────────────────────────────────┤\n│ pages                            │ integer  │ Number of pages in the fax                    │\n├──────────────────────────────────┼──────────┼───────────────────────────────────────────────┤\n│ recipientStatus[].number         │ string   │ Recipient’s fax number (international format) │\n├──────────────────────────────────┼──────────┼───────────────────────────────────────────────┤\n│ recipientStatus[].status         │ string   │ Transmission status (e.g. OK)                 │\n├──────────────────────────────────┼──────────┼───────────────────────────────────────────────┤\n│ recipientStatus[].reason         │ string   │ Explanation of the status                     │\n├──────────────────────────────────┼──────────┼───────────────────────────────────────────────┤\n│ recipientStatus[].sentTs         │ datetime │ When the fax was sent (ISO 8601)              │\n├──────────────────────────────────┼──────────┼───────────────────────────────────────────────┤\n│ recipientStatus[].durationInSecs │ integer  │ Transmission duration in seconds              │\n├──────────────────────────────────┼──────────┼───────────────────────────────────────────────┤\n│ recipientStatus[].sentToNumber   │ string   │ Number the fax was actually sent to           │\n├──────────────────────────────────┼──────────┼───────────────────────────────────────────────┤\n│ recipientStatus[].remoteCsid     │ string   │ Fax ID of the recipient device                │\n├──────────────────────────────────┼──────────┼───────────────────────────────────────────────┤\n│ reference.customerDefinedId      │ string   │ Custom ID (max 256 chars)                     │\n├──────────────────────────────────┼──────────┼───────────────────────────────────────────────┤\n│ reference.billingCode            │ string   │ Cost center info (max 80 chars)               │\n├──────────────────────────────────┼──────────┼───────────────────────────────────────────────┤\n│ reference.billingInfo            │ string   │ Additional accounting data (max 80 chars)     │\n└──────────────────────────────────┴──────────┴───────────────────────────────────────────────┘\n\n401 — Authentication failed\n\n{ \"code\": 401, \"message\": \"Authentication failed\" }\n\n404 — Report not found\n\n{ \"code\": 404, \"message\": \"No reports available; Job IDs {FJL8LN75OO01L0D15QUN1T}\" }\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"look-up-authentication-requirements","__idx":9},"children":["Look up authentication requirements"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Prompt"]}]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Get security schemes for the Fax4A API."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Result"]}," ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," The AI calls ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["get-security-schemes"]}," and explains how to authenticate, including credential scoping rules and optional IP allowlisting."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"\nCalled retarus-mcp (ctrl+o to expand)\n\n● The Fax4A REST API uses a single security scheme:\n\nhttpBasicAuth — HTTP Basic Authentication\n\nType: http / scheme: basic\n\nEvery request must include a Basic Authorization header with a Base64-encoded username:password string:\n\nAuthorization: Basic Base64Encoded(username:password)\n\nExample:\n- Username: John, Password: secret\n- Base64 of John:secret → Sm9objpzZWNyZXQ=\n\nAuthorization: Basic Sm9objpzZWNyZXQ=\n\nAdditional Security Details\n\n┌─────────────────────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐\n│ Feature             │ Detail                                                                                                                                                                      │\n├─────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤\n│ Login ID management │ Multiple Login IDs can be configured via the Retarus EAS Portal, allowing concurrent processes with separate configurations                                                 │\n├─────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤\n│ Data isolation      │ Job and report data is scoped to the Login ID that created it — a report can only be fetched or deleted by the same Login ID that submitted the job                         │\n├─────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤\n│ IP whitelisting     │ Access per Login ID can optionally be restricted to a predefined list of IP addresses/subnets, configured in the EAS Portal; requests from non-whitelisted                  │\n│                     │ IPs are rejected                                                                                                                                                            │\n└─────────────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"search-across-all-content","__idx":10},"children":["Search across all content"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["search"]}," tool works across all content in Retarus API Docs, including Markdown documentation pages and API documentation for both OpenAPI-based REST APIs and GraphQL."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Prompt"]}]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["How do I send a fax?"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Result"]}," ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," The AI calls ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["search"]}," and returns a workflow summary, the key request fields for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /{custNr}/fax"]},", request body examples, and response codes:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"\nCalled retarus-mcp (ctrl+o to expand)\n\nPOST /{custNr}/fax — Send a Fax\n\nAuthentication: HTTP Basic Auth\nContent-Type: application/json\n\nOnly recipients is required. Everything else is optional.\n\nRequest Body Fields\n\n┌───────────────────────────────────────────────────────┬──────────┬──────────────────────────────────────────────────────────────────────────────┐\n│ Field                                                 │ Required │ Description                                                                  │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ recipients[].number                                   │ yes      │ Recipient fax number (international format, e.g. +12015551000)               │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ recipients[].properties                               │ no       │ Key/value pairs for cover page personalization                               │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ documents[].name                                      │ no*      │ Filename with extension (max 32 chars, no spaces/special chars)              │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ documents[].data                                      │ no*      │ Base64-encoded file content                                                  │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ documents[].reference                                 │ no*      │ URL pointing to the document (use instead of data)                           │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ documents[].charset                                   │ no       │ Encoding for .txt files (default: UTF-8)                                     │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ transportOptions.csid                                 │ no       │ Sender ID shown on recipient’s fax (max 20 chars)                            │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ transportOptions.isExpress                            │ no       │ Send as express transmission                                                 │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ transportOptions.isBlacklistEnabled                   │ no       │ Check Robinson/ECOFAX/Retarus blacklists before sending                      │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ renderingOptions.paperFormat                          │ no       │ A4 or LETTER                                                                 │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ renderingOptions.resolution                           │ no       │ LOW or HIGH                                                                  │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ renderingOptions.coverpageTemplate                    │ no       │ Cover page template name (e.g. coverpage-default.ftl.html)                   │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ renderingOptions.overlay.name                         │ no       │ Name of a pre-deployed overlay/stationery TIF                                │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ renderingOptions.overlay.mode                         │ no       │ ALL_PAGES, FIRST_PAGE, LAST_PAGE, ALL_BUT_FIRST_PAGE, etc.                   │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ renderingOptions.header                               │ no       │ Header string with control characters                                        │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ statusReportOptions.reportMail.successAddress         │ no       │ Email for delivery confirmations                                             │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ statusReportOptions.reportMail.failureAddress         │ no       │ Email for failure notifications                                              │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ statusReportOptions.reportMail.attachedFaxImageMode   │ no       │ NEVER / SUCCESS_ONLY / FAILURE_ONLY / ALWAYS                                 │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ statusReportOptions.reportMail.attachedFaxImageFormat │ no       │ TIFF / PDF / PDF_WITH_OCR                                                    │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ statusReportOptions.httpStatusPush.targetUrl          │ no       │ Webhook URL for HTTP status push notifications                               │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ reference.customerDefinedId                           │ no       │ Custom tracking ID (max 256 chars)                                           │\n├───────────────────────────────────────────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┤\n│ reference.billingCode                                 │ no       │ Cost center info (max 80 chars)                                              │\n└───────────────────────────────────────────────────────┴──────────┴──────────────────────────────────────────────────────────────────────────────┘\n\n▎ *Either a document or a cover page template must be provided — the job will be rejected if neither is present. For documents, use either data (base64) or reference (URL), not both.\n\nExamples\n\nMinimal — send a PDF by base64:\n\n{\n  \"recipients\": [{ \"number\": \"+498900000000\" }],\n  \"documents\": [\n    {\n      \"name\": \"invoice.pdf\",\n      \"data\": \"<base64-encoded-pdf>\"\n    }\n  ]\n}\n\nSend a PDF from a URL:\n\n{\n  \"recipients\": [{ \"number\": \"+498900000000\" }],\n  \"documents\": [\n    {\n      \"name\": \"document.pdf\",\n      \"reference\": \"https://example.com/document.pdf\"\n    }\n  ]\n}\n\nSend with cover page only:\n\n{\n  \"recipients\": [\n    {\n      \"number\": \"+498900000000\",\n      \"properties\": [\n        { \"key\": \"FromName\", \"value\": \"John Doe\" },\n        { \"key\": \"FromCompanyName\", \"value\": \"Retarus\" },\n        { \"key\": \"ToName\", \"value\": \"Jane Doe\" },\n        { \"key\": \"SubjectTitle\", \"value\": \"My Fax Subject\" }\n      ]\n    }\n  ],\n  \"renderingOptions\": {\n    \"paperFormat\": null,\n    \"coverpageTemplate\": \"coverpage-default.ftl.html\"\n  }\n}\n\nResponses\n\n┌──────┬──────────────────────────────────────────────────────────────┐\n│ Code │ Meaning                                                      │\n├──────┼──────────────────────────────────────────────────────────────┤\n│ 200  │ Job accepted — returns { \"jobId\": \"FJKQQUVF1J0IADYARQEXKC\" } │\n├──────┼──────────────────────────────────────────────────────────────┤\n│ 400  │ Invalid/incomplete request (e.g. missing recipient number)   │\n├──────┼──────────────────────────────────────────────────────────────┤\n│ 401  │ Authentication failed                                        │\n├──────┼──────────────────────────────────────────────────────────────┤\n│ 429  │ Too many requests (rate limited)                             │\n├──────┼──────────────────────────────────────────────────────────────┤\n│ 500  │ Server/processing error                                      │\n└──────┴──────────────────────────────────────────────────────────────┘\n\nSave the returned jobId — you’ll need it to poll the status report via GET /{custNr}/fax/reports/{jobId}.\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The same search-based approach also works for other content in Retarus API Docs. For example, asking “How do I query the GraphQL Reporting API?” retrieves results from the GraphQL documentation pages."]}]},"headings":[{"value":"Connecting AI tools to Retarus API Docs","id":"connecting-ai-tools-to-retarus-api-docs","depth":1},{"value":"How it works","id":"how-it-works","depth":2},{"value":"What the Docs MCP server can access","id":"what-the-docs-mcp-server-can-access","depth":2},{"value":"Connect your AI tool","id":"connect-your-ai-tool","depth":2},{"value":"Example: Connecting Claude Code to the Docs MCP server","id":"example-connecting-claude-code-to-the-docs-mcp-server","depth":4},{"value":"Test the connection","id":"test-the-connection","depth":3},{"value":"Examples","id":"examples","depth":2},{"value":"List available endpoints","id":"list-available-endpoints","depth":3},{"value":"Get full details for a specific endpoint","id":"get-full-details-for-a-specific-endpoint","depth":3},{"value":"Look up authentication requirements","id":"look-up-authentication-requirements","depth":3},{"value":"Search across all content","id":"search-across-all-content","depth":3}],"frontmatter":{"seo":{"title":"Connecting AI tools to Retarus API Docs"}},"lastModified":"2026-05-20T05:54:15.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/common/connecting-ai-tools","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}