{
  "components": {
    "schemas": {
      "Error": {
        "additionalProperties": false,
        "properties": {
          "error": {
            "pattern": "^[A-Z0-9_]{1,128}$",
            "type": "string"
          }
        },
        "required": [
          "error"
        ],
        "type": "object"
      },
      "Health": {
        "properties": {
          "mode": {
            "const": "local-evaluation"
          },
          "production": {
            "const": "NO_GO"
          },
          "service": {
            "const": "haltseal-payment-api"
          },
          "version": {
            "type": "string"
          }
        },
        "required": [
          "service",
          "version",
          "mode",
          "production"
        ],
        "type": "object"
      },
      "OpenAPI": {
        "required": [
          "openapi",
          "info",
          "paths"
        ],
        "type": "object"
      },
      "Readiness": {
        "properties": {
          "customer_installations": {
            "const": 0
          },
          "evaluation_ready": {
            "const": true
          },
          "mode": {
            "const": "local-evaluation"
          },
          "native_provider_qualified": {
            "const": false
          },
          "production": {
            "const": "NO_GO"
          }
        },
        "required": [
          "evaluation_ready",
          "mode",
          "production",
          "native_provider_qualified",
          "customer_installations"
        ],
        "type": "object"
      },
      "Result": {
        "properties": {
          "approval_expires_at_ns": {
            "pattern": "^[0-9]+$",
            "type": "string"
          },
          "attempt": {
            "type": "object"
          },
          "attempt_id": {
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$",
            "type": "string"
          },
          "attempts": {
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "available_principal_minor": {
            "minimum": 0,
            "type": "integer"
          },
          "decision": {
            "enum": [
              "ACCEPT",
              "HOLD",
              "REFUSE",
              "REGISTERED",
              "REVOKED",
              "OBSERVED"
            ],
            "type": "string"
          },
          "execution_outcome": {
            "enum": [
              "PREPARED",
              "EXPOSED",
              "PENDING",
              "IN_TRANSIT",
              "PAID",
              "CLOSED",
              "FAILED_REVIEW",
              "NEVER_DISPATCHED",
              "UNKNOWN",
              "PREPARED_BLOCKED"
            ]
          },
          "historical_decision": {
            "type": "boolean"
          },
          "mode": {
            "const": "local-evaluation"
          },
          "obligation_id": {
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$",
            "type": "string"
          },
          "production": {
            "const": "NO_GO"
          },
          "reason": {
            "type": "string"
          },
          "redispatched": {
            "type": "boolean"
          },
          "state": {
            "enum": [
              "PREPARED",
              "EXPOSED",
              "PENDING",
              "IN_TRANSIT",
              "PAID",
              "CLOSED",
              "FAILED_REVIEW",
              "NEVER_DISPATCHED"
            ]
          }
        },
        "required": [
          "mode",
          "production"
        ],
        "type": "object"
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "info": {
    "description": "Connected-path payment authority and explicit recovery. Local own-account USD evaluation only; production NO_GO. UNKNOWN retains full principal; PAID blocks a second right to pay; CLOSED needs fresh postclosure signed authority and exact revalidation. See docs/SDK_RECOVERY.md.",
    "title": "HALTSEAL Obligation-bound Payment API",
    "version": "0.1.0rc4"
  },
  "openapi": "3.1.0",
  "paths": {
    "/health": {
      "get": {
        "operationId": "health",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Health"
                }
              }
            },
            "description": "Retained evaluation response. HOLD/REFUSE block at HTTP 200; ACCEPT is not settlement.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Invalid exact contract",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Revoked or invalid key",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Role/entitlement required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Resource outside key scope or absent. Not proof of no prior payment.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "411": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Content-Length required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Request exceeds 16 KiB",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "JSON required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "State, capacity or qualification unavailable. Modifying request may have committed.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [],
        "x-haltseal-sdk-failure": {
          "automatic_financial_retry": false,
          "identity_kind": null,
          "identity_location": null,
          "recovery_action": "REPEAT_READ",
          "unknown_response_exception": "TransportError",
          "unknown_response_never_grants_payment_authority": true
        }
      }
    },
    "/openapi.json": {
      "get": {
        "operationId": "describeAPI",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPI"
                }
              }
            },
            "description": "Retained evaluation response. HOLD/REFUSE block at HTTP 200; ACCEPT is not settlement.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Invalid exact contract",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Revoked or invalid key",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Role/entitlement required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Resource outside key scope or absent. Not proof of no prior payment.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "411": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Content-Length required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Request exceeds 16 KiB",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "JSON required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "State, capacity or qualification unavailable. Modifying request may have committed.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [],
        "x-haltseal-sdk-failure": {
          "automatic_financial_retry": false,
          "identity_kind": null,
          "identity_location": null,
          "recovery_action": "REPEAT_READ",
          "unknown_response_exception": "TransportError",
          "unknown_response_never_grants_payment_authority": true
        }
      }
    },
    "/ready": {
      "get": {
        "operationId": "readiness",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Readiness"
                }
              }
            },
            "description": "Retained evaluation response. HOLD/REFUSE block at HTTP 200; ACCEPT is not settlement.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Invalid exact contract",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Revoked or invalid key",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Role/entitlement required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Resource outside key scope or absent. Not proof of no prior payment.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "411": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Content-Length required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Request exceeds 16 KiB",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "JSON required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "State, capacity or qualification unavailable. Modifying request may have committed.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [],
        "x-haltseal-sdk-failure": {
          "automatic_financial_retry": false,
          "identity_kind": null,
          "identity_location": null,
          "recovery_action": "REPEAT_READ",
          "unknown_response_exception": "TransportError",
          "unknown_response_never_grants_payment_authority": true
        }
      }
    },
    "/v1/payment-attempts/lookup": {
      "get": {
        "operationId": "lookupOperation",
        "parameters": [
          {
            "in": "query",
            "name": "operation_id",
            "required": true,
            "schema": {
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Result"
                }
              }
            },
            "description": "Retained evaluation response. HOLD/REFUSE block at HTTP 200; ACCEPT is not settlement.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Invalid exact contract",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Revoked or invalid key",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Role/entitlement required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Resource outside key scope or absent. Not proof of no prior payment.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "411": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Content-Length required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Request exceeds 16 KiB",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "JSON required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "State, capacity or qualification unavailable. Modifying request may have committed.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-haltseal-sdk-failure": {
          "automatic_financial_retry": false,
          "identity_kind": "OPERATION_ID",
          "identity_location": "query.operation_id",
          "recovery_action": "REPEAT_READ",
          "unknown_response_exception": "TransportError",
          "unknown_response_never_grants_payment_authority": true
        }
      }
    },
    "/v1/payment-attempts/{attempt_id}": {
      "get": {
        "operationId": "getAttempt",
        "parameters": [
          {
            "in": "path",
            "name": "attempt_id",
            "required": true,
            "schema": {
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Result"
                }
              }
            },
            "description": "Retained evaluation response. HOLD/REFUSE block at HTTP 200; ACCEPT is not settlement.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Invalid exact contract",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Revoked or invalid key",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Role/entitlement required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Resource outside key scope or absent. Not proof of no prior payment.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "411": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Content-Length required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Request exceeds 16 KiB",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "JSON required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "State, capacity or qualification unavailable. Modifying request may have committed.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-haltseal-sdk-failure": {
          "automatic_financial_retry": false,
          "identity_kind": "ATTEMPT_ID",
          "identity_location": "path.attempt_id",
          "recovery_action": "REPEAT_READ",
          "unknown_response_exception": "TransportError",
          "unknown_response_never_grants_payment_authority": true
        }
      }
    },
    "/v1/payment-attempts/{attempt_id}/cancel": {
      "post": {
        "operationId": "cancelOriginal",
        "parameters": [
          {
            "in": "path",
            "name": "attempt_id",
            "required": true,
            "schema": {
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "required": [],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Result"
                }
              }
            },
            "description": "Retained evaluation response. HOLD/REFUSE block at HTTP 200; ACCEPT is not settlement.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Invalid exact contract",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Revoked or invalid key",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Role/entitlement required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Resource outside key scope or absent. Not proof of no prior payment.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "411": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Content-Length required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Request exceeds 16 KiB",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "JSON required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "State, capacity or qualification unavailable. Modifying request may have committed.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-haltseal-sdk-failure": {
          "automatic_financial_retry": false,
          "identity_kind": "ATTEMPT_ID",
          "identity_location": "path.attempt_id",
          "recovery_action": "LOOKUP_ATTEMPT",
          "unknown_response_exception": "UncertainDispatch",
          "unknown_response_never_grants_payment_authority": true
        }
      }
    },
    "/v1/payment-attempts/{attempt_id}/recover": {
      "post": {
        "operationId": "recoverOriginal",
        "parameters": [
          {
            "in": "path",
            "name": "attempt_id",
            "required": true,
            "schema": {
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "required": [],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Result"
                }
              }
            },
            "description": "Retained evaluation response. HOLD/REFUSE block at HTTP 200; ACCEPT is not settlement.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Invalid exact contract",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Revoked or invalid key",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Role/entitlement required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Resource outside key scope or absent. Not proof of no prior payment.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "411": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Content-Length required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Request exceeds 16 KiB",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "JSON required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "State, capacity or qualification unavailable. Modifying request may have committed.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-haltseal-sdk-failure": {
          "automatic_financial_retry": false,
          "identity_kind": "ATTEMPT_ID",
          "identity_location": "path.attempt_id",
          "recovery_action": "LOOKUP_ATTEMPT",
          "unknown_response_exception": "UncertainDispatch",
          "unknown_response_never_grants_payment_authority": true
        }
      }
    },
    "/v1/payment-attempts/{attempt_id}/resume": {
      "post": {
        "operationId": "resumeOriginal",
        "parameters": [
          {
            "in": "path",
            "name": "attempt_id",
            "required": true,
            "schema": {
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "approval_revision": {
                    "minimum": 1,
                    "type": "integer",
                    "x-sdk-maximum": 9007199254740991
                  }
                },
                "required": [
                  "approval_revision"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Result"
                }
              }
            },
            "description": "Retained evaluation response. HOLD/REFUSE block at HTTP 200; ACCEPT is not settlement.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Invalid exact contract",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Revoked or invalid key",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Role/entitlement required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Resource outside key scope or absent. Not proof of no prior payment.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "411": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Content-Length required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Request exceeds 16 KiB",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "JSON required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "State, capacity or qualification unavailable. Modifying request may have committed.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-haltseal-sdk-failure": {
          "automatic_financial_retry": false,
          "identity_kind": "ATTEMPT_ID",
          "identity_location": "path.attempt_id",
          "recovery_action": "LOOKUP_ATTEMPT",
          "unknown_response_exception": "UncertainDispatch",
          "unknown_response_never_grants_payment_authority": true
        }
      }
    },
    "/v1/payment-obligations": {
      "post": {
        "operationId": "approveSource",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "description": "Original Ed25519 R2 envelope. Exact signed schema, immutable economics, issuer pins and lifetime are validated by R2. JavaScript sends the original JSON string to preserve nanosecond integers.",
                "properties": {
                  "algorithm": {
                    "const": "Ed25519"
                  },
                  "meaning": {
                    "const": "HOST_OR_COLLECTOR_SIGNATURE_NOT_PROVIDER_SIGNATURE"
                  },
                  "payload": {
                    "type": "object"
                  },
                  "signature": {
                    "type": "string"
                  },
                  "signer_sha256": {
                    "pattern": "^[0-9a-f]{64}$",
                    "type": "string"
                  }
                },
                "required": [
                  "payload",
                  "signature",
                  "signer_sha256",
                  "algorithm",
                  "meaning"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Result"
                }
              }
            },
            "description": "Retained evaluation response. HOLD/REFUSE block at HTTP 200; ACCEPT is not settlement.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Invalid exact contract",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Revoked or invalid key",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Role/entitlement required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Resource outside key scope or absent. Not proof of no prior payment.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "411": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Content-Length required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Request exceeds 16 KiB",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "JSON required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "State, capacity or qualification unavailable. Modifying request may have committed.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-haltseal-sdk-failure": {
          "automatic_financial_retry": false,
          "identity_kind": "SOURCE_APPROVAL",
          "identity_location": "Exact original signed source and request_fingerprint",
          "recovery_action": "REVIEW_SOURCE",
          "unknown_response_exception": "UncertainDispatch",
          "unknown_response_never_grants_payment_authority": true
        }
      }
    },
    "/v1/payment-obligations/{obligation_id}": {
      "get": {
        "operationId": "getObligation",
        "parameters": [
          {
            "in": "path",
            "name": "obligation_id",
            "required": true,
            "schema": {
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Result"
                }
              }
            },
            "description": "Retained evaluation response. HOLD/REFUSE block at HTTP 200; ACCEPT is not settlement.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Invalid exact contract",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Revoked or invalid key",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Role/entitlement required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Resource outside key scope or absent. Not proof of no prior payment.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "411": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Content-Length required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Request exceeds 16 KiB",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "JSON required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "State, capacity or qualification unavailable. Modifying request may have committed.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-haltseal-sdk-failure": {
          "automatic_financial_retry": false,
          "identity_kind": "OBLIGATION_ID",
          "identity_location": "path.obligation_id",
          "recovery_action": "REPEAT_READ",
          "unknown_response_exception": "TransportError",
          "unknown_response_never_grants_payment_authority": true
        }
      }
    },
    "/v1/payment-obligations/{obligation_id}/attempts": {
      "post": {
        "operationId": "createAttempt",
        "parameters": [
          {
            "in": "path",
            "name": "obligation_id",
            "required": true,
            "schema": {
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "approval_revision": {
                    "minimum": 1,
                    "type": "integer",
                    "x-sdk-maximum": 9007199254740991
                  },
                  "operation_id": {
                    "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$",
                    "type": "string"
                  },
                  "route": {
                    "enum": [
                      "A",
                      "B",
                      "C"
                    ]
                  }
                },
                "required": [
                  "operation_id",
                  "route",
                  "approval_revision"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Result"
                }
              }
            },
            "description": "Retained evaluation response. HOLD/REFUSE block at HTTP 200; ACCEPT is not settlement.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Invalid exact contract",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Revoked or invalid key",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Role/entitlement required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Resource outside key scope or absent. Not proof of no prior payment.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "411": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Content-Length required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Request exceeds 16 KiB",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "JSON required",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "State, capacity or qualification unavailable. Modifying request may have committed.",
            "headers": {
              "X-Request-ID": {
                "description": "Per HTTP request correlation. Not payment identity or permission.",
                "schema": {
                  "pattern": "^[a-f0-9]{32}$",
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "x-haltseal-sdk-failure": {
          "automatic_financial_retry": false,
          "identity_kind": "OPERATION_ID",
          "identity_location": "body.operation_id",
          "recovery_action": "LOOKUP_OPERATION",
          "unknown_response_exception": "UncertainDispatch",
          "unknown_response_never_grants_payment_authority": true
        }
      }
    }
  },
  "servers": [
    {
      "description": "Retained local evaluation only",
      "url": "http://127.0.0.1:8790"
    }
  ]
}
