{"openapi":"3.0.3","info":{"title":"AA.Docs Sandbox API","version":"1.0.0","description":"Live credential-free test environment for AA.Docs agents. All data is synthetic, requests are stateless, and no operation can change production state.","contact":{"name":"AA.Docs developer support","url":"https://aadocs.ru/developers"}},"servers":[{"url":"https://aadocs.ru/api/sandbox/v1","description":"Live AA.Docs sandbox API base"}],"security":[],"tags":[{"name":"Sandbox","description":"Safe AA.Docs endpoints for zero-credential integration checks.","externalDocs":{"description":"AA.Docs sandbox guide","url":"https://aadocs.ru/docs/sandbox"}}],"paths":{"/":{"get":{"operationId":"sandbox.getInfo","summary":"Discover the AA.Docs public synthetic sandbox","description":"Returns live sandbox capabilities, data-safety constraints, example endpoints and official CLI installation information. No account or API key is required.","tags":["Sandbox"],"security":[],"responses":{"200":{"description":"Sandbox capabilities","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxInfo"}}}},"429":{"description":"Превышен лимит запросов; время ожидания указано в Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}},"headers":{"RateLimit-Policy":{"description":"Structured quota policy: name, quota and time window.","schema":{"type":"string","example":"\"auth\";q=20;w=60"}},"RateLimit":{"description":"Structured current quota state: policy name, remaining units and reset delay.","schema":{"type":"string","example":"\"auth\";r=0;t=42"}},"Retry-After":{"description":"Сколько секунд подождать перед повтором","schema":{"type":"integer","minimum":1}}}}}}},"/documents/sample":{"get":{"operationId":"sandbox.getSampleDocument","summary":"Read a synthetic AA.Docs document","description":"Returns a fixed synthetic contract that is safe for onboarding, examples and automated integration checks. No file or production data is exposed.","tags":["Sandbox"],"security":[],"responses":{"200":{"description":"Synthetic sample document","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxSampleDocumentResponse"}}}},"429":{"description":"Превышен лимит запросов; время ожидания указано в Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}},"headers":{"RateLimit-Policy":{"description":"Structured quota policy: name, quota and time window.","schema":{"type":"string","example":"\"auth\";q=20;w=60"}},"RateLimit":{"description":"Structured current quota state: policy name, remaining units and reset delay.","schema":{"type":"string","example":"\"auth\";r=0;t=42"}},"Retry-After":{"description":"Сколько секунд подождать перед повтором","schema":{"type":"integer","minimum":1}}}}}}},"/processes/preview":{"post":{"operationId":"sandbox.previewProcess","summary":"Preview a synthetic AA.Docs process","description":"Validates synthetic document metadata and returns completeness checks plus a proposed review route. The call is stateless, never persists data and cannot create a production process.","tags":["Sandbox"],"security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxPreviewRequest"}}}},"responses":{"200":{"description":"Stateless synthetic process preview","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxPreviewResponse"}}}},"400":{"description":"The synthetic preview input is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"429":{"description":"Превышен лимит запросов; время ожидания указано в Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}},"headers":{"RateLimit-Policy":{"description":"Structured quota policy: name, quota and time window.","schema":{"type":"string","example":"\"auth\";q=20;w=60"}},"RateLimit":{"description":"Structured current quota state: policy name, remaining units and reset delay.","schema":{"type":"string","example":"\"auth\";r=0;t=42"}},"Retry-After":{"description":"Сколько секунд подождать перед повтором","schema":{"type":"integer","minimum":1}}}}}}}},"components":{"schemas":{"AttributionTouch":{"type":"object","required":["capturedAt","landingPath","referrer","source","medium","campaign","content","term","yclid","aiSource"],"properties":{"capturedAt":{"type":"string","format":"date-time"},"landingPath":{"type":"string","maxLength":300},"referrer":{"type":"string","maxLength":300,"nullable":true},"source":{"type":"string","maxLength":300,"nullable":true},"medium":{"type":"string","maxLength":300,"nullable":true},"campaign":{"type":"string","maxLength":300,"nullable":true},"content":{"type":"string","maxLength":300,"nullable":true},"term":{"type":"string","maxLength":300,"nullable":true},"yclid":{"type":"string","maxLength":300,"nullable":true},"aiSource":{"type":"string","enum":["chatgpt","perplexity","copilot","yandex-alice","other-ai"],"nullable":true}}},"ContactRequest":{"type":"object","additionalProperties":false,"required":["name","company","email","processType"],"properties":{"name":{"type":"string","minLength":2},"company":{"type":"string","minLength":2},"email":{"type":"string","format":"email"},"processType":{"type":"string","minLength":2},"comment":{"type":"string","maxLength":1000},"attribution":{"type":"object","nullable":true,"required":["firstTouch","lastTouch"],"properties":{"firstTouch":{"$ref":"#/components/schemas/AttributionTouch"},"lastTouch":{"$ref":"#/components/schemas/AttributionTouch"}}}}},"ContactRequestAccepted":{"type":"object","additionalProperties":false,"required":["message","requestId","submittedAt"],"properties":{"message":{"type":"string"},"requestId":{"type":"string","format":"uuid"},"submittedAt":{"type":"string","format":"date-time"}}},"McpRequest":{"type":"object","description":"JSON-RPC 2.0 request accepted by the Model Context Protocol endpoint.","required":["jsonrpc","method"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"method":{"type":"string"},"params":{"type":"object","additionalProperties":true}}},"McpResponse":{"type":"object","description":"JSON-RPC 2.0 response or protocol notification.","additionalProperties":true},"SandboxInfo":{"type":"object","required":["name","version","status","authentication","onboarding","freeTier","dataPolicy","endpoints","cli"],"properties":{"name":{"type":"string","example":"AA.Docs public synthetic sandbox"},"version":{"type":"string","enum":["v1"]},"status":{"type":"string","enum":["available"]},"authentication":{"type":"object","required":["required","apiKeyRequired"],"properties":{"required":{"type":"boolean","enum":[false]},"apiKeyRequired":{"type":"boolean","enum":[false]}}},"onboarding":{"type":"object","required":["selfService","zeroAuth","registrationRequired","firstCallUrl"],"properties":{"selfService":{"type":"boolean","enum":[true]},"zeroAuth":{"type":"boolean","enum":[true]},"registrationRequired":{"type":"boolean","enum":[false]},"firstCallUrl":{"type":"string","format":"uri"}}},"freeTier":{"type":"object","required":["available","price","currency","scope"],"properties":{"available":{"type":"boolean","enum":[true]},"price":{"type":"number","enum":[0]},"currency":{"type":"string","enum":["RUB"]},"scope":{"type":"string","enum":["synthetic-sandbox"]}}},"dataPolicy":{"type":"object","required":["syntheticOnly","persistent","acceptsFiles","productionDataAllowed"],"properties":{"syntheticOnly":{"type":"boolean","enum":[true]},"persistent":{"type":"boolean","enum":[false]},"acceptsFiles":{"type":"boolean","enum":[false]},"productionDataAllowed":{"type":"boolean","enum":[false]}}},"endpoints":{"type":"object","additionalProperties":{"type":"string","format":"uri"}},"cli":{"type":"object","additionalProperties":{"type":"string"}},"requestId":{"type":"string","format":"uuid"}}},"SandboxSampleDocumentResponse":{"type":"object","required":["document","requestId"],"properties":{"document":{"type":"object","required":["id","synthetic","type","title","version","fields","attachments"],"properties":{"id":{"type":"string"},"synthetic":{"type":"boolean","enum":[true]},"type":{"type":"string","enum":["contract"]},"title":{"type":"string"},"version":{"type":"integer","minimum":1},"fields":{"type":"object","additionalProperties":true},"attachments":{"type":"array","items":{"type":"object","additionalProperties":true}}}},"requestId":{"type":"string","format":"uuid"}}},"SandboxPreviewRequest":{"type":"object","additionalProperties":false,"required":["documentType"],"properties":{"documentType":{"type":"string","enum":["contract","invoice","commercial_proposal","specification"]},"amount":{"type":"number","exclusiveMinimum":0,"maximum":1000000000000},"currency":{"type":"string","enum":["RUB","USD","EUR"],"default":"RUB"},"hasCounterparty":{"type":"boolean","default":true},"hasAttachments":{"type":"boolean","default":true}}},"SandboxPreviewResponse":{"type":"object","required":["sandbox","persisted","previewId","input","readyToStart","checks","stages","nextAction","requestId"],"properties":{"sandbox":{"type":"boolean","enum":[true]},"persisted":{"type":"boolean","enum":[false]},"previewId":{"type":"string"},"input":{"$ref":"#/components/schemas/SandboxPreviewRequest"},"readyToStart":{"type":"boolean"},"checks":{"type":"array","items":{"type":"object","additionalProperties":true}},"stages":{"type":"array","items":{"type":"object","additionalProperties":true}},"nextAction":{"type":"string"},"requestId":{"type":"string","format":"uuid"}}},"DeprecatedApiStatus":{"type":"object","additionalProperties":false,"required":["version","status","deprecatedAt","sunsetAt","successor","policy"],"properties":{"version":{"type":"string","enum":["v0"]},"status":{"type":"string","enum":["deprecated"]},"deprecatedAt":{"type":"string","format":"date-time"},"sunsetAt":{"type":"string","format":"date-time"},"successor":{"type":"string","format":"uri"},"policy":{"type":"string","format":"uri"}}}}},"externalDocs":{"description":"AA.Docs sandbox quickstart and safety boundary","url":"https://aadocs.ru/docs/sandbox"}}