{"openapi":"3.0.3","info":{"title":"Rocketstack Control Plane API","description":"Combined API for Functions, Queues, KV, Storage, Cron, and Scheduler.","version":"1.0.0"},"servers":[{"url":"https:\/\/api.rocketstack.sh"}],"tags":[{"name":"functions","description":"Serverless function deployment and invocation"},{"name":"queues","description":"Message queue management and delivery"},{"name":"kv","description":"Key-value storage operations"},{"name":"storage","description":"Object storage with presigned URLs"},{"name":"cron","description":"Scheduled job management"},{"name":"scheduler","description":"One-off scheduled task management"},{"name":"resources","description":"Templates, snippets, and capabilities for app generation (e.g. MCP, Cursor)"}],"paths":{"\/functions":{"post":{"operationId":"createFunction","summary":"Create a new function","tags":["functions"],"description":"Creates a new function and uploads its code bundle in a single request.","requestBody":{"content":{"multipart\/form-data":{"schema":{"type":"object","required":["name","runtime","handler","code"],"properties":{"name":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-zA-Z][a-zA-Z0-9-_]*$","description":"Function name. Must start with a letter and contain only alphanumeric characters, hyphens, and underscores."},"runtime":{"type":"string","enum":["nodejs20.x","python3.12"],"description":"Runtime for the function."},"handler":{"type":"string","minLength":1,"description":"Handler entrypoint (e.g. index.handler)."},"memoryMb":{"type":"integer","minimum":128,"maximum":10240,"description":"Memory in MB. Default 256."},"timeoutSeconds":{"type":"integer","minimum":1,"maximum":60,"description":"Timeout in seconds. Default 10."},"env":{"type":"string","description":"JSON object of env vars, e.g. {\"KEY\":\"value\"}."},"reservedConcurrency":{"type":"integer","nullable":true,"minimum":0,"maximum":100,"description":"Concurrency cap. null = unreserved, 0 = paused, 1-100 = cap."},"description":{"type":"string","maxLength":256,"description":"Optional description."},"isPublic":{"type":"string","description":"Set to \"true\" to make the function publicly invokable."},"publicMethod":{"type":"string","enum":["GET","POST","PATCH","DELETE"],"description":"HTTP method accepted for public invocation (only applies when isPublic is true)."},"code":{"type":"string","format":"binary","description":"ZIP file containing function code."}}}}},"required":true},"x-rocketstack-mcp":{"notes":"Multipart upload: name, runtime, handler, and code (ZIP) required. Use content alias for MCP. Function deploy uses multipart ZIP upload. Use content + contentEncoding=base64 in MCP.","playbook":{"summary":"Create a function with a multipart ZIP code bundle.","workflow":["Build a ZIP containing your handler source files.","Base64-encode the ZIP locally.","Call with name, runtime, handler, content (base64), contentEncoding=base64."],"commonMistakes":["Passing a local filesystem path in code or content.","Omitting handler (e.g. index.handler for Node.js).","Using an invalid name pattern (must start with a letter)."],"crossFieldRules":["content must be ZIP bytes, not a path."],"exampleCall":{"name":"my-fn","runtime":"nodejs20.x","handler":"index.handler","contentEncoding":"base64","content":"<base64-encoded-zip>"},"fields":[{"name":"name","required":true,"constraints":"1-64 chars, ^[a-zA-Z][a-zA-Z0-9-_]*$","example":"my-fn"},{"name":"runtime","required":true,"constraints":"nodejs20.x or python3.12","example":"nodejs20.x"},{"name":"handler","required":true,"constraints":"Entrypoint e.g. index.handler","example":"index.handler"},{"name":"content","required":true,"constraints":"ZIP file bytes (base64 with contentEncoding=base64)"},{"name":"memoryMb","required":false,"constraints":"128-10240, default 256","example":256},{"name":"timeoutSeconds","required":false,"constraints":"1-60, default 10","example":10}],"agentPresentation":{"description":"Create a RocketStack function. Step 1: Build and base64-encode a ZIP of your code. Step 2: Call with name, runtime, handler, content, contentEncoding=base64. Never pass a filesystem path.","inputSchema":{"type":"object","required":["name","runtime","handler","content"],"description":"Deploy function code as base64 ZIP via content field.","properties":{"name":{"type":"string","pattern":"^[a-zA-Z][a-zA-Z0-9-_]*$","description":"Function name."},"runtime":{"type":"string","enum":["nodejs20.x","python3.12"]},"handler":{"type":"string","description":"Handler entrypoint e.g. index.handler"},"content":{"type":"string","description":"Base64-encoded ZIP \u2014 not a filesystem path."},"contentEncoding":{"type":"string","enum":["utf8","base64"],"default":"base64"},"memoryMb":{"type":"integer","minimum":128,"maximum":10240},"timeoutSeconds":{"type":"integer","minimum":1,"maximum":60},"env":{"type":"string","description":"JSON object string e.g. {\"KEY\":\"value\"}"},"description":{"type":"string","maxLength":256}}}}}},"responses":{"202":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"resourceId":{"type":"string"},"status":{"type":"string"}},"required":["resourceId","status"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}},"get":{"operationId":"listFunctions","summary":"List functions","tags":["functions"],"description":"Returns a paginated list of functions for the tenant.","parameters":[{"schema":{"type":"number","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"cursor","required":false}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"resourceKey":{"type":"string"},"kind":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"isPublic":{"type":"boolean"},"publicUrl":{"type":"string","format":"uri"},"desiredSpec":{"type":"object","properties":{"runtime":{"type":"string","enum":["nodejs20.x","python3.12"]},"handler":{"type":"string"},"memoryMb":{"type":"number"},"timeoutSeconds":{"type":"number"},"reservedConcurrency":{"type":"number","nullable":true},"description":{"type":"string"},"env":{"type":"object","additionalProperties":{"type":"string"}},"isPublic":{"type":"boolean"},"publicMethod":{"type":"string","enum":["GET","POST","PATCH","DELETE"]},"code":{"type":"object","properties":{"hasCode":{"type":"boolean"},"revisionId":{"type":"string","nullable":true}},"required":["hasCode"],"additionalProperties":false}},"required":["runtime","handler","memoryMb","timeoutSeconds","isPublic"],"additionalProperties":false},"actualSpec":{"type":"object","properties":{"deployedAt":{"type":"string"}},"required":["deployedAt"],"additionalProperties":false,"nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","resourceKey","kind","name","status","isPublic","desiredSpec","actualSpec","createdAt","updatedAt"],"additionalProperties":false}},"nextCursor":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/functions\/{id}":{"get":{"operationId":"getFunction","summary":"Get a function by ID","tags":["functions"],"description":"Retrieves details of a specific function including its configuration and status.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"id":{"type":"string"},"resourceKey":{"type":"string"},"kind":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"isPublic":{"type":"boolean"},"publicUrl":{"type":"string","format":"uri"},"desiredSpec":{"type":"object","properties":{"runtime":{"type":"string","enum":["nodejs20.x","python3.12"]},"handler":{"type":"string"},"memoryMb":{"type":"number"},"timeoutSeconds":{"type":"number"},"reservedConcurrency":{"type":"number","nullable":true},"description":{"type":"string"},"env":{"type":"object","additionalProperties":{"type":"string"}},"isPublic":{"type":"boolean"},"publicMethod":{"type":"string","enum":["GET","POST","PATCH","DELETE"]},"code":{"type":"object","properties":{"hasCode":{"type":"boolean"},"revisionId":{"type":"string","nullable":true}},"required":["hasCode"],"additionalProperties":false}},"required":["runtime","handler","memoryMb","timeoutSeconds","isPublic"],"additionalProperties":false},"actualSpec":{"type":"object","properties":{"deployedAt":{"type":"string"}},"required":["deployedAt"],"additionalProperties":false,"nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","resourceKey","kind","name","status","isPublic","desiredSpec","actualSpec","createdAt","updatedAt"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}},"patch":{"operationId":"updateFunction","summary":"Update function settings","tags":["functions"],"description":"Updates function configuration (memory, timeout, env, isPublic, etc.). Does not trigger redeployment.","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"memoryMb":{"type":"number","minimum":128,"maximum":10240},"timeoutSeconds":{"type":"number","minimum":1,"maximum":60},"env":{"type":"object","additionalProperties":{"type":"string"}},"reservedConcurrency":{"type":"number","minimum":0,"maximum":100,"nullable":true},"description":{"type":"string","maxLength":256},"isPublic":{"type":"boolean"},"publicMethod":{"type":"string","enum":["GET","POST","PATCH","DELETE"]}},"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"id":{"type":"string"},"resourceKey":{"type":"string"},"kind":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"isPublic":{"type":"boolean"},"publicUrl":{"type":"string","format":"uri"},"desiredSpec":{"type":"object","properties":{"runtime":{"type":"string","enum":["nodejs20.x","python3.12"]},"handler":{"type":"string"},"memoryMb":{"type":"number"},"timeoutSeconds":{"type":"number"},"reservedConcurrency":{"type":"number","nullable":true},"description":{"type":"string"},"env":{"type":"object","additionalProperties":{"type":"string"}},"isPublic":{"type":"boolean"},"publicMethod":{"type":"string","enum":["GET","POST","PATCH","DELETE"]},"code":{"type":"object","properties":{"hasCode":{"type":"boolean"},"revisionId":{"type":"string","nullable":true}},"required":["hasCode"],"additionalProperties":false}},"required":["runtime","handler","memoryMb","timeoutSeconds","isPublic"],"additionalProperties":false},"actualSpec":{"type":"object","properties":{"deployedAt":{"type":"string"}},"required":["deployedAt"],"additionalProperties":false,"nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","resourceKey","kind","name","status","isPublic","desiredSpec","actualSpec","createdAt","updatedAt"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/functions\/{id}\/code":{"get":{"operationId":"getFunctionCode","summary":"Get function code","tags":["functions"],"description":"Downloads the actual deployed Lambda code package and returns editable source files.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"source":{"type":"string","enum":["lambda","s3"]},"runtime":{"type":"string","enum":["nodejs20.x","python3.12"]},"handler":{"type":"string"},"revisionId":{"type":"string","nullable":true},"deployedAt":{"type":"string","nullable":true},"files":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"content":{"type":"string"}},"required":["name","content"],"additionalProperties":false}}},"required":["source","runtime","handler","files"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}},"post":{"operationId":"updateFunctionCode","summary":"Update function code","tags":["functions"],"description":"Uploads and deploys a new function code bundle in a single request.","requestBody":{"content":{"multipart\/form-data":{"schema":{"type":"object","required":["code"],"properties":{"code":{"type":"string","format":"binary","description":"ZIP file containing function code."}}}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"x-rocketstack-mcp":{"notes":"Multipart upload: code (ZIP) required. Use content + contentEncoding=base64 in MCP. Function deploy uses multipart ZIP upload. Use content + contentEncoding=base64 in MCP.","playbook":{"summary":"Replace function code with a new ZIP bundle.","workflow":["Build ZIP of updated source.","Base64-encode the ZIP.","Call with id and content (base64), contentEncoding=base64."],"commonMistakes":["Passing local path instead of ZIP content.","Missing id path parameter."],"crossFieldRules":["content must be ZIP bytes."],"exampleCall":{"id":"fn_abc123","contentEncoding":"base64","content":"<base64-encoded-zip>"},"fields":[{"name":"id","required":true,"constraints":"Function resource ID"},{"name":"content","required":true,"constraints":"Base64 ZIP bytes"}],"agentPresentation":{"description":"Update function code. Step 1: Base64-encode ZIP locally. Step 2: Call with id and content. Never pass a filesystem path.","inputSchema":{"type":"object","required":["id","content"],"properties":{"id":{"type":"string","description":"Function ID."},"content":{"type":"string","description":"Base64-encoded ZIP."},"contentEncoding":{"type":"string","enum":["utf8","base64"],"default":"base64"}}}}}},"responses":{"202":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"resourceId":{"type":"string"},"status":{"type":"string"}},"required":["resourceId","status"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/functions\/{id}\/invoke":{"post":{"operationId":"invokeFunction","summary":"Invoke a function","tags":["functions"],"description":"Synchronously or asynchronously invokes a deployed function with the provided payload.","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"payload":[],"invocationType":{"type":"string","enum":["RequestResponse","Event"]},"includeLogs":{"type":"boolean"}},"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"requestId":{"type":"string"},"statusCode":{"type":"number"},"payload":[],"functionError":{"type":"string"},"logs":{"type":"string"}},"required":["requestId"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/queues":{"post":{"operationId":"createQueue","summary":"Create a new queue","tags":["queues"],"description":"Creates a new message queue with optional delivery target configuration.","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-zA-Z][a-zA-Z0-9-_]*$"},"visibilityTimeoutSeconds":{"type":"number","minimum":0,"maximum":43200},"retentionSeconds":{"type":"number","minimum":60,"maximum":1209600},"maxReceiveCount":{"type":"number","minimum":1,"maximum":100},"deliveryTarget":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"],"description":"Deliver to a RocketStack function."},"functionId":{"type":"string","description":"Function resource ID. Required when type is function."},"webhookHeaders":{"type":"object","additionalProperties":{"type":"string","maxLength":256},"description":"Optional webhook headers (max 10). Authorization, Cookie, Host, and Content-Length are forbidden."},"timeoutSeconds":{"type":"number","minimum":1,"maximum":30},"maxInFlight":{"type":"number","minimum":1,"maximum":100},"maxPerSecond":{"type":"number","minimum":1,"maximum":1000},"retryableStatusCodes":{"type":"array","items":{"type":"number"},"description":"HTTP status codes that trigger delivery retries."}},"required":["type","functionId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["webhook"],"description":"Deliver to an HTTPS webhook."},"webhookUrl":{"type":"string","format":"uri","description":"HTTPS webhook URL. Must not contain credentials in the URL."},"webhookHeaders":{"$ref":"#\/properties\/deliveryTarget\/anyOf\/0\/properties\/webhookHeaders"},"timeoutSeconds":{"type":"number","minimum":1,"maximum":30},"maxInFlight":{"type":"number","minimum":1,"maximum":100},"maxPerSecond":{"type":"number","minimum":1,"maximum":1000},"retryableStatusCodes":{"$ref":"#\/properties\/deliveryTarget\/anyOf\/0\/properties\/retryableStatusCodes"}},"required":["type","webhookUrl"],"additionalProperties":false}]}},"required":["name"],"additionalProperties":false}}},"required":true},"x-rocketstack-mcp":{"notes":"When deliveryTarget is set, type=function requires functionId; type=webhook requires HTTPS webhookUrl. deliveryTarget requires functionId when type=function, or webhookUrl (HTTPS) when type=webhook.","playbook":{"summary":"Create a message queue with optional delivery target.","workflow":["Choose a name matching ^[a-zA-Z][a-zA-Z0-9-_]*$.","If using deliveryTarget, set type=function with functionId OR type=webhook with HTTPS URL.","Call listFunctions first if you need a functionId."],"commonMistakes":["Webhook URL without HTTPS.","type=function without functionId."],"crossFieldRules":["deliveryTarget.type=function requires functionId (call listFunctions first).","deliveryTarget.type=webhook requires HTTPS webhookUrl."],"exampleCall":{"name":"jobs","deliveryTarget":{"type":"function","functionId":"fn_abc123"}},"fields":[{"name":"name","required":true,"constraints":"Queue name pattern"},{"name":"deliveryTarget","required":false,"constraints":"function or webhook discriminator"}],"agentPresentation":{"description":"Create queue. deliveryTarget: type=function needs functionId; type=webhook needs HTTPS webhookUrl.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","pattern":"^[a-zA-Z][a-zA-Z0-9-_]*$"},"deliveryTarget":{"description":"Optional. type=function|webhook with required sub-fields."},"visibilityTimeoutSeconds":{"type":"integer"},"retentionSeconds":{"type":"integer"},"maxReceiveCount":{"type":"integer"}}}}}},"responses":{"201":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"queueId":{"type":"string"},"status":{"type":"string"}},"required":["queueId","status"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}},"get":{"operationId":"listQueues","summary":"List queues","tags":["queues"],"description":"Returns a paginated list of queues for the tenant.","parameters":[{"schema":{"type":"number","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"cursor","required":false}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"resourceKey":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"visibilityTimeoutSeconds":{"type":"number"},"retentionSeconds":{"type":"number"},"maxReceiveCount":{"type":"number"},"deliveryTarget":{"type":"object","properties":{"type":{"type":"string","enum":["function","webhook"]},"functionId":{"type":"string"},"webhookUrl":{"type":"string"},"timeoutSeconds":{"type":"number"},"maxInFlight":{"type":"number"},"maxPerSecond":{"type":"number"}},"required":["type","timeoutSeconds","maxInFlight"],"additionalProperties":false},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","resourceKey","name","status","visibilityTimeoutSeconds","retentionSeconds","maxReceiveCount","createdAt","updatedAt"],"additionalProperties":false}},"nextCursor":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/queues\/{id}":{"get":{"operationId":"getQueue","summary":"Get a queue by ID","tags":["queues"],"description":"Retrieves details of a specific queue including its configuration.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"id":{"type":"string"},"resourceKey":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"visibilityTimeoutSeconds":{"type":"number"},"retentionSeconds":{"type":"number"},"maxReceiveCount":{"type":"number"},"deliveryTarget":{"type":"object","properties":{"type":{"type":"string","enum":["function","webhook"]},"functionId":{"type":"string"},"webhookUrl":{"type":"string"},"timeoutSeconds":{"type":"number"},"maxInFlight":{"type":"number"},"maxPerSecond":{"type":"number"}},"required":["type","timeoutSeconds","maxInFlight"],"additionalProperties":false},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","resourceKey","name","status","visibilityTimeoutSeconds","retentionSeconds","maxReceiveCount","createdAt","updatedAt"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}},"patch":{"operationId":"updateQueue","summary":"Update a queue","tags":["queues"],"description":"Updates queue configuration. Some changes may require reprovisioning.","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"visibilityTimeoutSeconds":{"type":"number","minimum":0,"maximum":43200},"retentionSeconds":{"type":"number","minimum":60,"maximum":1209600},"maxReceiveCount":{"type":"number","minimum":1,"maximum":100},"deliveryTarget":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"],"description":"Deliver to a RocketStack function."},"functionId":{"type":"string","description":"Function resource ID. Required when type is function."},"webhookHeaders":{"type":"object","additionalProperties":{"type":"string","maxLength":256},"description":"Optional webhook headers (max 10). Authorization, Cookie, Host, and Content-Length are forbidden."},"timeoutSeconds":{"type":"number","minimum":1,"maximum":30},"maxInFlight":{"type":"number","minimum":1,"maximum":100},"maxPerSecond":{"type":"number","minimum":1,"maximum":1000},"retryableStatusCodes":{"type":"array","items":{"type":"number"},"description":"HTTP status codes that trigger delivery retries."}},"required":["type","functionId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["webhook"],"description":"Deliver to an HTTPS webhook."},"webhookUrl":{"type":"string","format":"uri","description":"HTTPS webhook URL. Must not contain credentials in the URL."},"webhookHeaders":{"$ref":"#\/properties\/deliveryTarget\/anyOf\/0\/properties\/webhookHeaders"},"timeoutSeconds":{"type":"number","minimum":1,"maximum":30},"maxInFlight":{"type":"number","minimum":1,"maximum":100},"maxPerSecond":{"type":"number","minimum":1,"maximum":1000},"retryableStatusCodes":{"$ref":"#\/properties\/deliveryTarget\/anyOf\/0\/properties\/retryableStatusCodes"}},"required":["type","webhookUrl"],"additionalProperties":false}]}},"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"x-rocketstack-mcp":{"notes":"When deliveryTarget is set, type=function requires functionId; type=webhook requires HTTPS webhookUrl. deliveryTarget requires functionId when type=function, or webhookUrl (HTTPS) when type=webhook.","playbook":{"summary":"Update queue settings and delivery target.","workflow":["Provide queue id.","Patch fields to update.","Follow deliveryTarget rules if set."],"commonMistakes":["deliveryTarget.type=function requires functionId (call listFunctions first).","deliveryTarget.type=webhook requires HTTPS webhookUrl."],"crossFieldRules":["deliveryTarget.type=function requires functionId (call listFunctions first).","deliveryTarget.type=webhook requires HTTPS webhookUrl."],"exampleCall":{"id":"q_abc","deliveryTarget":{"type":"webhook","webhookUrl":"https:\/\/example.com\/hook"}},"fields":[{"name":"id","required":true,"constraints":"Queue ID"}],"agentPresentation":{"description":"Update queue by id. deliveryTarget rules match createQueue.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"deliveryTarget":{"description":"type=function needs functionId; type=webhook needs HTTPS URL."}}}}}},"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"queueId":{"type":"string"},"status":{"type":"string"},"provisioningRequired":{"type":"boolean"}},"required":["queueId","status","provisioningRequired"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}},"delete":{"operationId":"deleteQueue","summary":"Delete a queue","tags":["queues"],"description":"Deletes a queue and its associated resources.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"queueId":{"type":"string"},"status":{"type":"string"}},"required":["queueId","status"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/queues\/{id}\/messages":{"post":{"operationId":"enqueueMessage","summary":"Enqueue a message","tags":["queues"],"description":"Adds a message to the queue for processing.","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"payload":[],"idempotencyKey":{"type":"string","maxLength":128},"delaySeconds":{"type":"number","minimum":0,"maximum":900}},"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"201":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"messageId":{"type":"string"},"status":{"type":"string"}},"required":["messageId","status"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}},"get":{"operationId":"listQueueMessages","summary":"List queue messages","tags":["queues"],"description":"Returns a paginated list of message metadata for a queue. Payload content is not stored.","parameters":[{"schema":{"type":"number","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"cursor","required":false},{"schema":{"type":"string","enum":["enqueued","delivering","delivered","dead_lettered"]},"in":"query","name":"status","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"messageId":{"type":"string"},"status":{"type":"string"},"attempts":{"type":"number"},"lastError":{"type":"string"},"payloadSizeBytes":{"type":"number"},"idempotencyKey":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["messageId","status","attempts","payloadSizeBytes","createdAt","updatedAt"],"additionalProperties":false}},"nextCursor":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/queues\/{id}\/messages\/{messageId}":{"get":{"operationId":"getMessageStatus","summary":"Get message status","tags":["queues"],"description":"Retrieves the current status of a message in the queue.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"messageId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"messageId":{"type":"string"},"status":{"type":"string"},"attempts":{"type":"number"},"lastError":{"type":"string"},"payloadSizeBytes":{"type":"number"},"idempotencyKey":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["messageId","status","attempts","payloadSizeBytes","createdAt","updatedAt"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/kv\/items":{"get":{"operationId":"listKvItems","summary":"List KV items","tags":["kv"],"description":"Returns a paginated list of KV items, optionally filtered by prefix.","parameters":[{"schema":{"type":"string","maxLength":512},"in":"query","name":"prefix","required":false},{"schema":{"type":"integer","minimum":1,"maximum":200},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"cursor","required":false}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"version":{"type":"string"},"expiresAt":{"type":"string","nullable":true},"updatedAt":{"type":"string"}},"required":["key","version","expiresAt","updatedAt"],"additionalProperties":false}},"nextCursor":{"type":"string","nullable":true}},"required":["items","nextCursor"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/kv\/items\/{wildcard}":{"get":{"operationId":"getKvItem","summary":"Get a KV item by key","tags":["kv"],"description":"Retrieves a single key-value item by key.","parameters":[{"schema":{"type":"string"},"in":"path","name":"wildcard","required":true}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"key":{"type":"string"},"value":[],"version":{"type":"string"},"expiresAt":{"type":"string","nullable":true}},"required":["key","version","expiresAt"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}},"put":{"operationId":"putKvItem","summary":"Create or update a KV item","tags":["kv"],"description":"Creates or updates a key-value item. Supports TTL and conditional writes via ifVersion. Use ttlSeconds OR expiresAt, never both.","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"value":{"description":"JSON value to store (max 64KB when serialized)."},"ttlSeconds":{"type":"integer","minimum":1,"maximum":2592000,"description":"Relative TTL in seconds (1-2592000). Mutually exclusive with expiresAt."},"expiresAt":{"type":"string","format":"date-time","description":"Absolute expiration ISO 8601 datetime. Mutually exclusive with ttlSeconds."},"ifVersion":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"string","pattern":"^\\d+$"}],"description":"Conditional write: only update if current version matches."}},"additionalProperties":false}}}},"x-rocketstack-mcp":{"notes":"Use ttlSeconds OR expiresAt for expiration, never both. Omit both for no expiration. KV keys may contain slashes; URL-encode the key path segment in {wildcard}.","excludeTogether":[["ttlSeconds","expiresAt"]],"playbook":{"summary":"Create or update a KV item.","workflow":["Set wildcard to the key (URL-encode slashes in path segment).","Provide value as JSON.","Optionally set ttlSeconds OR expiresAt \u2014 never both."],"commonMistakes":["Setting both ttlSeconds and expiresAt.","Not URL-encoding keys with slashes in wildcard."],"crossFieldRules":["Use ttlSeconds OR expiresAt, never both."],"exampleCall":{"wildcard":"user:123","value":{"name":"Jane"},"ttlSeconds":3600},"fields":[{"name":"wildcard","required":true,"constraints":"KV key; URL-encode \/ in key"},{"name":"value","required":true,"constraints":"JSON value (max 64KB serialized)"},{"name":"ttlSeconds","required":false,"constraints":"1-2592000, XOR with expiresAt"},{"name":"expiresAt","required":false,"constraints":"ISO 8601 datetime, XOR with ttlSeconds"}],"agentPresentation":{"description":"Put KV item. Provide wildcard + value. Use ttlSeconds OR expiresAt, never both. URL-encode slashes in wildcard.","inputSchema":{"type":"object","required":["wildcard","value"],"description":"Do not specify ttlSeconds and expiresAt together.","properties":{"wildcard":{"type":"string","description":"KV key (URL-encode slashes)."},"value":{"description":"JSON value to store."},"ttlSeconds":{"type":"integer","minimum":1,"maximum":2592000},"expiresAt":{"type":"string","format":"date-time"},"ifVersion":{"description":"Conditional write version."}}}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"wildcard","required":true}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"key":{"type":"string"},"version":{"type":"string"},"expiresAt":{"type":"string","nullable":true}},"required":["key","version","expiresAt"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}},"delete":{"operationId":"deleteKvItem","summary":"Delete a KV item","tags":["kv"],"description":"Deletes a key-value item by key.","parameters":[{"schema":{"type":"string"},"in":"path","name":"wildcard","required":true}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"deleted":{"type":"boolean","enum":[true]}},"required":["deleted"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/storage\/public\/objects\/{tenantId}\/{wildcard}":{"get":{"operationId":"getPublicObject","summary":"Get a public object","tags":["storage"],"description":"Returns the object body for a public object. No authentication required. This is the stable URL for objects uploaded with public=true.","parameters":[{"schema":{"type":"string"},"in":"path","name":"tenantId","required":true},{"schema":{"type":"string"},"in":"path","name":"wildcard","required":true,"description":"Object path (may contain slashes)"}],"responses":{"200":{"description":"Object body (binary stream)","content":{"application\/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/storage\/objects":{"post":{"operationId":"uploadObject","summary":"Upload an object","tags":["storage"],"description":"Upload a file directly to storage via multipart form data.","requestBody":{"content":{"multipart\/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"path":{"type":"string","minLength":1,"maxLength":1024},"public":{"type":"string","description":"Set to \"true\" to make the object publicly accessible"}},"required":["file","path"]}}},"required":true},"x-rocketstack-mcp":{"notes":"Pass file contents in \"content\" (not a local path). Use contentEncoding=base64 for binary. Set path to the storage key. Storage paths must not start with \/. Use multipart upload for binary files.","playbook":{"summary":"Upload a file to RocketStack storage.","workflow":["Read the file from the user workspace with your file-read tool.","Call with path (storage key) and content (full file bytes).","For binary files use contentEncoding=base64."],"commonMistakes":["Passing a local filesystem path in file or content.","Sending only path without content."],"crossFieldRules":[],"exampleCall":{"path":"index.html","content":"<!DOCTYPE html>...","contentType":"text\/html"},"fields":[{"name":"path","required":true,"constraints":"Storage key, no leading \/","example":"index.html"},{"name":"content","required":true,"constraints":"Full file bytes from file-read tool"},{"name":"contentType","required":false,"constraints":"MIME type, inferred from path if omitted"},{"name":"public","required":false,"constraints":"\"true\" for public object"}],"agentPresentation":{"description":"Upload to storage. Step 1: Read file locally. Step 2: Call with path + content. Never pass a filesystem path.","inputSchema":{"type":"object","required":["path","content"],"description":"Read the file locally first, then upload path + content.","properties":{"path":{"type":"string","description":"Storage key e.g. index.html"},"content":{"type":"string","description":"Full file contents \u2014 not a path."},"contentEncoding":{"type":"string","enum":["utf8","base64"],"default":"utf8"},"contentType":{"type":"string"},"public":{"type":"string","enum":["true","false"]}}}}}},"responses":{"201":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"path":{"type":"string"},"sizeBytes":{"type":"integer"},"etag":{"type":"string"},"contentType":{"type":"string"},"publicUrl":{"type":"string","format":"uri"}},"required":["path","sizeBytes","etag","contentType"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"413":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}},"get":{"operationId":"listStorageObjects","summary":"List storage objects","tags":["storage"],"description":"Returns a paginated list of objects in storage, optionally filtered by prefix.","parameters":[{"schema":{"type":"string","maxLength":1024},"in":"query","name":"prefix","required":false},{"schema":{"type":"string","enum":["all","private","public"]},"in":"query","name":"visibility","required":false},{"schema":{"type":"integer","minimum":1,"maximum":200},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"cursor","required":false}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"sizeBytes":{"type":"number"},"lastModified":{"type":"string"},"etag":{"type":"string"},"isPublic":{"type":"boolean"},"publicUrl":{"type":"string","format":"uri"}},"required":["path","sizeBytes","lastModified","etag"],"additionalProperties":false}},"nextCursor":{"type":"string","nullable":true}},"required":["items","nextCursor"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}},"delete":{"operationId":"deleteStorageObject","summary":"Delete a storage object","tags":["storage"],"description":"Deletes an object by path.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":1024},"in":"query","name":"path","required":true,"description":"Object path without leading slash. Segments: letters, digits, dots, underscores, hyphens only."},{"schema":{"type":"boolean"},"in":"query","name":"public","required":false}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"deleted":{"type":"boolean","enum":[true]}},"required":["deleted"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/storage\/download-url":{"post":{"operationId":"createDownloadUrl","summary":"Create a presigned download URL","tags":["storage"],"description":"Generates a presigned S3 URL for downloading an object.","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":1024,"description":"Object path without leading slash. Segments: letters, digits, dots, underscores, hyphens only."},"expiresInSeconds":{"type":"integer","minimum":60,"maximum":3600},"public":{"type":"boolean"}},"required":["path"],"additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"path":{"type":"string"},"downloadUrl":{"type":"string"},"expiresAt":{"type":"string","format":"date-time","nullable":true},"publicUrl":{"type":"string","format":"uri"}},"required":["path","downloadUrl","expiresAt"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/storage\/finalize":{"post":{"operationId":"finalizeUpload","summary":"Finalize an upload","tags":["storage"],"description":"Verifies an uploaded object exists and returns its metadata.","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":1024,"description":"Object path without leading slash. Segments: letters, digits, dots, underscores, hyphens only."}},"required":["path"],"additionalProperties":false}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"path":{"type":"string"},"sizeBytes":{"type":"number"},"etag":{"type":"string"},"lastModified":{"type":"string"}},"required":["path","sizeBytes","etag","lastModified"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/cron":{"post":{"operationId":"createCronJob","summary":"Create a new cron job","tags":["cron"],"description":"Creates a new scheduled cron job with the specified schedule and delivery target.","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-zA-Z][a-zA-Z0-9-_]*$"},"schedule":{"type":"object","properties":{"expression":{"type":"string","minLength":1},"format":{"type":"string","enum":["aws","unix5"]},"timezone":{"type":"string"}},"required":["expression"],"additionalProperties":false},"deliveryTarget":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"],"description":"Deliver to a RocketStack function."},"functionId":{"type":"string","description":"Function resource ID. Required when type is function."},"webhookHeaders":{"type":"object","additionalProperties":{"type":"string","maxLength":256},"description":"Optional webhook headers (max 10). Authorization, Cookie, Host, and Content-Length are forbidden."},"timeoutSeconds":{"type":"number","minimum":1,"maximum":30},"maxInFlight":{"type":"number","minimum":1,"maximum":50},"maxPerSecond":{"type":"number","minimum":1,"maximum":200},"retryableStatusCodes":{"type":"array","items":{"type":"number"},"description":"HTTP status codes that trigger delivery retries."}},"required":["type","functionId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["webhook"],"description":"Deliver to an HTTPS webhook."},"webhookUrl":{"type":"string","format":"uri","description":"HTTPS webhook URL. Must not contain credentials in the URL."},"webhookHeaders":{"$ref":"#\/properties\/deliveryTarget\/anyOf\/0\/properties\/webhookHeaders"},"timeoutSeconds":{"type":"number","minimum":1,"maximum":30},"maxInFlight":{"type":"number","minimum":1,"maximum":50},"maxPerSecond":{"type":"number","minimum":1,"maximum":200},"retryableStatusCodes":{"$ref":"#\/properties\/deliveryTarget\/anyOf\/0\/properties\/retryableStatusCodes"}},"required":["type","webhookUrl"],"additionalProperties":false}]},"paused":{"type":"boolean"},"payloadTemplate":{"type":"object","additionalProperties":[]}},"required":["name","schedule","deliveryTarget"],"additionalProperties":false}}},"required":true},"x-rocketstack-mcp":{"notes":"schedule.expression is required. deliveryTarget.type determines required fields. schedule.expression uses unix5 or aws format. deliveryTarget rules match queues.","playbook":{"summary":"Create a scheduled cron job.","workflow":["Set name and schedule.expression (unix5 or aws cron format).","Set deliveryTarget with type=function or type=webhook."],"commonMistakes":["Missing schedule.expression.","deliveryTarget.type=function requires functionId (call listFunctions first).","deliveryTarget.type=webhook requires HTTPS webhookUrl."],"crossFieldRules":["schedule.expression required.","deliveryTarget.type=function requires functionId (call listFunctions first).","deliveryTarget.type=webhook requires HTTPS webhookUrl."],"exampleCall":{"name":"daily-job","schedule":{"expression":"0 9 * * *"},"deliveryTarget":{"type":"function","functionId":"fn_abc123"}},"fields":[{"name":"name","required":true,"constraints":"Cron job name"},{"name":"schedule","required":true,"constraints":"Object with expression field"},{"name":"deliveryTarget","required":true,"constraints":"function or webhook"}],"agentPresentation":{"description":"Create cron job. schedule.expression required. deliveryTarget rules match queues.","inputSchema":{"type":"object","required":["name","schedule","deliveryTarget"],"properties":{"name":{"type":"string"},"schedule":{"type":"object","description":"{ expression: \"0 9 * * *\" }"},"deliveryTarget":{"description":"type=function|webhook"},"payloadTemplate":{"type":"object"}}}}}},"responses":{"201":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"cronJobId":{"type":"string"},"status":{"type":"string"},"schedule":{"type":"object","properties":{"expression":{"type":"string"},"format":{"type":"string","enum":["aws","unix5"]},"timezone":{"type":"string"},"expressionNormalized":{"type":"string"}},"required":["expression","format","timezone"],"additionalProperties":false}},"required":["cronJobId","status","schedule"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}},"get":{"operationId":"listCronJobs","summary":"List cron jobs","tags":["cron"],"description":"Returns a paginated list of cron jobs for the tenant.","parameters":[{"schema":{"type":"number","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"cursor","required":false}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"resourceKey":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"schedule":{"type":"object","properties":{"expression":{"type":"string"},"format":{"type":"string","enum":["aws","unix5"]},"timezone":{"type":"string"},"expressionNormalized":{"type":"string"}},"required":["expression","format","timezone"],"additionalProperties":false},"deliveryTarget":{"type":"object","properties":{"type":{"type":"string","enum":["function","webhook"]},"functionId":{"type":"string"},"webhookUrl":{"type":"string"},"timeoutSeconds":{"type":"number"},"maxInFlight":{"type":"number"},"maxPerSecond":{"type":"number"}},"required":["type","timeoutSeconds","maxInFlight"],"additionalProperties":false},"paused":{"type":"boolean"},"payloadTemplate":{"type":"object","additionalProperties":[],"nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","resourceKey","name","status","schedule","deliveryTarget","paused","createdAt","updatedAt"],"additionalProperties":false}},"nextCursor":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/cron\/{id}":{"get":{"operationId":"getCronJob","summary":"Get a cron job by ID","tags":["cron"],"description":"Retrieves details of a specific cron job including its schedule and configuration.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"id":{"type":"string"},"resourceKey":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"schedule":{"type":"object","properties":{"expression":{"type":"string"},"format":{"type":"string","enum":["aws","unix5"]},"timezone":{"type":"string"},"expressionNormalized":{"type":"string"}},"required":["expression","format","timezone"],"additionalProperties":false},"deliveryTarget":{"type":"object","properties":{"type":{"type":"string","enum":["function","webhook"]},"functionId":{"type":"string"},"webhookUrl":{"type":"string"},"timeoutSeconds":{"type":"number"},"maxInFlight":{"type":"number"},"maxPerSecond":{"type":"number"}},"required":["type","timeoutSeconds","maxInFlight"],"additionalProperties":false},"paused":{"type":"boolean"},"payloadTemplate":{"type":"object","additionalProperties":[],"nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","resourceKey","name","status","schedule","deliveryTarget","paused","createdAt","updatedAt"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}},"patch":{"operationId":"updateCronJob","summary":"Update a cron job","tags":["cron"],"description":"Updates cron job configuration. Changes require AWS reprovisioning.","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"schedule":{"type":"object","properties":{"expression":{"type":"string","minLength":1},"format":{"type":"string","enum":["aws","unix5"]},"timezone":{"type":"string"}},"additionalProperties":false},"deliveryTarget":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"],"description":"Deliver to a RocketStack function."},"functionId":{"type":"string","description":"Function resource ID. Required when type is function."},"webhookHeaders":{"type":"object","additionalProperties":{"type":"string","maxLength":256},"description":"Optional webhook headers (max 10). Authorization, Cookie, Host, and Content-Length are forbidden."},"timeoutSeconds":{"type":"number","minimum":1,"maximum":30},"maxInFlight":{"type":"number","minimum":1,"maximum":50},"maxPerSecond":{"type":"number","minimum":1,"maximum":200},"retryableStatusCodes":{"type":"array","items":{"type":"number"},"description":"HTTP status codes that trigger delivery retries."}},"required":["type","functionId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["webhook"],"description":"Deliver to an HTTPS webhook."},"webhookUrl":{"type":"string","format":"uri","description":"HTTPS webhook URL. Must not contain credentials in the URL."},"webhookHeaders":{"$ref":"#\/properties\/deliveryTarget\/anyOf\/0\/properties\/webhookHeaders"},"timeoutSeconds":{"type":"number","minimum":1,"maximum":30},"maxInFlight":{"type":"number","minimum":1,"maximum":50},"maxPerSecond":{"type":"number","minimum":1,"maximum":200},"retryableStatusCodes":{"$ref":"#\/properties\/deliveryTarget\/anyOf\/0\/properties\/retryableStatusCodes"}},"required":["type","webhookUrl"],"additionalProperties":false}]},"paused":{"type":"boolean"},"payloadTemplate":{"type":"object","additionalProperties":[],"nullable":true}},"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"x-rocketstack-mcp":{"notes":"When deliveryTarget is set, type=function requires functionId; type=webhook requires HTTPS webhookUrl. schedule.expression uses unix5 or aws format. deliveryTarget rules match queues.","playbook":{"summary":"Update an existing cron job.","workflow":["Provide cron job id.","Patch schedule and\/or deliveryTarget."],"commonMistakes":["deliveryTarget.type=function requires functionId (call listFunctions first).","deliveryTarget.type=webhook requires HTTPS webhookUrl."],"crossFieldRules":["deliveryTarget.type=function requires functionId (call listFunctions first).","deliveryTarget.type=webhook requires HTTPS webhookUrl."],"exampleCall":{"id":"cron_abc","schedule":{"expression":"0 10 * * *"}},"fields":[{"name":"id","required":true,"constraints":"Cron job ID"}],"agentPresentation":{"description":"Update cron job by id.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"cronJobId":{"type":"string"},"status":{"type":"string"},"provisioningRequired":{"type":"boolean"}},"required":["cronJobId","status","provisioningRequired"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}},"delete":{"operationId":"deleteCronJob","summary":"Delete a cron job","tags":["cron"],"description":"Deletes a cron job and its associated AWS resources.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"cronJobId":{"type":"string"},"status":{"type":"string"}},"required":["cronJobId","status"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/cron\/{id}\/invocations":{"get":{"operationId":"listCronInvocations","summary":"List cron invocation history","tags":["cron"],"description":"Returns a paginated list of delivery attempts and outcomes for a cron job.","parameters":[{"schema":{"type":"number","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"cursor","required":false},{"schema":{"type":"string","enum":["delivered","retrying","discarded","abandoned","enqueued"]},"in":"query","name":"outcome","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"invocationId":{"type":"string"},"action":{"type":"string"},"outcome":{"type":"string","enum":["delivered","retrying","discarded","abandoned","enqueued"]},"occurredAt":{"type":"string"},"attempt":{"type":"number"},"durationMs":{"type":"number"},"error":{"type":"string"},"reason":{"type":"string"},"triggerId":{"type":"string"},"targetType":{"type":"string"},"triggerSource":{"type":"string"},"statusCode":{"type":"number"},"backoffSeconds":{"type":"number"}},"required":["invocationId","action","outcome","occurredAt"],"additionalProperties":false}},"nextCursor":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/schedules":{"post":{"operationId":"createSchedule","summary":"Create a new one-off schedule","tags":["scheduler"],"description":"Creates a new one-off scheduled task to run at a specific time.","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-zA-Z][a-zA-Z0-9-_]*$"},"runAt":{"type":"string","description":"RFC 3339 datetime with timezone (e.g. 2026-03-15T14:30:00Z). Must be in the future (max 365 days)."},"deliveryTarget":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"],"description":"Deliver to a RocketStack function."},"functionId":{"type":"string","description":"Function resource ID. Required when type is function."},"webhookHeaders":{"type":"object","additionalProperties":{"type":"string","maxLength":256},"description":"Optional webhook headers (max 10). Authorization, Cookie, Host, and Content-Length are forbidden."},"timeoutSeconds":{"type":"number","minimum":1,"maximum":30},"maxInFlight":{"type":"number","minimum":1,"maximum":50},"maxPerSecond":{"type":"number","minimum":1,"maximum":200},"retryableStatusCodes":{"type":"array","items":{"type":"number"},"description":"HTTP status codes that trigger delivery retries."}},"required":["type","functionId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["webhook"],"description":"Deliver to an HTTPS webhook."},"webhookUrl":{"type":"string","format":"uri","description":"HTTPS webhook URL. Must not contain credentials in the URL."},"webhookHeaders":{"$ref":"#\/properties\/deliveryTarget\/anyOf\/0\/properties\/webhookHeaders"},"timeoutSeconds":{"type":"number","minimum":1,"maximum":30},"maxInFlight":{"type":"number","minimum":1,"maximum":50},"maxPerSecond":{"type":"number","minimum":1,"maximum":200},"retryableStatusCodes":{"$ref":"#\/properties\/deliveryTarget\/anyOf\/0\/properties\/retryableStatusCodes"}},"required":["type","webhookUrl"],"additionalProperties":false}]},"paused":{"type":"boolean"},"payloadTemplate":{"type":"object","additionalProperties":[]}},"required":["name","runAt","deliveryTarget"],"additionalProperties":false}}},"required":true},"x-rocketstack-mcp":{"notes":"runAt must include timezone (Z or offset). deliveryTarget.type determines required fields. runAt must be RFC 3339 with timezone. deliveryTarget rules match queues.","playbook":{"summary":"Create a one-off scheduled task.","workflow":["Set runAt as RFC 3339 with timezone (e.g. 2026-03-15T14:30:00Z).","Set deliveryTarget with type=function or type=webhook."],"commonMistakes":["runAt without timezone.","deliveryTarget.type=function requires functionId (call listFunctions first).","deliveryTarget.type=webhook requires HTTPS webhookUrl."],"crossFieldRules":["runAt must be RFC 3339 with timezone.","deliveryTarget.type=function requires functionId (call listFunctions first).","deliveryTarget.type=webhook requires HTTPS webhookUrl."],"exampleCall":{"name":"once","runAt":"2026-03-15T14:30:00Z","deliveryTarget":{"type":"function","functionId":"fn_abc123"}},"fields":[{"name":"name","required":true,"constraints":"Schedule name"},{"name":"runAt","required":true,"constraints":"RFC 3339 with timezone"},{"name":"deliveryTarget","required":true,"constraints":"function or webhook"}],"agentPresentation":{"description":"Create one-off schedule. runAt must include timezone. deliveryTarget rules match queues.","inputSchema":{"type":"object","required":["name","runAt","deliveryTarget"],"properties":{"name":{"type":"string"},"runAt":{"type":"string","description":"RFC 3339 e.g. 2026-03-15T14:30:00Z"},"deliveryTarget":{"description":"type=function|webhook"}}}}}},"responses":{"201":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"scheduleId":{"type":"string"},"status":{"type":"string"}},"required":["scheduleId","status"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}},"get":{"operationId":"listSchedules","summary":"List schedules","tags":["scheduler"],"description":"Returns a paginated list of one-off schedules for the tenant.","parameters":[{"schema":{"type":"number","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"cursor","required":false}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"resourceKey":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"runAt":{"type":"string"},"deliveryTarget":{"type":"object","properties":{"type":{"type":"string","enum":["function","webhook"]},"functionId":{"type":"string"},"webhookUrl":{"type":"string"},"timeoutSeconds":{"type":"number"},"maxInFlight":{"type":"number"},"maxPerSecond":{"type":"number"}},"required":["type","timeoutSeconds","maxInFlight"],"additionalProperties":false},"paused":{"type":"boolean"},"payloadTemplate":{"type":"object","additionalProperties":[],"nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","resourceKey","name","status","runAt","deliveryTarget","paused","createdAt","updatedAt"],"additionalProperties":false}},"nextCursor":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/schedules\/{id}":{"get":{"operationId":"getSchedule","summary":"Get a schedule by ID","tags":["scheduler"],"description":"Retrieves details of a specific schedule including its configuration.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"id":{"type":"string"},"resourceKey":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"runAt":{"type":"string"},"deliveryTarget":{"type":"object","properties":{"type":{"type":"string","enum":["function","webhook"]},"functionId":{"type":"string"},"webhookUrl":{"type":"string"},"timeoutSeconds":{"type":"number"},"maxInFlight":{"type":"number"},"maxPerSecond":{"type":"number"}},"required":["type","timeoutSeconds","maxInFlight"],"additionalProperties":false},"paused":{"type":"boolean"},"payloadTemplate":{"type":"object","additionalProperties":[],"nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","resourceKey","name","status","runAt","deliveryTarget","paused","createdAt","updatedAt"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}},"patch":{"operationId":"updateSchedule","summary":"Update a schedule","tags":["scheduler"],"description":"Updates schedule configuration. Changes require AWS reprovisioning.","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"runAt":{"type":"string","description":"RFC 3339 datetime with timezone (e.g. 2026-03-15T14:30:00Z). Must be in the future (max 365 days)."},"deliveryTarget":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["function"],"description":"Deliver to a RocketStack function."},"functionId":{"type":"string","description":"Function resource ID. Required when type is function."},"webhookHeaders":{"type":"object","additionalProperties":{"type":"string","maxLength":256},"description":"Optional webhook headers (max 10). Authorization, Cookie, Host, and Content-Length are forbidden."},"timeoutSeconds":{"type":"number","minimum":1,"maximum":30},"maxInFlight":{"type":"number","minimum":1,"maximum":50},"maxPerSecond":{"type":"number","minimum":1,"maximum":200},"retryableStatusCodes":{"type":"array","items":{"type":"number"},"description":"HTTP status codes that trigger delivery retries."}},"required":["type","functionId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["webhook"],"description":"Deliver to an HTTPS webhook."},"webhookUrl":{"type":"string","format":"uri","description":"HTTPS webhook URL. Must not contain credentials in the URL."},"webhookHeaders":{"$ref":"#\/properties\/deliveryTarget\/anyOf\/0\/properties\/webhookHeaders"},"timeoutSeconds":{"type":"number","minimum":1,"maximum":30},"maxInFlight":{"type":"number","minimum":1,"maximum":50},"maxPerSecond":{"type":"number","minimum":1,"maximum":200},"retryableStatusCodes":{"$ref":"#\/properties\/deliveryTarget\/anyOf\/0\/properties\/retryableStatusCodes"}},"required":["type","webhookUrl"],"additionalProperties":false}]},"paused":{"type":"boolean"},"payloadTemplate":{"type":"object","additionalProperties":[],"nullable":true}},"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"x-rocketstack-mcp":{"notes":"runAt must include timezone (Z or offset). deliveryTarget.type determines required fields. runAt must be RFC 3339 with timezone. deliveryTarget rules match queues.","playbook":{"summary":"Update a one-off schedule.","workflow":["Provide schedule id.","Patch runAt and\/or deliveryTarget with same rules as create."],"commonMistakes":["runAt without timezone.","deliveryTarget.type=function requires functionId (call listFunctions first).","deliveryTarget.type=webhook requires HTTPS webhookUrl."],"crossFieldRules":["runAt RFC 3339 with timezone if set.","deliveryTarget.type=function requires functionId (call listFunctions first).","deliveryTarget.type=webhook requires HTTPS webhookUrl."],"exampleCall":{"id":"sched_abc","runAt":"2026-04-01T12:00:00Z"},"fields":[{"name":"id","required":true,"constraints":"Schedule ID"}],"agentPresentation":{"description":"Update schedule by id. runAt must include timezone if provided.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"scheduleId":{"type":"string"},"status":{"type":"string"},"provisioningRequired":{"type":"boolean"}},"required":["scheduleId","status","provisioningRequired"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}},"delete":{"operationId":"deleteSchedule","summary":"Delete a schedule","tags":["scheduler"],"description":"Deletes a schedule and its associated AWS resources.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"scheduleId":{"type":"string"},"status":{"type":"string"}},"required":["scheduleId","status"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/schedules\/{id}\/cancel":{"post":{"operationId":"cancelSchedule","summary":"Cancel a schedule","tags":["scheduler"],"description":"Cancels a pending schedule by setting it to paused.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"scheduleId":{"type":"string"},"status":{"type":"string"}},"required":["scheduleId","status"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/schedules\/{id}\/status":{"get":{"operationId":"getScheduleStatus","summary":"Get schedule execution status","tags":["scheduler"],"description":"Retrieves the current execution status of a schedule.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"status":{"type":"string"},"triggerId":{"type":"string","nullable":true},"attempts":{"type":"number"},"lastError":{"type":"string","nullable":true},"updatedAt":{"type":"string"}},"required":["status","triggerId","attempts","lastError","updatedAt"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/schedules\/{id}\/invocations":{"get":{"operationId":"listScheduleInvocations","summary":"List schedule invocation history","tags":["scheduler"],"description":"Returns a paginated list of delivery attempts and outcomes for a one-off schedule.","parameters":[{"schema":{"type":"number","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"cursor","required":false},{"schema":{"type":"string","enum":["delivered","retrying","discarded","abandoned","enqueued"]},"in":"query","name":"outcome","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"invocationId":{"type":"string"},"action":{"type":"string"},"outcome":{"type":"string","enum":["delivered","retrying","discarded","abandoned","enqueued"]},"occurredAt":{"type":"string"},"attempt":{"type":"number"},"durationMs":{"type":"number"},"error":{"type":"string"},"reason":{"type":"string"},"triggerId":{"type":"string"},"targetType":{"type":"string"},"triggerSource":{"type":"string"},"statusCode":{"type":"number"},"backoffSeconds":{"type":"number"}},"required":["invocationId","action","outcome","occurredAt"],"additionalProperties":false}},"nextCursor":{"type":"string","nullable":true}},"required":["items"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/resources\/capabilities":{"get":{"operationId":"listCapabilities","summary":"List app-generation capabilities","tags":["resources"],"description":"Returns capabilities (e.g. functions, queues, kv) with id, name, description. Used by MCP\/Cursor to map user intent to capability IDs.","responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"required":["id","name","description"],"additionalProperties":false}},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/resources\/templates":{"get":{"operationId":"listTemplates","summary":"List app templates","tags":["resources"],"description":"Returns app templates. Optional query: capabilities=queue,kv to filter by capability.","parameters":[{"schema":{"type":"string"},"in":"query","name":"capabilities","required":false}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"capabilities":{"type":"array","items":{"type":"string"}},"language":{"type":"string"},"code":{"type":"string"}},"required":["id","name","description","capabilities"],"additionalProperties":false}},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/resources\/templates\/{id}":{"get":{"operationId":"getTemplate","summary":"Get a template by id","tags":["resources"],"description":"Returns a single app template with optional code.","parameters":[{"schema":{"type":"string","minLength":1},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"capabilities":{"type":"array","items":{"type":"string"}},"language":{"type":"string"},"code":{"type":"string"}},"required":["id","name","description","capabilities"],"additionalProperties":false},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}},"\/resources\/snippets":{"get":{"operationId":"listSnippets","summary":"List code snippets","tags":["resources"],"description":"Returns snippets. Query params: capability (e.g. queue, kv), language (e.g. node, python).","parameters":[{"schema":{"type":"string","minLength":1},"in":"query","name":"capability","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"language","required":false}],"responses":{"200":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"capability":{"type":"string"},"language":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"code":{"type":"string"}},"required":["id","capability","language","name","description","code"],"additionalProperties":false}},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId"],"additionalProperties":false}}}},"401":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application\/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","format":"uuid"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":[]}},"required":["code","message"],"additionalProperties":false}},"required":["requestId","error"],"additionalProperties":false}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT access token from WSO2"}},"schemas":[]},"security":[{"bearerAuth":[]}]}