{"service":"ttyinv","serviceVersion":"0.1.0","contractVersion":"ttyinv-agent/v1","docs":"/docs","schema":"/api/v1/invoices/schema","authentication":{"scheme":"Bearer","tokenEnvironmentVariable":"TTYINV_AGENT_TOKEN","header":"Authorization: Bearer <token>"},"contentType":"application/json","rest":{"operations":{"discovery":{"method":"GET","path":"/api/v1","authentication":"none","contentType":"application/json","cacheControl":"no-store","inputSchema":"none","success":{"status":200,"outputDescription":"The public discovery document."},"purchase":"none","commonFailures":[]},"schema":{"method":"GET","path":"/api/v1/invoices/schema","authentication":"none","contentType":"application/json","cacheControl":"public, max-age=300, stale-while-revalidate=3600","inputSchema":"none","success":{"status":200,"outputSchema":"/api/v1/invoices/schema"},"purchase":"none","commonFailures":[]},"create":{"method":"POST","path":"/api/v1/invoices","authentication":"Bearer token","contentType":"application/json","cacheControl":"no-store","inputSchema":"/api/v1/invoices/schema#/operations/create/input","success":{"status":201,"outputSchema":"/api/v1/invoices/schema#/operations/create/output"},"purchase":"not required","commonFailures":[400,401,403,413,415,422,429]},"validate":{"method":"POST","path":"/api/v1/invoices/validate","authentication":"Bearer token","contentType":"application/json","cacheControl":"no-store","inputSchema":"/api/v1/invoices/schema#/operations/validate/input","success":{"status":200,"outputSchema":"/api/v1/invoices/schema#/operations/validate/output"},"purchase":"not required","commonFailures":[400,401,403,413,415,422,429]},"render":{"method":"POST","path":"/api/v1/invoices/render","authentication":"Bearer token","contentType":"application/json","cacheControl":"no-store","inputSchema":"/api/v1/invoices/schema#/operations/render/input","success":{"status":200,"outputSchema":"/api/v1/invoices/schema#/operations/render/output"},"purchase":"active lifetime purchase required","commonFailures":[400,401,402,403,413,415,422,429,503,504]}}},"mcp":{"endpoint":"/mcp","transport":"Streamable HTTP","initialize":"POST /mcp with an MCP initialize request","toolDiscovery":"tools/list","tools":[{"name":"create_invoice","operation":"create","authentication":"Bearer token","inputSchema":"/api/v1/invoices/schema#/operations/create/input","outputSchema":"/api/v1/invoices/schema#/operations/create/output","purchase":"not required"},{"name":"validate_invoice","operation":"validate","authentication":"Bearer token","inputSchema":"/api/v1/invoices/schema#/operations/validate/input","outputSchema":"/api/v1/invoices/schema#/operations/validate/output","purchase":"not required"},{"name":"render_invoice","operation":"render","authentication":"Bearer token","inputSchema":"/api/v1/invoices/schema#/operations/render/input","outputSchema":"/api/v1/invoices/schema#/operations/render/output","purchase":"active lifetime purchase required"}],"authentication":"Bearer token","purchase":{"create":"not required","validate":"not required","render":"active lifetime purchase required"},"errors":[400,401,402,403,413,422,429,503,504]},"purchase":{"create":"not required","validate":"not required","render":"active lifetime purchase required"},"statusMeanings":{"400":"The request body is missing or is not valid JSON.","401":"The Bearer token is missing, invalid, expired, or revoked.","402":"The render operation needs an active lifetime purchase.","403":"The request origin, host, or token scope is not allowed.","413":"The request or rendered output exceeds a safety limit.","415":"The request does not use application/json.","422":"The JSON does not match the operation schema, or validation failed.","429":"The token or render capacity has reached its rate limit.","503":"Rendering is unavailable in the current environment.","504":"Rendering exceeded its time limit."}}