{
  "name": "spaps",
  "version": "0.9.0",
  "description": "Auth + payments via SPAPS. Resolve local auth requirements from /health/local-mode.",
  "base_url": "http://localhost:65535",
  "auth": {
    "local_mode": false,
    "mode_source": "/health/local-mode",
    "api_key_required": true,
    "header": "X-API-Key",
    "env": "SPAPS_API_KEY",
    "status": "server_unreachable"
  },
  "tools": [
    {
      "name": "login",
      "description": "Authenticate a user with email/password for a provisioned application. Send X-API-Key when local mode is disabled.",
      "method": "POST",
      "path": "/api/auth/login",
      "parameters": {
        "$ref": "#/components/schemas/LoginRequest"
      },
      "auth": {
        "auth_type": "application",
        "required": true,
        "schemes": [
          "SpapsPublishableKey",
          "SpapsSecretKey"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "publishable",
            "secret"
          ]
        },
        "jwt": {
          "required": false,
          "optional": false
        },
        "roles": []
      },
      "rate_tier": "TIGHT",
      "publishable_scope": [
        "auth"
      ],
      "entitlement_key": null,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/LoginResponse"
                },
                {
                  "$ref": "#/components/schemas/MfaRequiredResponse"
                }
              ],
              "title": "Response Login Api Auth Login Post"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "register",
      "description": "Register a new user with email/password for a provisioned application.",
      "method": "POST",
      "path": "/api/auth/register",
      "parameters": {
        "$ref": "#/components/schemas/RegisterRequest"
      },
      "auth": {
        "auth_type": "application",
        "required": true,
        "schemes": [
          "SpapsPublishableKey",
          "SpapsSecretKey"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "publishable",
            "secret"
          ]
        },
        "jwt": {
          "required": false,
          "optional": false
        },
        "roles": []
      },
      "rate_tier": "MODERATE",
      "publishable_scope": [
        "auth"
      ],
      "entitlement_key": null,
      "responses": {
        "201": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/RegisterResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "409": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "auth_methods",
      "description": "Discover the public auth methods configured for this application before rendering sign-in UI.",
      "method": "GET",
      "path": "/api/auth/methods",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "auth": {
        "auth_type": "application",
        "required": true,
        "schemes": [
          "SpapsPublishableKey",
          "SpapsSecretKey"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "publishable",
            "secret"
          ]
        },
        "jwt": {
          "required": false,
          "optional": false
        },
        "roles": []
      },
      "rate_tier": "RELAXED",
      "publishable_scope": [
        "auth"
      ],
      "entitlement_key": null,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/AuthMethodsResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "type": "object",
          "properties": {
            "success": {
              "type": "boolean"
            },
            "error": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "required": [
            "error"
          ]
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "get_current_user",
      "description": "Get the currently authenticated user. Uses the bearer token from a previous login.",
      "method": "GET",
      "path": "/api/auth/user",
      "parameters": {
        "type": "object",
        "properties": {
          "authorization": {
            "type": "string",
            "description": "Bearer <access_token>"
          }
        }
      },
      "auth": {
        "auth_type": "user",
        "required": true,
        "schemes": [
          "SpapsPublishableKey",
          "SpapsSecretKey",
          "BearerJWT"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "publishable",
            "secret"
          ]
        },
        "jwt": {
          "required": true,
          "optional": false
        },
        "roles": [
          "user"
        ]
      },
      "rate_tier": "RELAXED",
      "publishable_scope": [
        "auth"
      ],
      "entitlement_key": null,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/GetUserResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "type": "object",
          "properties": {
            "success": {
              "type": "boolean"
            },
            "error": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "required": [
            "error"
          ]
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "create_checkout_session",
      "description": "Create a Stripe Checkout session against the configured SPAPS server.",
      "method": "POST",
      "path": "/api/stripe/checkout-sessions",
      "parameters": {
        "$ref": "#/components/schemas/CreateCheckoutSessionRequest"
      },
      "auth": {
        "auth_type": "user",
        "required": true,
        "schemes": [
          "SpapsPublishableKey",
          "SpapsSecretKey",
          "BearerJWT"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "publishable",
            "secret"
          ]
        },
        "jwt": {
          "required": true,
          "optional": false
        },
        "roles": [
          "user"
        ]
      },
      "rate_tier": "TIGHT",
      "publishable_scope": [
        "stripe_consumer"
      ],
      "entitlement_key": null,
      "responses": {
        "201": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/CheckoutSessionOut"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "list_products",
      "description": "List products exposed by the SPAPS server.",
      "method": "GET",
      "path": "/api/stripe/products",
      "parameters": {
        "type": "object",
        "properties": {
          "active": {
            "type": "boolean"
          },
          "limit": {
            "type": "number"
          }
        }
      },
      "auth": {
        "auth_type": "user",
        "required": true,
        "schemes": [
          "SpapsPublishableKey",
          "SpapsSecretKey",
          "BearerJWT"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "publishable",
            "secret"
          ]
        },
        "jwt": {
          "required": true,
          "optional": false
        },
        "roles": [
          "user"
        ]
      },
      "rate_tier": "RELAXED",
      "publishable_scope": [
        "stripe_consumer"
      ],
      "entitlement_key": null,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/ListProductsResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "request_magic_link",
      "description": "Send a magic link for passwordless login.",
      "method": "POST",
      "path": "/api/auth/magic-link",
      "parameters": {
        "$ref": "#/components/schemas/MagicLinkRequest"
      },
      "auth": {
        "auth_type": "application",
        "required": true,
        "schemes": [
          "SpapsPublishableKey",
          "SpapsSecretKey"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "publishable",
            "secret"
          ]
        },
        "jwt": {
          "required": false,
          "optional": false
        },
        "roles": []
      },
      "rate_tier": "STRICT",
      "publishable_scope": [
        "auth"
      ],
      "entitlement_key": null,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/MagicLinkResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "get_wallet_nonce",
      "description": "Get a nonce to sign for wallet authentication.",
      "method": "POST",
      "path": "/api/auth/nonce",
      "parameters": {
        "$ref": "#/components/schemas/NonceRequest"
      },
      "auth": {
        "auth_type": "application",
        "required": true,
        "schemes": [
          "SpapsPublishableKey",
          "SpapsSecretKey"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "publishable",
            "secret"
          ]
        },
        "jwt": {
          "required": false,
          "optional": false
        },
        "roles": []
      },
      "rate_tier": "TIGHT",
      "publishable_scope": [
        "auth"
      ],
      "entitlement_key": null,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/NonceResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "wallet_sign_in",
      "description": "Exchange a signed wallet nonce for SPAPS tokens or an mfa_required challenge.",
      "method": "POST",
      "path": "/api/auth/wallet-sign-in",
      "parameters": {
        "$ref": "#/components/schemas/WalletSignInRequest"
      },
      "auth": {
        "auth_type": "application",
        "required": true,
        "schemes": [
          "SpapsPublishableKey",
          "SpapsSecretKey"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "publishable",
            "secret"
          ]
        },
        "jwt": {
          "required": false,
          "optional": false
        },
        "roles": []
      },
      "rate_tier": "TIGHT",
      "publishable_scope": [
        "auth"
      ],
      "entitlement_key": null,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/spaps_server_quickstart__domains__auth__schemas__WalletSignInResponse"
                },
                {
                  "$ref": "#/components/schemas/MfaRequiredResponse"
                }
              ],
              "title": "Response Wallet Sign In Api Auth Wallet Sign In Post"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "verify_magic_link",
      "description": "Exchange a magic-link token for SPAPS tokens or an mfa_required challenge.",
      "method": "POST",
      "path": "/api/auth/verify-magic-link",
      "parameters": {
        "$ref": "#/components/schemas/VerifyMagicLinkRequest"
      },
      "auth": {
        "auth_type": "application",
        "required": true,
        "schemes": [
          "SpapsPublishableKey",
          "SpapsSecretKey"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "publishable",
            "secret"
          ]
        },
        "jwt": {
          "required": false,
          "optional": false
        },
        "roles": []
      },
      "rate_tier": "TIGHT",
      "publishable_scope": [
        "auth"
      ],
      "entitlement_key": null,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/VerifyMagicLinkResponse"
                },
                {
                  "$ref": "#/components/schemas/MfaRequiredResponse"
                }
              ],
              "title": "Response Verify Magic Link Api Auth Verify Magic Link Post"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "oidc_nonce",
      "description": "Create a nonce challenge before exchanging an OIDC provider ID token.",
      "method": "POST",
      "path": "/api/auth/oidc/nonce",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "auth": {
        "auth_type": "application",
        "required": true,
        "schemes": [
          "SpapsSecretKey"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "secret"
          ]
        },
        "jwt": {
          "required": false,
          "optional": false
        },
        "roles": []
      },
      "rate_tier": "TIGHT",
      "publishable_scope": null,
      "entitlement_key": null,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/OidcNonceResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "type": "object",
          "properties": {
            "success": {
              "type": "boolean"
            },
            "error": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "required": [
            "error"
          ]
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "oidc_sign_in",
      "description": "Exchange an OIDC ID token and challenge_id for SPAPS tokens or an mfa_required challenge.",
      "method": "POST",
      "path": "/api/auth/oidc/sign-in",
      "parameters": {
        "$ref": "#/components/schemas/OidcSignInRequest"
      },
      "auth": {
        "auth_type": "application",
        "required": true,
        "schemes": [
          "SpapsSecretKey"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "secret"
          ]
        },
        "jwt": {
          "required": false,
          "optional": false
        },
        "roles": []
      },
      "rate_tier": "TIGHT",
      "publishable_scope": null,
      "entitlement_key": null,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/OidcSignInResponse"
                },
                {
                  "$ref": "#/components/schemas/MfaRequiredResponse"
                }
              ],
              "title": "Response Oidc Sign In Api Auth Oidc Sign In Post"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "sms_request",
      "description": "Request an enumeration-safe SMS OTP challenge.",
      "method": "POST",
      "path": "/api/auth/sms/request",
      "parameters": {
        "$ref": "#/components/schemas/SmsOtpRequest"
      },
      "auth": {
        "auth_type": "application",
        "required": true,
        "schemes": [
          "SpapsSecretKey"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "secret"
          ]
        },
        "jwt": {
          "required": false,
          "optional": false
        },
        "roles": []
      },
      "rate_tier": "STRICT",
      "publishable_scope": null,
      "entitlement_key": null,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/SmsOtpRequestResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "sms_verify",
      "description": "Verify an SMS OTP challenge for SPAPS tokens or an mfa_required challenge.",
      "method": "POST",
      "path": "/api/auth/sms/verify",
      "parameters": {
        "$ref": "#/components/schemas/SmsOtpVerifyRequest"
      },
      "auth": {
        "auth_type": "application",
        "required": true,
        "schemes": [
          "SpapsSecretKey"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "secret"
          ]
        },
        "jwt": {
          "required": false,
          "optional": false
        },
        "roles": []
      },
      "rate_tier": "TIGHT",
      "publishable_scope": null,
      "entitlement_key": null,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SmsSignInResponse"
                },
                {
                  "$ref": "#/components/schemas/MfaRequiredResponse"
                }
              ],
              "title": "Response Verify Sms Otp Api Auth Sms Verify Post"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "webauthn_assertion_options",
      "description": "Advanced raw endpoint. Prefer client.auth.passkeys.signIn() or createConditionalSignIn(), which performs safe browser JSON conversion.",
      "preferred_client_api": "client.auth.passkeys.signIn",
      "warning": "Advanced agents only: do not hand-cast WebAuthn JSON or log ceremony data.",
      "method": "POST",
      "path": "/api/auth/webauthn/assertion/options",
      "parameters": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/WebAuthnAssertionOptionsRequest"
          },
          {
            "type": "null"
          }
        ],
        "title": "Body"
      },
      "auth": {
        "auth_type": "application",
        "required": true,
        "schemes": [
          "SpapsPublishableKey",
          "SpapsSecretKey"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "publishable",
            "secret"
          ]
        },
        "jwt": {
          "required": false,
          "optional": false
        },
        "roles": []
      },
      "rate_tier": "TIGHT",
      "publishable_scope": [
        "webauthn_ceremonies"
      ],
      "entitlement_key": null,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/WebAuthnAssertionOptionsResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "webauthn_assertion_verify",
      "description": "Advanced raw endpoint. Prefer client.auth.passkeys.signIn(), which verifies the assertion and preserves the mfa_required branch.",
      "preferred_client_api": "client.auth.passkeys.signIn",
      "warning": "Advanced agents only: never persist or log credential bodies, and do not invent a public generic step-up consume endpoint.",
      "method": "POST",
      "path": "/api/auth/webauthn/assertion/verify",
      "parameters": {
        "$ref": "#/components/schemas/WebAuthnAssertionVerifyRequest"
      },
      "auth": {
        "auth_type": "application",
        "required": true,
        "schemes": [
          "SpapsPublishableKey",
          "SpapsSecretKey"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "publishable",
            "secret"
          ]
        },
        "jwt": {
          "required": false,
          "optional": false
        },
        "roles": []
      },
      "rate_tier": "TIGHT",
      "publishable_scope": [
        "webauthn_ceremonies"
      ],
      "entitlement_key": null,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/WebAuthnAssertionVerifyResponse"
                },
                {
                  "$ref": "#/components/schemas/MfaRequiredResponse"
                }
              ],
              "title": "Response Webauthn Assertion Verify Api Auth Webauthn Assertion Verify Post"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "webauthn_register_options",
      "description": "Advanced raw endpoint. Prefer client.auth.passkeys.register(), which uses native PublicKeyCredential JSON parsing.",
      "preferred_client_api": "client.auth.passkeys.register",
      "warning": "Advanced agents only: do not hand-cast browser ceremony options.",
      "method": "POST",
      "path": "/api/auth/webauthn/register/options",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "auth": {
        "auth_type": "user",
        "required": true,
        "schemes": [
          "SpapsPublishableKey",
          "SpapsSecretKey",
          "BearerJWT"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "publishable",
            "secret"
          ]
        },
        "jwt": {
          "required": true,
          "optional": false
        },
        "roles": [
          "user"
        ]
      },
      "rate_tier": "TIGHT",
      "publishable_scope": [
        "webauthn_ceremonies"
      ],
      "entitlement_key": null,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/WebAuthnRegistrationOptionsResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "type": "object",
          "properties": {
            "success": {
              "type": "boolean"
            },
            "error": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "required": [
            "error"
          ]
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "webauthn_register_verify",
      "description": "Advanced raw endpoint. Prefer client.auth.passkeys.register(), which serializes and verifies the browser credential safely.",
      "preferred_client_api": "client.auth.passkeys.register",
      "warning": "Advanced agents only: never persist or log credential bodies.",
      "method": "POST",
      "path": "/api/auth/webauthn/register/verify",
      "parameters": {
        "$ref": "#/components/schemas/WebAuthnRegisterVerifyRequest"
      },
      "auth": {
        "auth_type": "user",
        "required": true,
        "schemes": [
          "SpapsPublishableKey",
          "SpapsSecretKey",
          "BearerJWT"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "publishable",
            "secret"
          ]
        },
        "jwt": {
          "required": true,
          "optional": false
        },
        "roles": [
          "user"
        ]
      },
      "rate_tier": "TIGHT",
      "publishable_scope": [
        "webauthn_ceremonies"
      ],
      "entitlement_key": null,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/WebAuthnRegisterVerifyResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "mfa_verify",
      "description": "Complete an mfa_required challenge with a TOTP code or recovery code.",
      "method": "POST",
      "path": "/api/auth/mfa/verify",
      "parameters": {
        "$ref": "#/components/schemas/MfaVerifyRequest"
      },
      "auth": {
        "auth_type": "application",
        "required": true,
        "schemes": [
          "SpapsPublishableKey",
          "SpapsSecretKey"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "publishable",
            "secret"
          ]
        },
        "jwt": {
          "required": false,
          "optional": false
        },
        "roles": []
      },
      "rate_tier": "TIGHT",
      "publishable_scope": [
        "auth"
      ],
      "entitlement_key": null,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/MfaVerifyResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "mfa_totp_enroll",
      "description": "Enroll TOTP MFA for an authenticated user.",
      "method": "POST",
      "path": "/api/auth/mfa/totp/enroll",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "auth": {
        "auth_type": "user",
        "required": true,
        "schemes": [
          "SpapsSecretKey",
          "BearerJWT"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "secret"
          ]
        },
        "jwt": {
          "required": true,
          "optional": false
        },
        "roles": [
          "user"
        ]
      },
      "rate_tier": "MODERATE",
      "publishable_scope": null,
      "entitlement_key": null,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/MfaTotpEnrollResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "type": "object",
          "properties": {
            "success": {
              "type": "boolean"
            },
            "error": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "required": [
            "error"
          ]
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "mfa_totp_activate",
      "description": "Activate pending TOTP MFA enrollment with a current code.",
      "method": "POST",
      "path": "/api/auth/mfa/totp/activate",
      "parameters": {
        "$ref": "#/components/schemas/MfaTotpActivateRequest"
      },
      "auth": {
        "auth_type": "user",
        "required": true,
        "schemes": [
          "SpapsSecretKey",
          "BearerJWT"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "secret"
          ]
        },
        "jwt": {
          "required": true,
          "optional": false
        },
        "roles": [
          "user"
        ]
      },
      "rate_tier": "MODERATE",
      "publishable_scope": null,
      "entitlement_key": null,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/MfaTotpActivateResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "mfa_totp_disable",
      "description": "Disable TOTP MFA for an authenticated user with a current code.",
      "method": "POST",
      "path": "/api/auth/mfa/totp/disable",
      "parameters": {
        "$ref": "#/components/schemas/MfaTotpDisableRequest"
      },
      "auth": {
        "auth_type": "user",
        "required": true,
        "schemes": [
          "SpapsSecretKey",
          "BearerJWT"
        ],
        "api_key": {
          "required": true,
          "accepted": [
            "secret"
          ]
        },
        "jwt": {
          "required": true,
          "optional": false
        },
        "roles": [
          "user"
        ]
      },
      "rate_tier": "MODERATE",
      "publishable_scope": null,
      "entitlement_key": null,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/MfaTotpDisableResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "spaps_auth_methods",
      "description": "Run `spaps auth methods` to print the configured auth method matrix for an application.",
      "command": "spaps auth methods",
      "cli": true,
      "parameters": {
        "type": "object",
        "properties": {
          "server_url": {
            "type": "string",
            "description": "SPAPS server URL; maps to --server-url"
          },
          "origin": {
            "type": "string",
            "description": "Browser origin to send with publishable-key checks; maps to --origin"
          },
          "json": {
            "type": "boolean",
            "default": true
          }
        }
      },
      "responses": {
        "400": {
          "type": "object",
          "properties": {
            "success": {
              "type": "boolean"
            },
            "error": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "required": [
            "error"
          ]
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "spaps_auth_mfa_test",
      "description": "Run `spaps auth mfa-test` against a local SPAPS stack to exercise TOTP enrollment, activation, MFA challenge verification, and cleanup.",
      "command": "spaps auth mfa-test",
      "cli": true,
      "local_only_by_default": true,
      "parameters": {
        "type": "object",
        "required": [
          "email",
          "password"
        ],
        "properties": {
          "email": {
            "type": "string",
            "description": "Local test user email; maps to --email"
          },
          "password": {
            "type": "string",
            "description": "Local test user password; maps to --password"
          },
          "server_url": {
            "type": "string",
            "description": "SPAPS server URL; maps to --server-url"
          },
          "origin": {
            "type": "string",
            "description": "Browser origin to send with publishable-key checks; maps to --origin"
          },
          "allow_remote": {
            "type": "boolean",
            "default": false,
            "description": "Maps to --allow-remote"
          },
          "json": {
            "type": "boolean",
            "default": true
          }
        }
      },
      "responses": {
        "400": {
          "type": "object",
          "properties": {
            "success": {
              "type": "boolean"
            },
            "error": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "required": [
            "error"
          ]
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "spaps_auth_sms_test",
      "description": "Run `spaps auth sms-test` against local console SMS to request a challenge, then verify it with a code read from local server logs.",
      "command": "spaps auth sms-test",
      "cli": true,
      "local_only_by_default": true,
      "parameters": {
        "type": "object",
        "required": [
          "phone_number"
        ],
        "properties": {
          "phone_number": {
            "type": "string",
            "description": "E.164 phone number; maps to --phone-number"
          },
          "challenge_id": {
            "type": "string",
            "description": "Existing SMS challenge id; maps to --challenge-id"
          },
          "code": {
            "type": "string",
            "description": "SMS code from local server logs; maps to --code"
          },
          "server_url": {
            "type": "string",
            "description": "SPAPS server URL; maps to --server-url"
          },
          "origin": {
            "type": "string",
            "description": "Browser origin to send with publishable-key checks; maps to --origin"
          },
          "allow_remote": {
            "type": "boolean",
            "default": false,
            "description": "Maps to --allow-remote"
          },
          "json": {
            "type": "boolean",
            "default": true
          }
        }
      },
      "responses": {
        "400": {
          "type": "object",
          "properties": {
            "success": {
              "type": "boolean"
            },
            "error": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "required": [
            "error"
          ]
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "spaps_auth_passkeys_doctor",
      "description": "Diagnose passkey readiness without starting a ceremony or mutating credentials.",
      "command": "spaps auth passkeys doctor",
      "cli": true,
      "idempotent": true,
      "agent_guidance": {
        "discovery": "Use spaps auth passkeys show for the canonical profile, then spaps auth passkeys doctor --json with the exact RP, origin, scope, CORS, SDK, and environment evidence.",
        "when_to_use": "Before generating browser passkey code, launching a ceremony test, or diagnosing an RP/origin failure.",
        "do": [
          "Use a publishable browser key with webauthn_ceremonies scope.",
          "Treat every failed check and next_action as blocking evidence."
        ],
        "dont": [
          "Do not put spaps_sec_ keys in browser configuration.",
          "Do not infer support from a successful deterministic model alone."
        ],
        "common_mistakes": [
          "Preview origin checked against a production profile.",
          "CORS host is similar but not an exact origin match."
        ],
        "next_actions": [
          "Resolve failed checks, then run spaps auth passkeys test without --launch to inspect the safe packet."
        ]
      },
      "parameters": {
        "type": "object",
        "properties": {
          "application_id": {
            "type": "string",
            "description": "Application UUID; maps to --application-id"
          },
          "rp_id": {
            "type": "string",
            "description": "Exact expected RP hostname; maps to --rp-id"
          },
          "origin": {
            "type": "string",
            "description": "Exact expected browser origin; maps to --origin"
          },
          "environment": {
            "type": "string",
            "enum": [
              "local",
              "preview",
              "production"
            ]
          },
          "publishable_scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "cors_origins": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sdk_version": {
            "type": "string"
          },
          "json": {
            "type": "boolean",
            "default": true
          }
        }
      },
      "responses": {
        "400": {
          "type": "object",
          "properties": {
            "success": {
              "type": "boolean"
            },
            "error": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "required": [
            "error"
          ]
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "spaps_auth_passkeys_test",
      "description": "Emit or launch the isolated local Chromium virtual-authenticator harness; browser credential bodies are never terminal output.",
      "command": "spaps auth passkeys test",
      "cli": true,
      "local_only_by_default": true,
      "preferred_client_api": "client.auth.passkeys",
      "idempotent": false,
      "agent_guidance": {
        "discovery": "Run spaps auth passkeys doctor --json first. Use the returned exact RP/origin and next_actions.",
        "when_to_use": "After doctor is ready and you need safe browser/virtual-authenticator evidence.",
        "do": [
          "Use client.auth.passkeys.register/signIn/createConditionalSignIn in browser code.",
          "Prefer PublicKeyCredential parseCreationOptionsFromJSON/parseRequestOptionsFromJSON through spaps-sdk."
        ],
        "dont": [
          "Do not emulate CTAP or WebAuthn in the terminal.",
          "Do not persist or log credential bodies.",
          "Do not request remote mutation without explicit operator intent."
        ],
        "common_mistakes": [
          "Using raw DOM casts instead of the SDK JSON conversion path.",
          "Treating mfa_required as a generic public step-up consume endpoint."
        ],
        "next_actions": [
          "Inspect the packet, launch locally, then handle authenticated or mfa_required results explicitly."
        ]
      },
      "parameters": {
        "type": "object",
        "properties": {
          "server_url": {
            "type": "string",
            "description": "Target SPAPS URL; maps to --server-url"
          },
          "rp_id": {
            "type": "string",
            "description": "Exact RP hostname; maps to --rp-id"
          },
          "origin": {
            "type": "string",
            "description": "Exact browser origin; maps to --origin"
          },
          "launch": {
            "type": "boolean",
            "default": false
          },
          "allow_remote": {
            "type": "boolean",
            "default": false
          },
          "json": {
            "type": "boolean",
            "default": true
          }
        }
      },
      "responses": {
        "400": {
          "type": "object",
          "properties": {
            "success": {
              "type": "boolean"
            },
            "error": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "required": [
            "error"
          ]
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "dayrate_availability",
      "description": "List bookable slots within the configured horizon with dynamic pricing.",
      "method": "GET",
      "path": "/api/dayrate/availability",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "dayrate",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/AvailabilityResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "type": "object",
          "properties": {
            "success": {
              "type": "boolean"
            },
            "error": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "required": [
            "error"
          ]
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "dayrate_book",
      "description": "Book a single slot. Returns FreeBookResponse when an entitled user has remaining allotment, otherwise a Stripe Checkout URL.",
      "method": "POST",
      "path": "/api/dayrate/book",
      "parameters": {
        "$ref": "#/components/schemas/BookRequest"
      },
      "domain": "dayrate",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {},
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "dayrate_book_multi",
      "description": "Book multiple slots in one Stripe session with running fill-rate pricing.",
      "method": "POST",
      "path": "/api/dayrate/book-multi",
      "parameters": {
        "$ref": "#/components/schemas/BookMultiRequest"
      },
      "domain": "dayrate",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/BookMultiResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "dayrate_checkout_status",
      "description": "Poll a Stripe session to learn the resulting booking status.",
      "method": "GET",
      "path": "/api/dayrate/checkout-status",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "dayrate",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/CheckoutStatusResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "dayrate_cancel",
      "description": "Cancel an existing booking. Owner verified by user_id then email.",
      "method": "POST",
      "path": "/api/dayrate/cancel",
      "parameters": {
        "$ref": "#/components/schemas/CancelRequest"
      },
      "domain": "dayrate",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/CancelResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "dayrate_allotment",
      "description": "Inspect free allotment status for a policy in the rolling window.",
      "method": "GET",
      "path": "/api/dayrate/allotment",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "dayrate",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/AllotmentResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "dayrate_admin_get_config",
      "description": "Fetch dayrate pricing/availability config.",
      "method": "GET",
      "path": "/api/dayrate/admin/config",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "dayrate",
      "admin_required": true,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/GetConfigResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "type": "object",
          "properties": {
            "success": {
              "type": "boolean"
            },
            "error": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "required": [
            "error"
          ]
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "dayrate_admin_update_config",
      "description": "Upsert dayrate config (rates, tiers, horizon, timezone, slot definitions).",
      "method": "PUT",
      "path": "/api/dayrate/admin/config",
      "parameters": {
        "$ref": "#/components/schemas/UpdateConfigRequest"
      },
      "domain": "dayrate",
      "admin_required": true,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/UpdateConfigResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "dayrate_admin_list_bookings",
      "description": "Admin view of bookings with status/date/email/enrollment/user/is_free filters.",
      "method": "GET",
      "path": "/api/dayrate/admin/bookings",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "dayrate",
      "admin_required": true,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/ListBookingsResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "dayrate_admin_list_policies",
      "description": "List active booking policies.",
      "method": "GET",
      "path": "/api/dayrate/admin/policies",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "dayrate",
      "admin_required": true,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/spaps_server_quickstart__domains__dayrate__schemas__ListPoliciesResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "dayrate_admin_create_policy",
      "description": "Create a booking policy (entitlement key, free allotment, overage rate, reschedule rules).",
      "method": "POST",
      "path": "/api/dayrate/admin/policies",
      "parameters": {
        "$ref": "#/components/schemas/spaps_server_quickstart__domains__dayrate__schemas__CreatePolicyRequest"
      },
      "domain": "dayrate",
      "admin_required": true,
      "agent_callable": true,
      "responses": {
        "201": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/spaps_server_quickstart__domains__dayrate__schemas__PolicyResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "dayrate_admin_update_policy",
      "description": "Partial update of a booking policy.",
      "method": "PUT",
      "path": "/api/dayrate/admin/policies/{policy_id}",
      "parameters": {
        "$ref": "#/components/schemas/spaps_server_quickstart__domains__dayrate__schemas__UpdatePolicyRequest"
      },
      "domain": "dayrate",
      "admin_required": true,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/spaps_server_quickstart__domains__dayrate__schemas__PolicyResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "dayrate_admin_delete_policy",
      "description": "Delete a booking policy.",
      "method": "DELETE",
      "path": "/api/dayrate/admin/policies/{policy_id}",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "dayrate",
      "admin_required": true,
      "agent_callable": true,
      "responses": {
        "200": {
          "$ref": "#/components/schemas/DeletePolicyResponse"
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "email_send",
      "description": "Send a transactional email by template key. In local mode Mailgun calls are short-circuited.",
      "method": "POST",
      "path": "/api/email/send",
      "parameters": {
        "$ref": "#/components/schemas/SendEmailRequest"
      },
      "domain": "email",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/SendEmailResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "email_get_template",
      "description": "Fetch a template definition by key.",
      "method": "GET",
      "path": "/api/email/templates/{template_key}",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "email",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {},
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "email_preview_template",
      "description": "Render a template with its sample context.",
      "method": "GET",
      "path": "/api/email/templates/{template_key}/preview",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "email",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {},
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "email_preview_template_with_context",
      "description": "Render a template with caller-provided context.",
      "method": "POST",
      "path": "/api/email/templates/{template_key}/preview",
      "parameters": {
        "$ref": "#/components/schemas/PreviewTemplateRequest"
      },
      "domain": "email",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {},
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "email_list_logs",
      "description": "List email sends. Non-admin users are scoped to their own logs; admins can filter by user_id or owner_id.",
      "method": "GET",
      "path": "/api/email/logs",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "email",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/ListLogsResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "email_admin_list_templates",
      "description": "List all templates for the application.",
      "method": "GET",
      "path": "/api/email/templates",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "email",
      "admin_required": true,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/ListTemplatesResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "email_admin_create_template",
      "description": "Create a template (subject, html, text, variables, sample context).",
      "method": "POST",
      "path": "/api/email/templates",
      "parameters": {
        "$ref": "#/components/schemas/CreateTemplateRequest"
      },
      "domain": "email",
      "admin_required": true,
      "agent_callable": true,
      "responses": {
        "201": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/CreateTemplateResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "email_admin_update_template",
      "description": "Update an existing template.",
      "method": "PUT",
      "path": "/api/email/templates/{template_key}",
      "parameters": {
        "$ref": "#/components/schemas/UpdateTemplateRequest"
      },
      "domain": "email",
      "admin_required": true,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/UpdateTemplateResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "email_admin_get_override",
      "description": "Get subject/body override for a template.",
      "method": "GET",
      "path": "/api/email/templates/{template_key}/override",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "email",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/TemplateOverrideResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "email_admin_set_override",
      "description": "Set subject/body override for a template.",
      "method": "PUT",
      "path": "/api/email/templates/{template_key}/override",
      "parameters": {
        "$ref": "#/components/schemas/TemplateOverrideRequest"
      },
      "domain": "email",
      "admin_required": true,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/TemplateOverrideResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "email_admin_clear_override",
      "description": "Clear subject/body override for a template.",
      "method": "DELETE",
      "path": "/api/email/templates/{template_key}/override",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "email",
      "admin_required": true,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/DeleteTemplateOverrideResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "webhook_list",
      "description": "List registered outbound webhooks.",
      "method": "GET",
      "path": "/api/webhooks",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "webhooks",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/ListWebhooksResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "webhook_register",
      "description": "Register an outbound webhook. The create response returns a one-time signing_secret.",
      "method": "POST",
      "path": "/api/webhooks",
      "parameters": {
        "$ref": "#/components/schemas/CreateWebhookRequest"
      },
      "domain": "webhooks",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "201": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/CreateWebhookResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "webhook_update",
      "description": "Update url, events, is_active, or headers on an existing webhook.",
      "method": "PUT",
      "path": "/api/webhooks/{webhook_id}",
      "parameters": {
        "$ref": "#/components/schemas/UpdateWebhookRequest"
      },
      "domain": "webhooks",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/UpdateWebhookResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "webhook_delete",
      "description": "Remove a registered webhook.",
      "method": "DELETE",
      "path": "/api/webhooks/{webhook_id}",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "webhooks",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/DeleteWebhookResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "webhook_deliveries",
      "description": "List delivery attempts for a webhook.",
      "method": "GET",
      "path": "/api/webhooks/{webhook_id}/deliveries",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "webhooks",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/ListDeliveriesResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "webhook_events",
      "description": "List supported outbound event types.",
      "method": "GET",
      "path": "/api/webhooks/events",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "webhooks",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/ListEventTypesResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "policy_authorize",
      "description": "Evaluate a named policy against a user/context. Returns allow/deny with reasons.",
      "method": "POST",
      "path": "/api/policies/authorize",
      "parameters": {
        "$ref": "#/components/schemas/spaps_server_quickstart__domains__policies__schemas__AuthorizeRequest"
      },
      "domain": "policies",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/spaps_server_quickstart__domains__policies__schemas__AuthorizeResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "policy_admin_list",
      "description": "List policies (is_active filter).",
      "method": "GET",
      "path": "/api/policies",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "policies",
      "admin_required": true,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/spaps_server_quickstart__domains__policies__schemas__ListPoliciesResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "policy_admin_create",
      "description": "Create a policy (name, effect, conditions, priority, metadata).",
      "method": "POST",
      "path": "/api/policies",
      "parameters": {
        "$ref": "#/components/schemas/spaps_server_quickstart__domains__policies__schemas__CreatePolicyRequest"
      },
      "domain": "policies",
      "admin_required": true,
      "agent_callable": true,
      "responses": {
        "201": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/spaps_server_quickstart__domains__policies__schemas__PolicyResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "policy_admin_get",
      "description": "Fetch a single policy.",
      "method": "GET",
      "path": "/api/policies/{policy_id}",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "policies",
      "admin_required": true,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/spaps_server_quickstart__domains__policies__schemas__PolicyResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "policy_admin_update",
      "description": "Partial update of a policy.",
      "method": "PUT",
      "path": "/api/policies/{policy_id}",
      "parameters": {
        "$ref": "#/components/schemas/spaps_server_quickstart__domains__policies__schemas__UpdatePolicyRequest"
      },
      "domain": "policies",
      "admin_required": true,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/spaps_server_quickstart__domains__policies__schemas__PolicyResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "policy_admin_delete",
      "description": "Delete a policy.",
      "method": "DELETE",
      "path": "/api/policies/{policy_id}",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "policies",
      "admin_required": true,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "type": "object",
              "additionalProperties": true,
              "title": "Response Delete Policy Api Policies  Policy Id  Delete"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "policy_admin_evaluations",
      "description": "List policy evaluation audit logs.",
      "method": "GET",
      "path": "/api/policies/evaluations",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "policies",
      "admin_required": true,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/EvaluationLogsResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "billing_status",
      "description": "Show current application billing-account resolution and redacted Stripe diagnostics.",
      "method": "GET",
      "path": "/api/admin/billing/status",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "billing",
      "admin_required": true,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/BillingStatusResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "type": "object",
          "properties": {
            "success": {
              "type": "boolean"
            },
            "error": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "required": [
            "error"
          ]
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "billing_verify",
      "description": "Verify that the current application has usable Stripe secret and webhook configuration.",
      "method": "GET",
      "path": "/api/admin/billing/verify",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "billing",
      "admin_required": true,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/BillingVerifyResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "type": "object",
          "properties": {
            "success": {
              "type": "boolean"
            },
            "error": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ]
            }
          },
          "required": [
            "error"
          ]
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "billing_attach",
      "description": "Bind the current application to an existing active Stripe billing account.",
      "method": "POST",
      "path": "/api/admin/billing/attach",
      "parameters": {
        "$ref": "#/components/schemas/BillingAttachRequest"
      },
      "domain": "billing",
      "admin_required": true,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/BillingAttachResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "issue_report_create",
      "description": "Create an issue report. Requires the issue_reporting capability.",
      "method": "POST",
      "path": "/api/v1/issue-reports",
      "parameters": {
        "$ref": "#/components/schemas/CreateIssueReportRequest"
      },
      "domain": "issue_reporting",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "201": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/IssueReportOut"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "issue_report_list_mine",
      "description": "List the caller’s issue reports.",
      "method": "GET",
      "path": "/api/v1/issue-reports",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "issue_reporting",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/ListIssueReportsResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "issue_report_status",
      "description": "Aggregate status for the caller’s issues.",
      "method": "GET",
      "path": "/api/v1/issue-reports/status",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "issue_reporting",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/IssueReportStatusResponse"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "issue_report_get",
      "description": "Fetch a single issue report.",
      "method": "GET",
      "path": "/api/v1/issue-reports/{issue_report_id}",
      "parameters": {
        "type": "object",
        "properties": {}
      },
      "domain": "issue_reporting",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/IssueReportOut"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "issue_report_update_note",
      "description": "Update the note on an existing report.",
      "method": "PATCH",
      "path": "/api/v1/issue-reports/{issue_report_id}",
      "parameters": {
        "$ref": "#/components/schemas/UpdateIssueReportRequest"
      },
      "domain": "issue_reporting",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "200": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/IssueReportOut"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    },
    {
      "name": "issue_report_reply",
      "description": "Reply to an issue; creates a child report and reopens the linked support case.",
      "method": "POST",
      "path": "/api/v1/issue-reports/{issue_report_id}/replies",
      "parameters": {
        "$ref": "#/components/schemas/ReplyIssueReportRequest"
      },
      "domain": "issue_reporting",
      "admin_required": false,
      "agent_callable": true,
      "responses": {
        "201": {
          "type": "object",
          "required": [
            "success",
            "data",
            "request_id",
            "timestamp"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "const": true
            },
            "data": {
              "$ref": "#/components/schemas/IssueReportOut"
            },
            "request_id": {
              "type": "string",
              "format": "uuid"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "400": {
          "$ref": "#/components/schemas/SpapsErrorEnvelope"
        },
        "401": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "unauthorized"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "403": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "forbidden"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "429": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "rate_limited"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        },
        "500": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "enum": [
                "server_error"
              ]
            },
            "message": {
              "type": "string"
            }
          },
          "required": [
            "error"
          ]
        }
      }
    }
  ]
}
