{
    "openapi": "3.0.3",
    "info": {
        "title": "RandomRoute API Workbench REST API",
        "version": "1.0",
        "description": "Read your workspace's collections, environments, inbound endpoints and history, start collection runs from CI,\nand execute saved requests.\n\n**Authentication.** Create a token under Test Tokens with an `api:*` scope and send it as\n`Authorization: Bearer awk_…`. A token belongs to one workspace; every call is scoped to it, and ids from other\nworkspaces answer 404.\n\n**Scopes.** `api:read` for every GET; `api:run` to start runs and execute requests (and to poll runs).\nRandomRoute AEP Lab (`/adobe/*`): `adobe:read` for every GET; `adobe:run` to verify connections and start suite and\nloop-test runs (and to poll them).\n\n**RandomRoute AEP Lab completion webhook.** When a workspace has a RandomRoute AEP Lab webhook, every finished suite run and loop-test\nrun is POSTed to it as JSON: `{\"event\": \"adobe.suite_run.finished\" or \"adobe.loop_run.finished\", \"workspace\": {...},\n\"run\": {...}}`, where `run` has the same shape as `GET /adobe/suite-runs/{id}` or `GET /adobe/loop-test-runs/{id}`.\nThe request is signed with the workspace's HMAC credential from the vault. With the credential's defaults that is\n`X-Timestamp: <unix seconds>` and `X-Signature: hex(HMAC-SHA256(secret, \"<X-Timestamp>.<raw body>\"))`; the header\nnames, algorithm, encoding and string to sign follow the credential's settings. Recompute the HMAC over the raw\nbody with your copy of the secret, compare in constant time, and reject timestamps older than a few minutes.\n\n**Pagination.** List endpoints return `{\"data\": [...], \"next_cursor\": \"…\", \"limit\": 25}`, newest first.\nPass `cursor=<next_cursor>` for the next page; `limit` is 1–100.\n\n**Errors** use RFC 7807 `application/problem+json`. Requests are limited to 120 per minute per token\n(`X-RateLimit-*` headers; `429` with `Retry-After` when exceeded).\n"
    },
    "servers": [
        {
            "url": "/api/v1"
        }
    ],
    "security": [
        {
            "bearerAuth": []
        }
    ],
    "tags": [
        {
            "name": "Workspace"
        },
        {
            "name": "Collections"
        },
        {
            "name": "Environments"
        },
        {
            "name": "Inbound"
        },
        {
            "name": "History"
        },
        {
            "name": "Runs"
        },
        {
            "name": "RandomRoute AEP Lab"
        }
    ],
    "paths": {
        "/workspaces": {
            "get": {
                "tags": [
                    "Workspace"
                ],
                "summary": "The token's workspace",
                "operationId": "listWorkspaces",
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/WorkspacePage"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    }
                }
            }
        },
        "/collections": {
            "get": {
                "tags": [
                    "Collections"
                ],
                "summary": "List collections",
                "operationId": "listCollections",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/cursor"
                    },
                    {
                        "$ref": "#/components/parameters/limit"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CollectionPage"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/BadRequest"
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    }
                }
            }
        },
        "/collections/{id}": {
            "get": {
                "tags": [
                    "Collections"
                ],
                "summary": "Get a collection",
                "operationId": "getCollection",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Collection"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                }
            }
        },
        "/collections/{id}/runs": {
            "post": {
                "tags": [
                    "Runs"
                ],
                "summary": "Start a collection run",
                "description": "Runs of up to 25 requests finish before the response (201). Larger runs are queued (202); poll the Location URL.",
                "operationId": "createRun",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/id"
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RunRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Finished",
                        "headers": {
                            "Location": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Run"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Queued",
                        "headers": {
                            "Location": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Run"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "409": {
                        "description": "The workspace is archived",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/Invalid"
                    }
                }
            }
        },
        "/runs/{id}": {
            "get": {
                "tags": [
                    "Runs"
                ],
                "summary": "Run status and results",
                "operationId": "getRun",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Run"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                }
            }
        },
        "/requests": {
            "get": {
                "tags": [
                    "Collections"
                ],
                "summary": "List saved requests",
                "operationId": "listRequests",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/cursor"
                    },
                    {
                        "$ref": "#/components/parameters/limit"
                    },
                    {
                        "name": "collection",
                        "in": "query",
                        "description": "Only requests in this collection",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RequestPage"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                }
            }
        },
        "/requests/{id}": {
            "get": {
                "tags": [
                    "Collections"
                ],
                "summary": "Get a saved request (with headers, body, tests)",
                "operationId": "getRequest",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SavedRequest"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                }
            }
        },
        "/requests/{id}/execute": {
            "post": {
                "tags": [
                    "Runs"
                ],
                "summary": "Execute a saved request",
                "operationId": "executeRequest",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/id"
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "environment_id": {
                                        "type": "string",
                                        "description": "Environment to resolve variables from"
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "The response",
                        "assertion": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ExecutionResult"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "409": {
                        "description": "The workspace is archived",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/Invalid"
                    },
                    "429": {
                        "$ref": "#/components/responses/TooMany"
                    }
                }
            }
        },
        "/environments": {
            "get": {
                "tags": [
                    "Environments"
                ],
                "summary": "List environments (secret values are never returned)",
                "operationId": "listEnvironments",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/cursor"
                    },
                    {
                        "$ref": "#/components/parameters/limit"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EnvironmentPage"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/environments/{id}": {
            "get": {
                "tags": [
                    "Environments"
                ],
                "summary": "Get an environment",
                "operationId": "getEnvironment",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Environment"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                }
            }
        },
        "/endpoints": {
            "get": {
                "tags": [
                    "Inbound"
                ],
                "summary": "List inbound endpoints",
                "operationId": "listEndpoints",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/cursor"
                    },
                    {
                        "$ref": "#/components/parameters/limit"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EndpointPage"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/endpoints/{id}": {
            "get": {
                "tags": [
                    "Inbound"
                ],
                "summary": "Get an inbound endpoint",
                "operationId": "getEndpoint",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Endpoint"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                }
            }
        },
        "/inbound-requests": {
            "get": {
                "tags": [
                    "Inbound"
                ],
                "summary": "List captured requests",
                "operationId": "listInboundRequests",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/cursor"
                    },
                    {
                        "$ref": "#/components/parameters/limit"
                    },
                    {
                        "name": "endpoint",
                        "in": "query",
                        "description": "Only captures of this endpoint",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InboundRequestPage"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                }
            }
        },
        "/inbound-requests/{id}": {
            "get": {
                "tags": [
                    "Inbound"
                ],
                "summary": "Get a captured request (headers and body)",
                "operationId": "getInboundRequest",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InboundRequest"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                }
            }
        },
        "/executions": {
            "get": {
                "tags": [
                    "History"
                ],
                "summary": "List outbound executions (history)",
                "operationId": "listExecutions",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/cursor"
                    },
                    {
                        "$ref": "#/components/parameters/limit"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ExecutionPage"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/executions/{id}": {
            "get": {
                "tags": [
                    "History"
                ],
                "summary": "Get an execution (masked headers, body, test results)",
                "operationId": "getExecution",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Execution"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                }
            }
        },
        "/adobe/connections": {
            "get": {
                "tags": [
                    "RandomRoute AEP Lab"
                ],
                "summary": "List Adobe connections (no secrets)",
                "operationId": "listAdobeConnections",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/cursor"
                    },
                    {
                        "$ref": "#/components/parameters/limit"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdobeConnectionPage"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    }
                }
            }
        },
        "/adobe/connections/{id}": {
            "get": {
                "tags": [
                    "RandomRoute AEP Lab"
                ],
                "summary": "Get an Adobe connection with its verification state",
                "operationId": "getAdobeConnection",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdobeConnection"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                }
            }
        },
        "/adobe/connections/{id}/verify": {
            "post": {
                "tags": [
                    "RandomRoute AEP Lab"
                ],
                "summary": "Verify the connection's sandbox now (development and not default only)",
                "operationId": "verifyAdobeConnection",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The connection with its new verification state",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdobeConnection"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                }
            }
        },
        "/adobe/suites": {
            "get": {
                "tags": [
                    "RandomRoute AEP Lab"
                ],
                "summary": "List AEP Lab suites",
                "operationId": "listAdobeSuites",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/cursor"
                    },
                    {
                        "$ref": "#/components/parameters/limit"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdobeSuitePage"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    }
                }
            }
        },
        "/adobe/suites/{id}": {
            "get": {
                "tags": [
                    "RandomRoute AEP Lab"
                ],
                "summary": "Get an AEP Lab suite",
                "operationId": "getAdobeSuite",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdobeSuite"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                }
            }
        },
        "/adobe/suites/{id}/runs": {
            "post": {
                "tags": [
                    "RandomRoute AEP Lab"
                ],
                "summary": "Start a suite run",
                "description": "Suite runs are always queued. Poll the Location URL until `finished` is true.",
                "operationId": "createAdobeSuiteRun",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/id"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Queued",
                        "headers": {
                            "Location": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdobeSuiteRun"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "409": {
                        "description": "Refused: monthly limit, a run already in progress, nothing runnable, or an archived workspace",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/adobe/suite-runs/{id}": {
            "get": {
                "tags": [
                    "RandomRoute AEP Lab"
                ],
                "summary": "Get a suite run with its steps",
                "operationId": "getAdobeSuiteRun",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdobeSuiteRun"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                }
            }
        },
        "/adobe/loop-tests": {
            "get": {
                "tags": [
                    "RandomRoute AEP Lab"
                ],
                "summary": "List loop tests",
                "operationId": "listAdobeLoopTests",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/cursor"
                    },
                    {
                        "$ref": "#/components/parameters/limit"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdobeLoopTestPage"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    }
                }
            }
        },
        "/adobe/loop-tests/{id}/runs": {
            "post": {
                "tags": [
                    "RandomRoute AEP Lab"
                ],
                "summary": "Start a loop-test run",
                "description": "Sends the AJO event and returns the run, WAITING for the journey's custom action (or already finished when the event was blocked or rejected). Poll the Location URL.",
                "operationId": "createAdobeLoopRun",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/id"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Started",
                        "headers": {
                            "Location": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdobeLoopRun"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "409": {
                        "description": "Refused: monthly limit, missing configuration, or an archived workspace",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/adobe/loop-test-runs/{id}": {
            "get": {
                "tags": [
                    "RandomRoute AEP Lab"
                ],
                "summary": "Get a loop-test run",
                "operationId": "getAdobeLoopRun",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/id"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdobeLoopRun"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "bearerAuth": {
                "type": "http",
                "scheme": "bearer",
                "bearerFormat": "awk_<prefix>_<secret>"
            }
        },
        "parameters": {
            "id": {
                "name": "id",
                "in": "path",
                "required": true,
                "description": "ULID",
                "schema": {
                    "type": "string",
                    "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
                }
            },
            "cursor": {
                "name": "cursor",
                "in": "query",
                "description": "next_cursor from the previous page",
                "schema": {
                    "type": "string"
                }
            },
            "limit": {
                "name": "limit",
                "in": "query",
                "schema": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 100,
                    "default": 25
                }
            }
        },
        "responses": {
            "BadRequest": {
                "description": "Malformed request",
                "content": {
                    "application/problem+json": {
                        "schema": {
                            "$ref": "#/components/schemas/Problem"
                        }
                    }
                }
            },
            "Unauthorized": {
                "description": "Missing or invalid token",
                "content": {
                    "application/problem+json": {
                        "schema": {
                            "$ref": "#/components/schemas/Problem"
                        }
                    }
                }
            },
            "Forbidden": {
                "description": "The token lacks the scope",
                "content": {
                    "application/problem+json": {
                        "schema": {
                            "$ref": "#/components/schemas/Problem"
                        }
                    }
                }
            },
            "NotFound": {
                "description": "Not found in this workspace",
                "content": {
                    "application/problem+json": {
                        "schema": {
                            "$ref": "#/components/schemas/Problem"
                        }
                    }
                }
            },
            "Invalid": {
                "description": "Validation failed",
                "content": {
                    "application/problem+json": {
                        "schema": {
                            "$ref": "#/components/schemas/ValidationProblem"
                        }
                    }
                }
            },
            "TooMany": {
                "description": "Rate limit or monthly quota reached",
                "content": {
                    "application/problem+json": {
                        "schema": {
                            "$ref": "#/components/schemas/Problem"
                        }
                    }
                }
            }
        },
        "schemas": {
            "Problem": {
                "type": "object",
                "required": [
                    "type",
                    "title",
                    "status"
                ],
                "properties": {
                    "type": {
                        "type": "string",
                        "example": "about:blank"
                    },
                    "title": {
                        "type": "string",
                        "example": "Not Found"
                    },
                    "status": {
                        "type": "integer",
                        "example": 404
                    },
                    "detail": {
                        "type": "string"
                    }
                }
            },
            "ValidationProblem": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/Problem"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "errors": {
                                "type": "object",
                                "additionalProperties": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                ]
            },
            "Page": {
                "type": "object",
                "required": [
                    "data",
                    "next_cursor"
                ],
                "properties": {
                    "next_cursor": {
                        "type": "string",
                        "nullable": true
                    },
                    "limit": {
                        "type": "integer"
                    }
                }
            },
            "Workspace": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string"
                    },
                    "archived": {
                        "type": "boolean"
                    },
                    "organization": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "name": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "WorkspacePage": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/Page"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "data": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/Workspace"
                                }
                            }
                        }
                    }
                ]
            },
            "Auth": {
                "type": "object",
                "properties": {
                    "mode": {
                        "type": "string",
                        "enum": [
                            "INHERIT",
                            "NONE",
                            "CREDENTIAL"
                        ]
                    },
                    "credential": {
                        "type": "string",
                        "nullable": true,
                        "description": "Credential name (never its secrets)"
                    }
                }
            },
            "Collection": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string",
                        "nullable": true
                    },
                    "auth": {
                        "$ref": "#/components/schemas/Auth"
                    }
                }
            },
            "CollectionPage": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/Page"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "data": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/Collection"
                                }
                            }
                        }
                    }
                ]
            },
            "RequestSummary": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "method": {
                        "type": "string"
                    },
                    "url": {
                        "type": "string"
                    },
                    "collection_id": {
                        "type": "string"
                    },
                    "folder_id": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "SavedRequest": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/RequestSummary"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "description": {
                                "type": "string",
                                "nullable": true
                            },
                            "params": {
                                "type": "array",
                                "items": {
                                    "type": "object"
                                }
                            },
                            "headers": {
                                "type": "array",
                                "items": {
                                    "type": "object"
                                }
                            },
                            "body_mode": {
                                "type": "string"
                            },
                            "body": {
                                "type": "string",
                                "nullable": true
                            },
                            "auth": {
                                "$ref": "#/components/schemas/Auth"
                            },
                            "assertions": {
                                "type": "array",
                                "items": {
                                    "type": "object"
                                }
                            },
                            "extractions": {
                                "type": "array",
                                "items": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                ]
            },
            "RequestPage": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/Page"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "data": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/RequestSummary"
                                }
                            }
                        }
                    }
                ]
            },
            "Environment": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "global": {
                        "type": "boolean"
                    },
                    "variables": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "key": {
                                    "type": "string"
                                },
                                "value": {
                                    "type": "string",
                                    "nullable": true,
                                    "description": "Always null for secret variables"
                                },
                                "secret": {
                                    "type": "boolean"
                                },
                                "enabled": {
                                    "type": "boolean"
                                }
                            }
                        }
                    }
                }
            },
            "EnvironmentPage": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/Page"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "data": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/Environment"
                                }
                            }
                        }
                    }
                ]
            },
            "Endpoint": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "url": {
                        "type": "string",
                        "nullable": true
                    },
                    "active": {
                        "type": "boolean"
                    },
                    "auth_mode": {
                        "type": "string"
                    },
                    "allowed_methods": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "rate_limit_per_minute": {
                        "type": "integer",
                        "nullable": true
                    },
                    "retention_days": {
                        "type": "integer",
                        "nullable": true
                    }
                }
            },
            "EndpointPage": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/Page"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "data": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/Endpoint"
                                }
                            }
                        }
                    }
                ]
            },
            "InboundRequest": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "endpoint_id": {
                        "type": "string"
                    },
                    "received_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "method": {
                        "type": "string"
                    },
                    "path": {
                        "type": "string"
                    },
                    "response_status": {
                        "type": "integer",
                        "nullable": true
                    },
                    "auth": {
                        "type": "string",
                        "enum": [
                            "NONE",
                            "PASSED",
                            "FAILED"
                        ]
                    },
                    "client_ip": {
                        "type": "string",
                        "nullable": true
                    },
                    "size": {
                        "type": "integer"
                    },
                    "content_type": {
                        "type": "string",
                        "nullable": true
                    },
                    "query": {
                        "type": "object",
                        "description": "Detail only"
                    },
                    "headers": {
                        "type": "object",
                        "description": "Detail only; sensitive headers are masked"
                    },
                    "body": {
                        "type": "string",
                        "description": "Detail only"
                    },
                    "body_encoding": {
                        "type": "string",
                        "enum": [
                            "utf-8",
                            "base64"
                        ]
                    },
                    "truncated": {
                        "type": "boolean"
                    }
                }
            },
            "InboundRequestPage": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/Page"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "data": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/InboundRequest"
                                }
                            }
                        }
                    }
                ]
            },
            "Execution": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "source": {
                        "type": "string",
                        "enum": [
                            "builder",
                            "runner",
                            "monitor",
                            "relay",
                            "api"
                        ]
                    },
                    "method": {
                        "type": "string"
                    },
                    "url": {
                        "type": "string"
                    },
                    "status": {
                        "type": "integer",
                        "nullable": true
                    },
                    "duration_ms": {
                        "type": "integer"
                    },
                    "error": {
                        "type": "object",
                        "nullable": true,
                        "properties": {
                            "class": {
                                "type": "string"
                            },
                            "message": {
                                "type": "string"
                            }
                        }
                    },
                    "tests_passed": {
                        "type": "boolean",
                        "nullable": true
                    },
                    "request_id": {
                        "type": "string",
                        "nullable": true
                    },
                    "run_id": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "ExecutionPage": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/Page"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "data": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/Execution"
                                }
                            }
                        }
                    }
                ]
            },
            "ExecutionResult": {
                "type": "object",
                "properties": {
                    "executionId": {
                        "type": "string",
                        "nullable": true
                    },
                    "response": {
                        "type": "object",
                        "properties": {
                            "status": {
                                "type": "integer",
                                "nullable": true
                            },
                            "headers": {
                                "type": "object"
                            },
                            "body": {
                                "type": "string"
                            },
                            "body_encoding": {
                                "type": "string",
                                "enum": [
                                    "utf-8",
                                    "base64"
                                ]
                            },
                            "durationMs": {
                                "type": "integer"
                            }
                        }
                    },
                    "error": {
                        "type": "object",
                        "nullable": true
                    },
                    "assertions": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        }
                    },
                    "extractions": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        }
                    },
                    "passed": {
                        "type": "boolean"
                    }
                }
            },
            "RunRequest": {
                "type": "object",
                "properties": {
                    "environment_id": {
                        "type": "string"
                    },
                    "folder_id": {
                        "type": "string"
                    },
                    "iterations": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 100,
                        "default": 1
                    },
                    "delay_ms": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 60000,
                        "default": 0
                    },
                    "stop_on_failure": {
                        "type": "boolean",
                        "default": false
                    },
                    "persist_responses": {
                        "type": "boolean",
                        "default": true
                    },
                    "data": {
                        "type": "array",
                        "maxItems": 1000,
                        "items": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        },
                        "description": "One iteration per row"
                    }
                }
            },
            "Run": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "QUEUED",
                            "RUNNING",
                            "PASSED",
                            "FAILED",
                            "CANCELLED",
                            "BLOCKED"
                        ]
                    },
                    "finished": {
                        "type": "boolean"
                    },
                    "collection_id": {
                        "type": "string"
                    },
                    "environment_id": {
                        "type": "string",
                        "nullable": true
                    },
                    "source": {
                        "type": "string"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "started_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "finished_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "totals": {
                        "type": "object",
                        "properties": {
                            "requests": {
                                "type": "integer"
                            },
                            "passed": {
                                "type": "integer"
                            },
                            "failed": {
                                "type": "integer"
                            },
                            "assertions": {
                                "type": "integer"
                            },
                            "failed_assertions": {
                                "type": "integer"
                            },
                            "duration_ms": {
                                "type": "integer"
                            }
                        }
                    },
                    "error": {
                        "type": "string",
                        "nullable": true
                    },
                    "results": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Execution"
                        }
                    }
                }
            },
            "AdobeConnection": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "ims_org_id": {
                        "type": "string"
                    },
                    "sandbox": {
                        "type": "object",
                        "properties": {
                            "name": {
                                "type": "string"
                            },
                            "title": {
                                "type": "string",
                                "nullable": true
                            },
                            "type": {
                                "type": "string",
                                "nullable": true
                            },
                            "is_default": {
                                "type": "boolean",
                                "nullable": true
                            }
                        }
                    },
                    "verification": {
                        "type": "object",
                        "properties": {
                            "status": {
                                "type": "string",
                                "enum": [
                                    "UNVERIFIED",
                                    "VERIFIED_DEVELOPMENT",
                                    "REFUSED_PRODUCTION",
                                    "REFUSED_DEFAULT",
                                    "FAILED"
                                ]
                            },
                            "runnable": {
                                "type": "boolean"
                            },
                            "message": {
                                "type": "string",
                                "nullable": true
                            },
                            "verified_at": {
                                "type": "string",
                                "format": "date-time",
                                "nullable": true
                            }
                        }
                    },
                    "credential": {
                        "type": "object",
                        "description": "Name, type and masked hint only",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "name": {
                                "type": "string"
                            },
                            "type": {
                                "type": "string"
                            },
                            "masked_hint": {
                                "type": "string"
                            }
                        }
                    },
                    "platform_url": {
                        "type": "string"
                    },
                    "dataset_id": {
                        "type": "string",
                        "nullable": true
                    },
                    "schema_id": {
                        "type": "string",
                        "nullable": true
                    },
                    "event_dataset_id": {
                        "type": "string",
                        "nullable": true
                    },
                    "event_schema_id": {
                        "type": "string",
                        "nullable": true
                    },
                    "streaming_inlet_url": {
                        "type": "string",
                        "nullable": true
                    },
                    "ajo_event_id": {
                        "type": "string",
                        "nullable": true
                    },
                    "ajo_campaign_id": {
                        "type": "string",
                        "nullable": true
                    },
                    "correlation_field_path": {
                        "type": "string",
                        "nullable": true
                    },
                    "last_used_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                }
            },
            "AdobeConnectionPage": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/Page"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "data": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/AdobeConnection"
                                }
                            }
                        }
                    }
                ]
            },
            "AdobeSuite": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "connection_id": {
                        "type": "string"
                    },
                    "profile_set": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "name": {
                                "type": "string"
                            },
                            "profiles": {
                                "type": "integer"
                            }
                        }
                    },
                    "recipes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "profile_strategy": {
                        "type": "string",
                        "enum": [
                            "FIRST",
                            "ROUND_ROBIN",
                            "ALL"
                        ]
                    },
                    "stop_on_failure": {
                        "type": "boolean"
                    },
                    "poll_timeout_seconds": {
                        "type": "integer"
                    },
                    "collection_id": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "AdobeSuitePage": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/Page"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "data": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/AdobeSuite"
                                }
                            }
                        }
                    }
                ]
            },
            "AdobeSuiteRun": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "suite_id": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "QUEUED",
                            "RUNNING",
                            "PASSED",
                            "FAILED",
                            "CANCELLED",
                            "BLOCKED"
                        ]
                    },
                    "finished": {
                        "type": "boolean"
                    },
                    "source": {
                        "type": "string",
                        "enum": [
                            "adobe_suite",
                            "monitor",
                            "api"
                        ]
                    },
                    "collection_run_id": {
                        "type": "string",
                        "nullable": true
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "finished_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "totals": {
                        "type": "object",
                        "nullable": true,
                        "additionalProperties": {
                            "type": "integer"
                        },
                        "description": "Steps per status: PASSED, FAILED, BLOCKED, SKIPPED, PENDING, NOT_RUN"
                    },
                    "first_failure": {
                        "type": "string",
                        "nullable": true
                    },
                    "steps": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "recipe": {
                                    "type": "string"
                                },
                                "title": {
                                    "type": "string"
                                },
                                "iteration": {
                                    "type": "integer",
                                    "nullable": true
                                },
                                "profile_position": {
                                    "type": "integer",
                                    "nullable": true
                                },
                                "status": {
                                    "type": "string",
                                    "enum": [
                                        "PASSED",
                                        "FAILED",
                                        "BLOCKED",
                                        "SKIPPED",
                                        "PENDING",
                                        "NOT_RUN"
                                    ]
                                },
                                "message": {
                                    "type": "string",
                                    "nullable": true
                                },
                                "attempts": {
                                    "type": "integer"
                                },
                                "status_code": {
                                    "type": "integer",
                                    "nullable": true
                                },
                                "duration_ms": {
                                    "type": "integer",
                                    "nullable": true
                                },
                                "block_code": {
                                    "type": "string",
                                    "nullable": true,
                                    "description": "ADOBE_NO_CONNECTION, ADOBE_HOST_NOT_ALLOWED, ADOBE_SANDBOX_REFUSED or BLOCKED_PII"
                                },
                                "execution_id": {
                                    "type": "string",
                                    "nullable": true
                                },
                                "assertions": {
                                    "type": "array",
                                    "items": {
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "AdobeLoopTest": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "connection_id": {
                        "type": "string"
                    },
                    "receiver_id": {
                        "type": "string"
                    },
                    "event_recipe": {
                        "type": "string"
                    },
                    "timeout_seconds": {
                        "type": "integer"
                    }
                }
            },
            "AdobeLoopTestPage": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/Page"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "data": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/AdobeLoopTest"
                                }
                            }
                        }
                    }
                ]
            },
            "AdobeLoopRun": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "loop_test_id": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "PENDING",
                            "WAITING",
                            "PASSED",
                            "FAILED",
                            "TIMED_OUT",
                            "BLOCKED"
                        ]
                    },
                    "finished": {
                        "type": "boolean"
                    },
                    "correlation_id": {
                        "type": "string"
                    },
                    "message": {
                        "type": "string",
                        "nullable": true
                    },
                    "diff": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "check": {
                                    "type": "string"
                                },
                                "expected": {
                                    "type": "string"
                                },
                                "actual": {
                                    "type": "string"
                                },
                                "ok": {
                                    "type": "boolean"
                                }
                            }
                        }
                    },
                    "sent_execution_id": {
                        "type": "string",
                        "nullable": true
                    },
                    "matched_inbound_request_id": {
                        "type": "string",
                        "nullable": true
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "sent_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "deadline_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "matched_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    },
                    "finished_at": {
                        "type": "string",
                        "format": "date-time",
                        "nullable": true
                    }
                }
            }
        }
    }
}
