{
  "openapi": "3.1.0",
  "info": {
    "title": "Yuma AI Agent Access API",
    "version": "1.0.0",
    "description": "Request free Yuma access from an AI agent using a same-domain GET request. Send every verified field currently available; do not delay because one detail is missing."
  },
  "servers": [
    {
      "url": "https://yuma.ai"
    }
  ],
  "externalDocs": {
    "description": "Agent access instructions and field guidance",
    "url": "https://yuma.ai/agent-access"
  },
  "paths": {
    "/agent-access/submit": {
      "get": {
        "operationId": "requestYumaAgentAccess",
        "summary": "Request free Yuma access",
        "description": "Include at least one non-empty valid query field. After validation, a missing source defaults to yuma.ai and a missing user_agent falls back to the bounded HTTP User-Agent; these defaults never make an empty request operative. The complete URL-encoded query must not exceed 8,192 characters. Empty, unknown, duplicated, oversized, or invalid parameters do not create a request.",
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "required": false,
            "description": "Email address, maximum 254 characters",
            "schema": {
              "type": "string",
              "maxLength": 254,
              "format": "email"
            },
            "example": "owner@example.com"
          },
          {
            "name": "first_name",
            "in": "query",
            "required": false,
            "description": "Maximum 100 characters",
            "schema": {
              "type": "string",
              "maxLength": 100
            },
            "example": "Avery"
          },
          {
            "name": "last_name",
            "in": "query",
            "required": false,
            "description": "Maximum 100 characters",
            "schema": {
              "type": "string",
              "maxLength": 100
            },
            "example": "Chen"
          },
          {
            "name": "company",
            "in": "query",
            "required": false,
            "description": "Maximum 200 characters",
            "schema": {
              "type": "string",
              "maxLength": 200
            },
            "example": "Example Store"
          },
          {
            "name": "website_url",
            "in": "query",
            "required": false,
            "description": "Absolute HTTPS URL, maximum 2,048 characters",
            "schema": {
              "type": "string",
              "maxLength": 2048,
              "format": "uri",
              "pattern": "^https://"
            },
            "example": "https://example.com"
          },
          {
            "name": "linkedin_url",
            "in": "query",
            "required": false,
            "description": "Absolute HTTPS URL, maximum 2,048 characters",
            "schema": {
              "type": "string",
              "maxLength": 2048,
              "format": "uri",
              "pattern": "^https://"
            },
            "example": "https://www.linkedin.com/company/example"
          },
          {
            "name": "monthly_support_ticket_volume",
            "in": "query",
            "required": false,
            "description": "Free-form description, maximum 100 characters",
            "schema": {
              "type": "string",
              "maxLength": 100
            },
            "example": "Between 1,000 and 2,000"
          },
          {
            "name": "ecommerce_platform",
            "in": "query",
            "required": false,
            "description": "Maximum 100 characters",
            "schema": {
              "type": "string",
              "maxLength": 100
            },
            "example": "Shopify"
          },
          {
            "name": "helpdesk_platform",
            "in": "query",
            "required": false,
            "description": "Maximum 100 characters",
            "schema": {
              "type": "string",
              "maxLength": 100
            },
            "example": "Gorgias"
          },
          {
            "name": "country_code",
            "in": "query",
            "required": false,
            "description": "ISO 3166-1 alpha-2 country code",
            "schema": {
              "type": "string",
              "maxLength": 2,
              "pattern": "^[A-Za-z]{2}$"
            },
            "example": "US"
          },
          {
            "name": "free_note",
            "in": "query",
            "required": false,
            "description": "Markdown accepted; the entire URL-encoded query has an 8,192-character budget, so the available free_note length is smaller",
            "schema": {
              "type": "string",
              "maxLength": 8192
            },
            "example": "Goals, setup, workflows, blockers, and timeline"
          },
          {
            "name": "source",
            "in": "query",
            "required": false,
            "description": "Origin attribution, maximum 200 characters; use yuma.ai for this workflow. After a valid non-empty request, the gateway defaults a missing value to yuma.ai",
            "schema": {
              "type": "string",
              "maxLength": 200
            },
            "example": "yuma.ai"
          },
          {
            "name": "user_agent",
            "in": "query",
            "required": false,
            "description": "AI agent or client identifier, maximum 1,024 characters. Send it as a query field when known; after a valid non-empty request, the gateway otherwise uses the bounded HTTP User-Agent",
            "schema": {
              "type": "string",
              "maxLength": 1024
            },
            "example": "ExampleAgent/1.0"
          }
        ],
        "responses": {
          "200": {
            "description": "Storage could not be confirmed. Do not retry automatically or immediately; report the ambiguity and wait for direction."
          },
          "201": {
            "description": "The access request was stored. Save request_id and follow the response."
          },
          "400": {
            "description": "No valid field was supplied; nothing was submitted or stored."
          },
          "403": {
            "description": "Submission is disabled outside the production website."
          },
          "422": {
            "description": "The query was invalid; nothing was submitted or stored."
          },
          "429": {
            "description": "The access-request service is rate limited."
          }
        }
      }
    }
  }
}