openapi: 3.1.0 info: title: Gram (by Speakeasy) API version: '2026-10-18' description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-18: 11 operation(s) read from 13 public documentation page(s) (each operation names its page in x-source). This is not the provider''s published contract; Gram (by Speakeasy) has published no machine-readable contract that the pipeline could find. Engine: local.' x-evidence-tiers: code-example: 9 documentation: 2 pages-with-code: 12 pages-read: 13 x-generated-from: documentation x-provenance: generated x-authored-by: API Evangelist x-generated: '2026-10-18' x-generator: generate-contract-from-docs.py x-engine: local x-sources: - https://www.speakeasy.com/docs/ai-control-plane/reference/command-line - https://www.speakeasy.com/docs/ai-control-plane/reference/device-agent - https://www.speakeasy.com/docs/ai-control-plane/reference/api-reference - https://www.speakeasy.com/docs/ai-control-plane/reference/device-agent/mdm-installations - https://www.speakeasy.com/docs/standalone-mcp/build-server - https://www.speakeasy.com/docs/cli-generation/distribute-cli - https://www.speakeasy.com/docs/sdks/guides/sdk-preview-breaking-changes - https://www.speakeasy.com/docs/ai-control-plane/getting-started/agent-friendly-docs - https://www.speakeasy.com/docs/speakeasy-reference/cli/getting-started - https://www.speakeasy.com/docs/ai-control-plane/reference/device-agent/mdm-installations/linux - https://www.speakeasy.com/docs/ai-control-plane/reference/device-agent/mdm-installations/drata - https://www.speakeasy.com/resources/mcp-registry - https://github.com/trending servers: - url: https://ai.speakeasy.com paths: /: get: operationId: get tags: - Api summary: GET / x-source: https://github.com/trending responses: '200': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: "curl Config\n Curry\n CWeb\n Cycript\n Cylc\n Cypher\n Cython\n D\n D-ObjDump\n D2\n Dafny\n Darcs Patch\n Dart\n Daslang\n\ \ DataWeave\n Debian Package Control File\n DenizenScript\n desktop\n Dhall\n Diff\n DIGITAL Command Language\n dircolors\n DirectX\ \ 3D File\n DM\n DNS Zone\n Dockerfile\n Dogescript\n Dotenv\n DTrace\n Dune\n Dylan\n E\n E-mail\n Eagle\n Earthly\n Easybuild\n EBNF\n\ \ eC\n Ecere Projects\n ECL\n ECLiPSe\n Ecmarkup\n Edge" /cli-install.sh: get: operationId: get_cli_install_sh tags: - Cli Install summary: GET /cli-install.sh x-source: https://www.speakeasy.com/docs/standalone-mcp/build-server responses: '200': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: "curl -fsSL https://go.speakeasy.com/cli-install.sh | sh \n Run the Speakeasy quickstart command: \n Terminal window speakeasy\ \ quickstart --mcp \n Indicate whether you plan to deploy your server on Cloudflare. \n Cloudflare is a popular choice for hosting MCP\ \ servers. If selected, a Cloudflare Worker config file is generated with your MCP server code, making it easy to deploy your server\ \ to a Cloudflar" /cli.sh: get: operationId: get_cli_sh tags: - Cli summary: GET /cli.sh x-source: https://www.speakeasy.com/docs/ai-control-plane/reference/command-line responses: '200': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: "curl -fsSL https://ai.speakeasy.com/cli.sh | bash \n After installation, run the following command to verify that the CLI is\ \ installed correctly: \n Terminal window speakeasy --version \n The CLI was previously called gram . The gram command still works but\n\ prints a deprecation warning. The speakeasy-api/tap/gram Homebrew formula\nis deprecated in favor of speakeasy-api/tap/cli . Its GRAM_*\ \ environmen" /docs/ai-control-plane/getting-started.md: get: operationId: get_docs_ai_control_plane_getting_started_md tags: - Docs summary: Append .md to any docs URL to get the page as plain markdown, with no HTML, navigation, or scripts description: Retrieves the raw markdown version of the Getting Started page for the AI Control Plane. x-source: https://www.speakeasy.com/docs/ai-control-plane/getting-started/agent-friendly-docs responses: '200': description: Success (status as documented) x-evidence: kind: documentation /public/v2/custom-connections: post: operationId: post_public_v2_custom_connections tags: - Public summary: POST /public/v2/custom-connections x-source: https://www.speakeasy.com/docs/ai-control-plane/reference/device-agent/mdm-installations/drata responses: '201': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: 'curl -s -X POST https://public-api.drata.com/public/v2/custom-connections \ -H "Authorization: Bearer " -H "Content-Type: application/json" \ -d ''{ "name": "Speakeasy Device Agent Coverage", "providerTypes": ["CUSTOM"], "workspaceIds": [], "displayNameKey": "hostname", "schema": { "type": "object", "required": ["id", "serialNumber", "hostname", "assignedUserEmail", "age' /rpc/telemetry.searchLogs: post: operationId: post_rpc_telemetry_searchLogs tags: - Rpc summary: POST /rpc/telemetry.searchLogs x-source: https://www.speakeasy.com/docs/ai-control-plane/reference/api-reference requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostRpcTelemetrySearchlogsRequest' responses: '201': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: "curl -X POST \"https://ai.speakeasy.com/rpc/telemetry.searchLogs\" \\ -H \"Content-Type: application/json\" \\ -H \"Speakeasy-AI-Key:\ \ \" \\ -H \"Speakeasy-AI-Project: \" \\ -d '{\"limit\": 50}' \" \\\x7F -H \"Speakeasy-AI-Project:\ \ \" \\\x7F -d '{\"limit\": 50}'\"> \n These headers were previously named Gram-Key and Gram-Project . The old names still work, and\ \ the generated reference below stil" /speakeasy-api/speakeasy/main/install.sh: get: operationId: get_speakeasy_api_speakeasy_main_install_sh tags: - Speakeasy Api summary: GET /speakeasy-api/speakeasy/main/install.sh x-source: https://www.speakeasy.com/docs/sdks/guides/sdk-preview-breaking-changes responses: '200': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: "curl -fsSL https://raw.githubusercontent.com/speakeasy-api/speakeasy/main/install.sh | sh echo \"$HOME/.speakeasy/bin\" >> $GITHUB_PATH\ \ \n - name : Run Speakeasy workflow env : SPEAKEASY_API_KEY : ${{secrets.SPEAKEASY_API_KEY}} run : speakeasy run " /speakeasy-device-agent-releases-prod/releases.json: get: operationId: get_speakeasy_device_agent_releases_prod_releases_json tags: - Speakeasy Device Agent Releases Prod summary: GET /speakeasy-device-agent-releases-prod/releases.json x-source: https://www.speakeasy.com/docs/ai-control-plane/reference/device-agent/mdm-installations responses: '200': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: "curl -s https://storage.googleapis.com/speakeasy-device-agent-releases-prod/releases.json | jq -r '.latest.speakeasyd.version'\ \ ) BASE = https://storage.googleapis.com/speakeasy-device-agent-releases-prod/v $VERSION ARCH = amd64 # or arm64 \n sudo curl -fSL\ \ -o /usr/local/bin/speakeasyd \" $BASE /speakeasyd_${VERSION}_linux_${ARCH}\" sudo curl -fSL -o /usr/local/bin/speakeasy \" $BASE /speakeasy_${VERSI" /speakeasy-device-agent-releases-prod/v${VERSION}/speakeasyd_${VERSION}_linux_amd64: get: operationId: get_speakeasy_device_agent_releases_prod_v_VERSION_speakeasyd_VERSION_linux_amd6 tags: - Speakeasy Device Agent Releases Prod summary: GET /speakeasy-device-agent-releases-prod/v${VERSION}/speakeasyd_${VERSION}_linux_amd64 x-source: https://www.speakeasy.com/docs/ai-control-plane/reference/device-agent parameters: - name: VERSION in: path required: true schema: type: string - name: VERSION in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: "curl -fsSL -o /tmp/speakeasyd \\ \"https://storage.googleapis.com/speakeasy-device-agent-releases-prod/v${VERSION}/speakeasyd_${VERSION}_linux_amd64\"\ \ echo \"${SHA256} /tmp/speakeasyd\" | sha256sum -c - sudo install -m 0755 /tmp/speakeasyd/usr/local/bin/speakeasyd \"\x7FSHA256=\"\ \ \"\x7Fsudo apt-get update\x7Fsudo apt-get install -y --no-install-recommends jq\x7Fcurl -fsSL -o /tmp/speakeasyd \\\x7F \"https://storage.google" /v0.1/servers: get: operationId: get_v0_1_servers tags: - V0 summary: Consumers read the catalog through a REST API, with GET /v0.1/servers returning the full list for downstream systems to ingest. x-source: https://www.speakeasy.com/resources/mcp-registry responses: '200': description: Success (status as documented) x-evidence: kind: documentation /{org}/{repo}/main/scripts/install.sh: get: operationId: get_org_repo_main_scripts_install_sh tags: - Main summary: GET /{org}/{repo}/main/scripts/install.sh x-source: https://www.speakeasy.com/docs/cli-generation/distribute-cli parameters: - name: org in: path required: true schema: type: string - name: repo in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: "curl -fsSL https://raw.githubusercontent.com/{org}/{repo}/main/scripts/install.sh | bash \n The script supports two environment\ \ variables derived from the configured envVarPrefix : \n _INSTALL_DIR — override the install directory \n _VERSION\ \ — install a specific release tag instead of latest \n Example: \n Terminal window PETSTORE_INSTALL_DIR = /opt/bin curl -fsSL .../install.sh\ \ | bash " components: schemas: PostRpcTelemetrySearchlogsRequest: type: object properties: limit: type: integer securitySchemes: bearer: type: http scheme: bearer security: - bearer: [] tags: - name: Api - name: Cli - name: Cli Install - name: Docs - name: Main - name: Public - name: Rpc - name: Speakeasy Api - name: Speakeasy Device Agent Releases Prod - name: V0