{
  "openapi": "3.1.1",
  "info": {
    "title": "Payment Service API | v1",
    "contact": {
      "name": "Bead",
      "email": "support@bead.xyz"
    },
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "/"
    }
  ],
  "paths": {
    "/Accounts": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AccountsResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountsResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountsResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Accounts/{partnerId}": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "orderBy",
            "in": "query",
            "description": "The property to order results by. Accepts any property marked orderable on either `PartnerDigest` or `MerchantDigest`, depending on which shape the account returns.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Case-insensitive substring match on the partner or merchant (company) name. Trimmed before matching; ignored when shorter than 3 characters.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "merchantType",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/LocationBusinessType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerAccountsResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerAccountsResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerAccountsResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/admin/nonstable-billing-records": {
      "get": {
        "tags": [
          "AdminNonstableBillingRecords"
        ],
        "summary": "Bill wallet-line records, newest first.",
        "description": "SortBy can be any orderable field, e.g. WindowEndUtc, WalletId, AmountUsd.",
        "parameters": [
          {
            "name": "From",
            "in": "query",
            "description": "Earliest day to include (inclusive); matches any record whose window overlaps it.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "To",
            "in": "query",
            "description": "Latest day to include (inclusive).",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "WalletId",
            "in": "query",
            "description": "Restrict to one Voltage wallet.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Environment",
            "in": "query",
            "description": "Restrict to one environment's lines: `Current` or `Other`.",
            "schema": {
              "$ref": "#/components/schemas/VoltageBillEnvironment"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `billId`, `walletId`, `amountUsd`, `windowStartUtc`, `windowEndUtc`, `environment`, `merchantId`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfVoltageBillRecordResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfVoltageBillRecordResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfVoltageBillRecordResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/admin/nonstable-billing-records/csv": {
      "get": {
        "tags": [
          "AdminNonstableBillingRecords"
        ],
        "summary": "Streams every record matching the filters (unpaginated) as a CSV attachment.",
        "parameters": [
          {
            "name": "IncludeHeader",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Separator",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "WalletId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Environment",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/VoltageBillEnvironment"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `billId`, `walletId`, `amountUsd`, `windowStartUtc`, `windowEndUtc`, `environment`, `merchantId`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/FileResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/csv": { }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/csv": { }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/csv": { }
            }
          }
        }
      }
    },
    "/Batches": {
      "get": {
        "tags": [
          "Batches"
        ],
        "parameters": [
          {
            "name": "From",
            "in": "query",
            "description": "Start of the batch creation-time window (UTC), inclusive. A bare date binds to midnight.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "description": "End of the batch creation-time window (UTC), inclusive. A bare date binds to midnight, so pass a timestamp (e.g. 2026-01-31T23:59:59Z) to cover the final day in full.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/PaymentBatchStatus"
            }
          },
          {
            "name": "Type",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/CurrencyType"
            }
          },
          {
            "name": "MerchantIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "SettlementIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Case-insensitive substring match on the merchant (company) name, or exact match on the batch ID. Trimmed before matching; ignored when shorter than 3 characters.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `status`, `type`, `totalFees`, `grossFundableAmount`, `transactionCount`, `batchPeriod`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentBatchResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentBatchResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentBatchResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Batches/{id}": {
      "get": {
        "tags": [
          "Batches"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentBatchResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentBatchResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentBatchResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Batches/merchants/{merchantId}": {
      "get": {
        "tags": [
          "Batches"
        ],
        "parameters": [
          {
            "name": "merchantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "description": "Start of the batch creation-time window (UTC), inclusive. A bare date binds to midnight.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "description": "End of the batch creation-time window (UTC), inclusive. A bare date binds to midnight, so pass a timestamp (e.g. 2026-01-31T23:59:59Z) to cover the final day in full.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/PaymentBatchStatus"
            }
          },
          {
            "name": "Type",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/CurrencyType"
            }
          },
          {
            "name": "MerchantIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "SettlementIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Case-insensitive substring match on the merchant (company) name, or exact match on the batch ID. Trimmed before matching; ignored when shorter than 3 characters.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `status`, `type`, `totalFees`, `grossFundableAmount`, `transactionCount`, `batchPeriod`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentBatchResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentBatchResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentBatchResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Currencies": {
      "get": {
        "tags": [
          "Currencies"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Currency"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Currency"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Currency"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Currencies/{id}": {
      "get": {
        "tags": [
          "Currencies"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Currency"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Currency"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Currency"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Customers/{id}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Person"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Person"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Person"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Deposits": {
      "get": {
        "tags": [
          "Deposits"
        ],
        "parameters": [
          {
            "name": "From",
            "in": "query",
            "description": "Start of the deposit creation-time window (UTC), inclusive. A bare date binds to midnight.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "description": "End of the deposit creation-time window (UTC), inclusive. A bare date binds to midnight, so pass a timestamp (e.g. 2026-01-31T23:59:59Z) to cover the final day in full.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/DepositStatus"
            }
          },
          {
            "name": "Method",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/BankDepositMethod"
            }
          },
          {
            "name": "MerchantIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "SettlementIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Case-insensitive substring match on the merchant (company) name, or exact match on the deposit ID. Trimmed before matching; ignored when shorter than 3 characters.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `status`, `amount`, `feeAmount`, `method`, `created`, `updated`, `dispatchedDate`, `transferType`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfDepositResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfDepositResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfDepositResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Deposits/{id}": {
      "get": {
        "tags": [
          "Deposits"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DepositResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Locations/{id}": {
      "get": {
        "tags": [
          "Locations"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantLocation"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantLocation"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantLocation"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Locations"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMerchantLocationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMerchantLocationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMerchantLocationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantLocation"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantLocation"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantLocation"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Locations"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Locations/{id}/terminals": {
      "get": {
        "tags": [
          "Locations"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TerminalResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TerminalResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TerminalResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Locations/{id}/enabled": {
      "patch": {
        "tags": [
          "Locations"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetEnabledRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetEnabledRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetEnabledRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantLocation"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantLocation"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantLocation"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/MerchantAgreementTypes": {
      "get": {
        "tags": [
          "MerchantAgreementTypes"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantAgreementType"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantAgreementType"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantAgreementType"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "MerchantAgreementTypes"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MerchantAgreementType"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MerchantAgreementType"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MerchantAgreementType"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantAgreementType"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantAgreementType"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantAgreementType"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantAgreementType"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantAgreementType"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantAgreementType"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/MerchantAgreementTypes/{id}": {
      "get": {
        "tags": [
          "MerchantAgreementTypes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantAgreementType"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantAgreementType"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantAgreementType"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "MerchantAgreementTypes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MerchantAgreementType"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MerchantAgreementType"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MerchantAgreementType"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantAgreementType"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantAgreementType"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantAgreementType"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "MerchantAgreementTypes"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/MerchantAgreementTypes/many": {
      "post": {
        "tags": [
          "MerchantAgreementTypes"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MerchantAgreementType"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MerchantAgreementType"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MerchantAgreementType"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantAgreementType"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantAgreementType"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantAgreementType"
                  }
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantAgreementType"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantAgreementType"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantAgreementType"
                  }
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "MerchantAgreementTypes"
        ],
        "parameters": [
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "pattern": "^-?(?:0|[1-9]\\d*)$",
                "type": [
                  "integer",
                  "string"
                ],
                "format": "int32"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/merchant-onboarding/applications/{applicationId}": {
      "get": {
        "tags": [
          "MerchantOnboarding"
        ],
        "summary": "Retrieves the merchant onboarding application",
        "parameters": [
          {
            "name": "applicationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingApplicationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingApplicationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingApplicationResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "MerchantOnboarding"
        ],
        "summary": "Resubmits the merchant onboarding application",
        "parameters": [
          {
            "name": "applicationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/merchant-onboarding/applications/{applicationId}/history": {
      "get": {
        "tags": [
          "MerchantOnboarding"
        ],
        "summary": "Retrieves the history/audit log for a merchant onboarding application",
        "parameters": [
          {
            "name": "applicationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantOnboardingApplicationHistory"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantOnboardingApplicationHistory"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantOnboardingApplicationHistory"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/merchant-onboarding/applications": {
      "get": {
        "tags": [
          "MerchantOnboarding"
        ],
        "summary": "Retrieves a paginated list of merchant onboarding applications with filters",
        "description": "GetApplications is deprecated. Use GetApplicationsByPartnerId instead (route: merchant-onboarding/partners/{id}/applications), which scopes the applications to a specific partner and its descendants.",
        "parameters": [
          {
            "name": "PartnerId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "description": "Filter by updatedAt from date (ISO 8601 UTC). Defaults to 30 days before 'To' date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "description": "Filter by updatedAt to date (ISO 8601 UTC). Defaults to current UTC time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Statuses",
            "in": "query",
            "description": "List of statuses to filter by",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/MerchantOnboardingApplicationStatus"
              }
            }
          },
          {
            "name": "Tenders",
            "in": "query",
            "description": "Filter by requested tender classifications, OR semantics: an application matches when it requested any of\nthe selected classifications, independent of boarding, activation, or lifecycle status.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TenderClassification"
              }
            }
          },
          {
            "name": "PartnerTypes",
            "in": "query",
            "description": "Filter by the account level of the partner the application sits under, OR semantics: an application\nmatches when its partner has any of the selected types.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PartnerType"
              }
            }
          },
          {
            "name": "IsSettlementOnly",
            "in": "query",
            "description": "Filter by the Non-settlement designation: true returns only applications carrying it, false only\napplications without it. Omit to leave the list unfiltered. The multi-select ApplicationPartnerFlag[]? GetMerchantOnboardingApplicationsRequest.Flags filter\ncovers only the positive case; filtering to applications without the designation requires this parameter.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Flags",
            "in": "query",
            "description": "Filter by partner flags, OR semantics: an application matches when it carries any of the selected flags,\nso applications carrying no flags never match. Composes with every other filter, including\nbool? GetMerchantOnboardingApplicationsRequest.IsSettlementOnly, as a further AND condition.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ApplicationPartnerFlag"
              }
            }
          },
          {
            "name": "LocationBusinessType",
            "in": "query",
            "description": "Filter by the physical/virtual type captured on the application: an application operating both matches\neither selection, and one without a captured type (short applications before signing completes, and\napplications that predate type capture) matches no selection. Omit to leave the list unfiltered.",
            "schema": {
              "$ref": "#/components/schemas/LocationBusinessType"
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Free text search (e.g., merchantName, signer email, partnerExternalId)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `merchantName`, `partnerType`, `isSettlementOnly`, `isCommissionMerchant`, `status`, `updated`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfMerchantOnboardingApplicationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfMerchantOnboardingApplicationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfMerchantOnboardingApplicationResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "deprecated": true
      },
      "post": {
        "tags": [
          "MerchantOnboarding"
        ],
        "summary": "Initiates the merchant onboarding process",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InitiateOnboardingRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/InitiateOnboardingRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/InitiateOnboardingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/merchant-onboarding/applications/tenders": {
      "get": {
        "tags": [
          "MerchantOnboarding"
        ],
        "summary": "Retrieves the requested tender classifications present on onboarding applications visible to the current\nuser, optionally narrowed to a single partner — the option set for the applications-list tender filter",
        "description": "GetApplicationTenders is deprecated. Use GetApplicationTendersByPartnerId instead (route: Partners/{id}/applications/tenders), which scopes the options to a specific partner and its descendants.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TenderClassification"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TenderClassification"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TenderClassification"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/merchant-onboarding/applications/{applicationId}/submit": {
      "post": {
        "tags": [
          "MerchantOnboarding"
        ],
        "summary": "Submits a Draft application for signature, triggering the DocuSign signing flow.",
        "parameters": [
          {
            "name": "applicationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/merchant-onboarding/applications/{applicationId}/attachments": {
      "post": {
        "tags": [
          "MerchantOnboarding"
        ],
        "summary": "Uploads an attachment (PDF/JPEG/PNG) to a Draft application. Each attachment must specify a\ndocument category from MerchantOnboardingDocumentCategory such as\nLegalProofOfAddress, BusinessProofOfAddress, StakeholderProofOfIdentityFront,\nStakeholderProofOfIdentityBack, or Other. Attachments can only be added while the application\nis in Draft status.",
        "parameters": [
          {
            "name": "applicationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "allOf": [
                  {
                    "type": "object",
                    "properties": {
                      "ContentType": {
                        "type": "string"
                      },
                      "ContentDisposition": {
                        "type": "string"
                      },
                      "Headers": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "Length": {
                        "pattern": "^-?(?:0|[1-9]\\d*)$",
                        "type": [
                          "integer",
                          "string"
                        ],
                        "format": "int64"
                      },
                      "Name": {
                        "type": "string"
                      },
                      "FileName": {
                        "type": "string"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "category": {
                        "$ref": "#/components/schemas/MerchantOnboardingDocumentCategory"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "stakeholderIndex": {
                        "pattern": "^-?(?:0|[1-9]\\d*)$",
                        "type": [
                          "integer",
                          "string"
                        ],
                        "format": "int32"
                      }
                    }
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingApplicationAttachmentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingApplicationAttachmentResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingApplicationAttachmentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "MerchantOnboarding"
        ],
        "summary": "Lists all attachments for a merchant onboarding application.",
        "parameters": [
          {
            "name": "applicationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantOnboardingApplicationAttachmentResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantOnboardingApplicationAttachmentResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantOnboardingApplicationAttachmentResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/merchant-onboarding/applications/{applicationId}/attachments/{attachmentId}": {
      "get": {
        "tags": [
          "MerchantOnboarding"
        ],
        "summary": "Downloads a single attachment as a stream.",
        "parameters": [
          {
            "name": "applicationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attachmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "MerchantOnboarding"
        ],
        "summary": "Deletes an attachment from a Draft application. Not allowed once the application leaves Draft status.",
        "parameters": [
          {
            "name": "applicationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attachmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/merchant-onboarding/applications-short": {
      "post": {
        "tags": [
          "MerchantOnboarding"
        ],
        "summary": "Initiates the merchant onboarding process with minimal information",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InitiateEmptyOnboardingRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/InitiateEmptyOnboardingRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/InitiateEmptyOnboardingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/merchant-onboarding/{applicationId}/cancel": {
      "post": {
        "tags": [
          "MerchantOnboarding"
        ],
        "summary": "Cancels signing process for the application by revoking the signing token",
        "parameters": [
          {
            "name": "applicationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "201": {
            "description": "Created"
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/merchant-onboarding/upload/context": {
      "get": {
        "tags": [
          "MerchantOnboarding"
        ],
        "summary": "Resolves the anonymous context for a document upload link token, so the hosted upload page can render the\nappropriate state (including expired/revoked) before any upload is attempted.",
        "parameters": [
          {
            "name": "X-Upload-Token",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/UploadLinkContext"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UploadLinkContext"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/UploadLinkContext"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/merchant-onboarding/upload": {
      "post": {
        "tags": [
          "MerchantOnboarding"
        ],
        "summary": "Uploads a document through an active anonymous upload link, reusing the standard attachment pipeline.",
        "parameters": [
          {
            "name": "X-Upload-Token",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The upload link token, from the `X-Upload-Token` header",
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "allOf": [
                  {
                    "type": "object",
                    "properties": {
                      "ContentType": {
                        "type": "string"
                      },
                      "ContentDisposition": {
                        "type": "string"
                      },
                      "Headers": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "Length": {
                        "pattern": "^-?(?:0|[1-9]\\d*)$",
                        "type": [
                          "integer",
                          "string"
                        ],
                        "format": "int64"
                      },
                      "Name": {
                        "type": "string"
                      },
                      "FileName": {
                        "type": "string"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "category": {
                        "$ref": "#/components/schemas/MerchantOnboardingDocumentCategory"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "stakeholderIndex": {
                        "pattern": "^-?(?:0|[1-9]\\d*)$",
                        "type": [
                          "integer",
                          "string"
                        ],
                        "format": "int32"
                      }
                    }
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingApplicationAttachmentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingApplicationAttachmentResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantOnboardingApplicationAttachmentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/merchant-onboarding/{partnerId}/webhook": {
      "post": {
        "tags": [
          "MerchantOnboarding"
        ],
        "summary": "Registers the merchant onboarding webhook configuration.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "description": "ID of a partner",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Request body used to configure the webhook",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterWebhookRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterWebhookRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterWebhookRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RegisterWebhookResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegisterWebhookResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegisterWebhookResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RegisterWebhookResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegisterWebhookResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegisterWebhookResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "MerchantOnboarding"
        ],
        "summary": "Registers or updates the merchant onboarding webhook configuration.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "description": "ID of a partner",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Request body used to configure the webhook",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterWebhookRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterWebhookRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterWebhookRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RegisterWebhookResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegisterWebhookResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegisterWebhookResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "MerchantOnboarding"
        ],
        "summary": "Removes the merchant onboarding webhook configuration.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "description": "ID of a partner",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/all": {
      "get": {
        "tags": [
          "Merchants"
        ],
        "description": "SortBy can be one of: Created, Updated, CompanyName.\nSearch looks by CompanyName.",
        "parameters": [
          {
            "name": "PartnerIds",
            "in": "query",
            "description": "PartnerIds to be filtered",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Status",
            "in": "query",
            "description": "Optional status filter",
            "schema": {
              "$ref": "#/components/schemas/MerchantStatus"
            }
          },
          {
            "name": "IsSettlementOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "IsCommissionMerchant",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "IsPartnerRepresentative",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Case-insensitive substring match on the merchant company name.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `companyName`, `created`, `updated`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfMerchantDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfMerchantDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfMerchantDto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/Merchants/{id}": {
      "get": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updateDescendantTenderTypes",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMerchantRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMerchantRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMerchantRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants": {
      "post": {
        "tags": [
          "Merchants"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MerchantDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MerchantDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MerchantDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/many": {
      "post": {
        "tags": [
          "Merchants"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMerchantsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMerchantsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMerchantsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantDto"
                  }
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantDto"
                  }
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/{id}/logo": {
      "put": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "ContentType": {
                    "type": "string"
                  },
                  "ContentDisposition": {
                    "type": "string"
                  },
                  "Headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "Length": {
                    "pattern": "^-?(?:0|[1-9]\\d*)$",
                    "type": [
                      "integer",
                      "string"
                    ],
                    "format": "int64"
                  },
                  "Name": {
                    "type": "string"
                  },
                  "FileName": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/{id}/business-details": {
      "put": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMerchantBusinessDetailsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMerchantBusinessDetailsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMerchantBusinessDetailsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/{id}/contact": {
      "put": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMerchantContactDetailsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMerchantContactDetailsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMerchantContactDetailsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/{id}/stakeholders": {
      "put": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMerchantStakeholderDetailsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMerchantStakeholderDetailsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMerchantStakeholderDetailsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/{id}/notes": {
      "put": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMerchantNoteDetailsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMerchantNoteDetailsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMerchantNoteDetailsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/{merchantId}/settlements": {
      "get": {
        "tags": [
          "Merchants"
        ],
        "description": "Scoped to the merchant in the route. `MerchantIds` is rejected here; use `GET /Settlements` to filter\nacross merchants.",
        "parameters": [
          {
            "name": "merchantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "description": "Start of the settlement creation-time window (UTC), inclusive. A bare date binds to midnight.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "description": "End of the settlement creation-time window (UTC), inclusive. A bare date binds to midnight, so pass a timestamp (e.g. 2026-01-31T23:59:59Z) to cover the final day in full.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SettlementState"
            }
          },
          {
            "name": "Type",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/CurrencyType"
            }
          },
          {
            "name": "MerchantIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Case-insensitive substring match on the merchant (company) name, or exact match on the settlement ID. Trimmed before matching; ignored when shorter than 3 characters.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `type`, `status`, `batchCount`, `grossFundableAmount`, `totalTransactionFees`, `depositFees`, `totalFees`, `netAdjustmentTotal`, `netFundableAmount`, `settlementDate`, `created`, `updated`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfSettlementResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfSettlementResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfSettlementResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/{id}/payments": {
      "get": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "description": "Start of the payment creation-time window (UTC). Required.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "description": "End of the payment creation-time window (UTC). Required.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "TrackingId",
            "in": "query",
            "description": "Exact match on the payment tracking id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ReqCurrencyId",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "PayCurrencyId",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "CustomerId",
            "in": "query",
            "description": "Exact match by customer id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "DescriptionSearch",
            "in": "query",
            "description": "Case-sensitive substring match on the payment description.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "PaymentCode",
            "in": "query",
            "description": "Case-insensitive substring match on the payment code.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Single-box search, OR-ed across fields: Case-insensitive substring match on the payment code, description, or reference, or exact match on the tracking id. ANDs with the other filters. Trimmed before matching; ignored when shorter than 3 characters.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Reference",
            "in": "query",
            "description": "Exact, case-sensitive match on the payment reference.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "StatusCode",
            "in": "query",
            "description": "Restricts results to payments with any of the given statuses.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PaymentStatus"
              }
            }
          },
          {
            "name": "TenderType",
            "in": "query",
            "description": "Restricts results to payments with any of the given tender types.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TenderType"
              }
            }
          },
          {
            "name": "LocationName",
            "in": "query",
            "description": "Case-insensitive substring match on the location name.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "TerminalName",
            "in": "query",
            "description": "Case-insensitive substring match on the terminal name.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "TerminalId",
            "in": "query",
            "description": "Exact match by terminal id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "LocationId",
            "in": "query",
            "description": "Exact match by location id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "BatchId",
            "in": "query",
            "description": "Exact match by batch id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `statusCode`, `expiration`, `quoteExpiration`, `created`, `updated`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/{id}/locations": {
      "post": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMerchantLocationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMerchantLocationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMerchantLocationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantLocation"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantLocation"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantLocation"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantLocation"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantLocation"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantLocation"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "BusinessType",
            "in": "query",
            "description": "Restricts the list to locations with a physical or virtual presence. A location operating both matches\neither selection. Omit to return every location.",
            "schema": {
              "$ref": "#/components/schemas/LocationBusinessType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantLocation"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantLocation"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantLocation"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/{id}/terminals": {
      "get": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SearchByNameOrDescription",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Type",
            "in": "query",
            "description": "Restricts the list to terminals of the selected type. Omit to return every terminal.",
            "schema": {
              "$ref": "#/components/schemas/TerminalType"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `name`, `description`, `created`, `updated`, `maxTransactionAmount`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfTerminalResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfTerminalResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfTerminalResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/{id}/members": {
      "get": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantMemberResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantMemberResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantMemberResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MerchantMemberRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MerchantMemberRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MerchantMemberRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantMemberResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantMemberResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantMemberResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/{id}/members/{userIssuerId}": {
      "delete": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userIssuerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/{id}/invitations": {
      "post": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MerchantMemberInvitationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MerchantMemberInvitationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MerchantMemberInvitationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantMemberInvitationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantMemberInvitationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantMemberInvitationResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantMemberInvitationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantMemberInvitationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantMemberInvitationResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeExpired",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantMemberInvitationResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantMemberInvitationResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MerchantMemberInvitationResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/{id}/invitations/{invitationId}/resend": {
      "post": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "invitationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantMemberInvitationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantMemberInvitationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantMemberInvitationResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantMemberInvitationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantMemberInvitationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantMemberInvitationResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/{id}/invitations/{invitationId}": {
      "delete": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "invitationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/{id}/permissions": {
      "get": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PermissionsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PermissionsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PermissionsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/{merchantId}/update-requests": {
      "post": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "merchantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMerchantUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMerchantUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMerchantUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "merchantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Statuses",
            "in": "query",
            "description": "Filter by one or more statuses. Results include the union across all supplied statuses.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/MerchantUpdateRequestStatus"
              }
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Free-text search across merchant name, request (case) id, and merchant display id (MID).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "description": "Filter by requests submitted from this date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "description": "Filter by requests submitted to this date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `status`, `createdAt`, `submittedAt`, `effectiveAt`, `expiresAt`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfMerchantUpdateRequestResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfMerchantUpdateRequestResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfMerchantUpdateRequestResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/{merchantId}/update-requests/{requestId}/submit": {
      "post": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "merchantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "requestId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/{merchantId}/update-requests/{requestId}/approve": {
      "post": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "merchantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "requestId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveRejectMerchantUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveRejectMerchantUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveRejectMerchantUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/{merchantId}/update-requests/{requestId}/reject": {
      "post": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "merchantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "requestId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveRejectMerchantUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveRejectMerchantUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveRejectMerchantUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/{merchantId}/update-requests/{requestId}/cancel": {
      "post": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "merchantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "requestId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestStatusResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Merchants/{merchantId}/update-requests/{requestId}": {
      "get": {
        "tags": [
          "Merchants"
        ],
        "parameters": [
          {
            "name": "merchantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "requestId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantUpdateRequestResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Naics/from-mcc/{mcc}": {
      "get": {
        "tags": [
          "Naics"
        ],
        "parameters": [
          {
            "name": "mcc",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsLookupResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsLookupResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaicsLookupResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/OnboardingPages": {
      "post": {
        "tags": [
          "OnboardingPages"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OnboardingPage"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/OnboardingPage"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/OnboardingPage"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OnboardingPage"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OnboardingPage"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OnboardingPage"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/OnboardingPages/init/{onboardingPageId}": {
      "get": {
        "tags": [
          "OnboardingPages"
        ],
        "parameters": [
          {
            "name": "onboardingPageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OnboardingPageInitResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OnboardingPageInitResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OnboardingPageInitResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/all": {
      "get": {
        "tags": [
          "Partners"
        ],
        "summary": "Retrieves Partners with pagination",
        "description": "SortBy can be one of: Created, Updated, IsEnabled, PartnerType, Name.\nSearch looks by name, email and phone number.",
        "parameters": [
          {
            "name": "PartnerIds",
            "in": "query",
            "description": "Filter by Partner Ids",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "IsEnabled",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Type",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/PartnerType"
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Case-insensitive substring match on the partner name, email, or phone number.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `partnerType`, `name`, `isEnabled`, `created`, `updated`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPartnerResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPartnerResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPartnerResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{id}": {
      "get": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponseDetailsWithNavigator"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponseDetailsWithNavigator"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponseDetailsWithNavigator"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartnerRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartnerRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartnerRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{parentId}/partners": {
      "post": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "parentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePartnerRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePartnerRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePartnerRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{id}/business-details": {
      "put": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartnerBusinessDetailsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartnerBusinessDetailsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartnerBusinessDetailsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponseDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponseDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponseDetails"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{id}/contact": {
      "put": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartnerContactDetailsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartnerContactDetailsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartnerContactDetailsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponseDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponseDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponseDetails"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{id}/stakeholders": {
      "put": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartnerStakeholdersRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartnerStakeholdersRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartnerStakeholdersRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponseDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponseDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponseDetails"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{id}/notes": {
      "put": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartnerNotesRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartnerNotesRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartnerNotesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponseDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponseDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResponseDetails"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{id}/payments": {
      "get": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "description": "Start of the payment creation-time window (UTC). Required.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "description": "End of the payment creation-time window (UTC). Required.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "TrackingId",
            "in": "query",
            "description": "Exact match on the payment tracking id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ReqCurrencyId",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "PayCurrencyId",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "CustomerId",
            "in": "query",
            "description": "Exact match by customer id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "DescriptionSearch",
            "in": "query",
            "description": "Case-sensitive substring match on the payment description.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "PaymentCode",
            "in": "query",
            "description": "Case-insensitive substring match on the payment code.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Single-box search, OR-ed across fields: Case-insensitive substring match on the payment code, description, or reference, or exact match on the tracking id. ANDs with the other filters. Trimmed before matching; ignored when shorter than 3 characters.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Reference",
            "in": "query",
            "description": "Exact, case-sensitive match on the payment reference.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "StatusCode",
            "in": "query",
            "description": "Restricts results to payments with any of the given statuses.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PaymentStatus"
              }
            }
          },
          {
            "name": "TenderType",
            "in": "query",
            "description": "Restricts results to payments with any of the given tender types.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TenderType"
              }
            }
          },
          {
            "name": "LocationName",
            "in": "query",
            "description": "Case-insensitive substring match on the location name.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "TerminalName",
            "in": "query",
            "description": "Case-insensitive substring match on the terminal name.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "TerminalId",
            "in": "query",
            "description": "Exact match by terminal id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "LocationId",
            "in": "query",
            "description": "Exact match by location id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "BatchId",
            "in": "query",
            "description": "Exact match by batch id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `statusCode`, `expiration`, `quoteExpiration`, `created`, `updated`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{id}/members": {
      "get": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PartnerMemberResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PartnerMemberResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PartnerMemberResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartnerMemberRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PartnerMemberRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PartnerMemberRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerMemberResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerMemberResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerMemberResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{id}/members/{userIssuerId}": {
      "delete": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userIssuerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{id}/invitations": {
      "post": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartnerMemberInvitationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PartnerMemberInvitationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PartnerMemberInvitationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerMemberInvitationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerMemberInvitationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerMemberInvitationResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerMemberInvitationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerMemberInvitationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerMemberInvitationResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeExpired",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PartnerMemberInvitationResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PartnerMemberInvitationResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PartnerMemberInvitationResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{id}/invitations/{invitationId}/resend": {
      "post": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "invitationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerMemberInvitationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerMemberInvitationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerMemberInvitationResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerMemberInvitationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerMemberInvitationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerMemberInvitationResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{id}/invitations/{invitationId}": {
      "delete": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "invitationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{id}/permissions": {
      "get": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PermissionsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PermissionsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PermissionsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{id}/api-keys": {
      "post": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePartnerApiKeyCommand"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePartnerApiKeyCommand"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePartnerApiKeyCommand"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerApiKey"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerApiKey"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerApiKey"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerApiKey"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerApiKey"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerApiKey"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PartnerApiKey"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PartnerApiKey"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PartnerApiKey"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{id}/api-keys/{apiKeyId}": {
      "get": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "apiKeyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerApiKey"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerApiKey"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerApiKey"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "apiKeyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartnerApiKeyCommand"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartnerApiKeyCommand"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartnerApiKeyCommand"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerApiKey"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerApiKey"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerApiKey"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "apiKeyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{id}/applications": {
      "get": {
        "tags": [
          "Partners"
        ],
        "summary": "Retrieves a paginated list of merchant onboarding applications for a specific partner and its descendants",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "description": "Filter by updatedAt from date (ISO 8601 UTC). Defaults to 30 days before 'To' date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "description": "Filter by updatedAt to date (ISO 8601 UTC). Defaults to current UTC time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Statuses",
            "in": "query",
            "description": "List of statuses to filter by",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/MerchantOnboardingApplicationStatus"
              }
            }
          },
          {
            "name": "Tenders",
            "in": "query",
            "description": "Filter by requested tender classifications, OR semantics: an application matches when it requested any of\nthe selected classifications, independent of boarding, activation, or lifecycle status.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TenderClassification"
              }
            }
          },
          {
            "name": "PartnerTypes",
            "in": "query",
            "description": "Filter by the account level of the partner the application sits under, OR semantics: an application\nmatches when its partner has any of the selected types.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PartnerType"
              }
            }
          },
          {
            "name": "IsSettlementOnly",
            "in": "query",
            "description": "Filter by the Non-settlement designation: true returns only applications carrying it, false only\napplications without it. Omit to leave the list unfiltered. The multi-select ApplicationPartnerFlag[]? GetPartnerApplicationsRequest.Flags filter\ncovers only the positive case; filtering to applications without the designation requires this parameter.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Flags",
            "in": "query",
            "description": "Filter by partner flags, OR semantics: an application matches when it carries any of the selected flags,\nso applications carrying no flags never match. Composes with every other filter, including\nbool? GetPartnerApplicationsRequest.IsSettlementOnly, as a further AND condition.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ApplicationPartnerFlag"
              }
            }
          },
          {
            "name": "LocationBusinessType",
            "in": "query",
            "description": "Filter by the physical/virtual type captured on the application: an application operating both matches\neither selection, and one without a captured type (short applications before signing completes, and\napplications that predate type capture) matches no selection. Omit to leave the list unfiltered.",
            "schema": {
              "$ref": "#/components/schemas/LocationBusinessType"
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Free text search (e.g., merchantName, signer email, partnerExternalId)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `merchantName`, `partnerType`, `isSettlementOnly`, `isCommissionMerchant`, `status`, `updated`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfMerchantOnboardingApplicationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfMerchantOnboardingApplicationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfMerchantOnboardingApplicationResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{id}/applications/tenders": {
      "get": {
        "tags": [
          "Partners"
        ],
        "summary": "Retrieves the requested tender classifications present on onboarding applications for a specific partner\nand its descendants — the option set for the applications-list tender filter",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TenderClassification"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TenderClassification"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TenderClassification"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{id}/merchants": {
      "get": {
        "tags": [
          "Partners"
        ],
        "description": "Get merchants for a specific partner, only if the partner is a Master Merchant.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "description": "Optional status filter",
            "schema": {
              "$ref": "#/components/schemas/MerchantStatus"
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Case-insensitive substring match on the merchant company name.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `companyName`, `created`, `updated`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfMerchantDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfMerchantDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfMerchantDto"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{id}/representing-merchant": {
      "get": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantDto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{id}/fee-schedule": {
      "get": {
        "tags": [
          "Partners"
        ],
        "summary": "Returns the partner's effective fee schedule, resolved through the account hierarchy.",
        "description": "A partner's fee schedule is held by its representing merchant; a partner without one inherits the\nschedule of its nearest ancestor that has one. Each fee carries the partner's `sellRate` and its\n`buyRate` — what the partner pays, which is always its parent account's sell rate and is only ever\ncomputed here, never submitted. A merchant boarded under this partner buys at this schedule's sell\nrates, and onboarding rejects a merchant sell rate below them. A fee configured on either side is\nincluded — an inherited buy rate shows even before the partner's own sell rate is set — and any side\nwithout a configured rate is null, never zero. Returns 404 when neither the partner nor any ancestor\nhas a representing merchant.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerFeeScheduleResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerFeeScheduleResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerFeeScheduleResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{id}/monthly-maintenance-fee": {
      "put": {
        "tags": [
          "Partners"
        ],
        "summary": "Sets the partner's monthly maintenance fee (the SaaS fee rate billed per boarded merchant), stored on\nthe partner's representing merchant.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetMonthlyMaintenanceFeeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetMonthlyMaintenanceFeeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetMonthlyMaintenanceFeeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{partnerId}/update-requests": {
      "post": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePartnerUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePartnerUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePartnerUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "description": "Filter by status.",
            "schema": {
              "$ref": "#/components/schemas/PartnerUpdateRequestStatus"
            }
          },
          {
            "name": "From",
            "in": "query",
            "description": "Filter by submitted date from.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "description": "Filter by submitted date to.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "description": "Page number (0-based).",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Page size.",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PartnerUpdateRequestResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PartnerUpdateRequestResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PartnerUpdateRequestResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{partnerId}/update-requests/{requestId}/submit": {
      "post": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "requestId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{partnerId}/update-requests/{requestId}/approve": {
      "post": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "requestId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveRejectPartnerUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveRejectPartnerUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveRejectPartnerUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{partnerId}/update-requests/{requestId}/reject": {
      "post": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "requestId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveRejectPartnerUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveRejectPartnerUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveRejectPartnerUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{partnerId}/update-requests/{requestId}/cancel": {
      "post": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "requestId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestStatusResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{partnerId}/update-requests/{requestId}": {
      "get": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "requestId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerUpdateRequestResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{partnerId}/merchants-update-requests": {
      "get": {
        "tags": [
          "Partners"
        ],
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Statuses",
            "in": "query",
            "description": "Filter by one or more statuses. Results include the union across all supplied statuses.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/MerchantUpdateRequestStatus"
              }
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Free-text search across merchant name, request (case) id, and merchant display id (MID).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "description": "Filter by requests submitted from this date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "description": "Filter by requests submitted to this date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `status`, `createdAt`, `submittedAt`, `effectiveAt`, `expiresAt`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfMerchantUpdateRequestResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfMerchantUpdateRequestResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfMerchantUpdateRequestResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{partnerId}/upload-links": {
      "post": {
        "tags": [
          "Partners"
        ],
        "summary": "Generates a temporary, anonymous document upload link for a partner's Draft application.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateUploadLinkRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateUploadLinkRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateUploadLinkRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateUploadLinkResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateUploadLinkResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateUploadLinkResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateUploadLinkResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateUploadLinkResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateUploadLinkResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Partners"
        ],
        "summary": "Lists a partner's document upload links (metadata only; the token is never returned here).",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UploadLinkResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UploadLinkResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UploadLinkResponse"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Partners/{partnerId}/upload-links/{linkId}": {
      "delete": {
        "tags": [
          "Partners"
        ],
        "summary": "Revokes a document upload link.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "linkId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentCaptures": {
      "post": {
        "tags": [
          "PaymentCaptures"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CapturePaymentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CapturePaymentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CapturePaymentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CitconUpiCaptureResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CitconUpiCaptureResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CitconUpiCaptureResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CitconUpiCaptureResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CitconUpiCaptureResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CitconUpiCaptureResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/payments/{paymentId}/notes": {
      "get": {
        "tags": [
          "PaymentNotes"
        ],
        "parameters": [
          {
            "name": "paymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Query",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `date`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentNoteResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentNoteResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentNoteResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "PaymentNotes"
        ],
        "parameters": [
          {
            "name": "paymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePaymentNoteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePaymentNoteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePaymentNoteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentNoteResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentNoteResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentNoteResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentNoteResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentNoteResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentNoteResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/payments/{paymentId}/notes/{id}": {
      "get": {
        "tags": [
          "PaymentNotes"
        ],
        "parameters": [
          {
            "name": "paymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentNoteResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentNoteResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentNoteResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "PaymentNotes"
        ],
        "parameters": [
          {
            "name": "paymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePaymentNoteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePaymentNoteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePaymentNoteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentNoteResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentNoteResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentNoteResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PaymentNotes"
        ],
        "parameters": [
          {
            "name": "paymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentPages/init/{id}": {
      "get": {
        "tags": [
          "PaymentPages"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentPageInitResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentPageInitResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentPageInitResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentPages/{id}/request-quote": {
      "post": {
        "tags": [
          "PaymentPages"
        ],
        "summary": "Request a quote for a payment amount",
        "description": "Request a quote for a payment in the selected payment currency. Yields information necessary to display to the\ncustomer for payment completion.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The payment identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The quote request.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentPages/{id}/pending-transaction": {
      "post": {
        "tags": [
          "PaymentPages"
        ],
        "summary": "Create a pending transaction for a payment",
        "description": "Rejections carry a stable `error_code` safe to match on: `PAYMENT_ALREADY_IN_PROGRESS` when an\nexisting attempt is underway or cannot be verified yet (400), `PAYMENT_ALREADY_FINALIZED` when the\npayment is already past charging (400), and `TENDER_DISABLED` when the tender type is disabled on\nthe terminal (409).",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PendingTransactionResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PendingTransactionResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PendingTransactionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorCodeProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorCodeProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentPages/{id}/crypto/request-refund": {
      "post": {
        "tags": [
          "PaymentPages"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CryptoPageRefundRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CryptoPageRefundRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CryptoPageRefundRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "201": {
            "description": "Created"
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentPages/{paymentCode}/request-cancel": {
      "post": {
        "tags": [
          "PaymentPages"
        ],
        "parameters": [
          {
            "name": "paymentCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "201": {
            "description": "Created"
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentPages/{id}/request-receipt": {
      "post": {
        "tags": [
          "PaymentPages"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentPageReceiptRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentPageReceiptRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentPageReceiptRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentPage"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentPage"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentPage"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentPage"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentPage"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentPage"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentPages/{id}/status": {
      "get": {
        "tags": [
          "PaymentPages"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sessionKey",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentStatus"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentStatus"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentStatus"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentPages/{id}/refresh-status": {
      "put": {
        "tags": [
          "PaymentPages"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the PaymentPage",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sessionKey",
            "in": "query",
            "description": "The session key for the current payment.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentStatusResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentStatusResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentStatusResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentPages/all": {
      "get": {
        "tags": [
          "PaymentPages"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentPage"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentPage"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentPage"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentPages/{id}": {
      "get": {
        "tags": [
          "PaymentPages"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentPage"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentPage"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentPage"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentPages/{paymentPageId}/get-quote-response": {
      "get": {
        "tags": [
          "PaymentPages"
        ],
        "parameters": [
          {
            "name": "paymentPageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentPages/init-response/{id}": {
      "get": {
        "tags": [
          "PaymentPages"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentPageInitResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentPageInitResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentPageInitResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentProcessors": {
      "get": {
        "tags": [
          "PaymentProcessors"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentProcessor"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentProcessor"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentProcessor"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "PaymentProcessors"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentProcessor"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentProcessor"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentProcessor"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProcessor"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProcessor"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProcessor"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProcessor"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProcessor"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProcessor"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentProcessors/{id}": {
      "get": {
        "tags": [
          "PaymentProcessors"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProcessor"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProcessor"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProcessor"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "PaymentProcessors"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentProcessor"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentProcessor"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentProcessor"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProcessor"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProcessor"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentProcessor"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PaymentProcessors"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentProcessors/many": {
      "post": {
        "tags": [
          "PaymentProcessors"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PaymentProcessor"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PaymentProcessor"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PaymentProcessor"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentProcessor"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentProcessor"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentProcessor"
                  }
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentProcessor"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentProcessor"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentProcessor"
                  }
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PaymentProcessors"
        ],
        "parameters": [
          {
            "name": "ids",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentRefunds/{refundId}": {
      "get": {
        "tags": [
          "PaymentRefunds"
        ],
        "parameters": [
          {
            "name": "refundId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Refund"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Refund"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Refund"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentRefunds/{refundId}/receipt": {
      "get": {
        "tags": [
          "PaymentRefunds"
        ],
        "parameters": [
          {
            "name": "refundId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "claimToken",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RefundReceiptResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RefundReceiptResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RefundReceiptResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentRefunds/{refundId}/receipt/email": {
      "post": {
        "tags": [
          "PaymentRefunds"
        ],
        "description": "An empty or malformed `email` is rejected up front with a 400\n    ValidationProblemDetails keyed on `Email`; the receipt is never sent.",
        "parameters": [
          {
            "name": "refundId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailRefundReceiptRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailRefundReceiptRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EmailRefundReceiptRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "201": {
            "description": "Created"
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentRefunds/quote": {
      "get": {
        "tags": [
          "PaymentRefunds"
        ],
        "parameters": [
          {
            "name": "refundId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RefundQuoteResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RefundQuoteResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RefundQuoteResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentRefunds/start": {
      "post": {
        "tags": [
          "PaymentRefunds"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartRefundRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StartRefundRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StartRefundRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/StartRefundResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartRefundResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartRefundResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/StartRefundResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartRefundResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartRefundResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentRefunds/{refundId}/personal-info": {
      "post": {
        "tags": [
          "PaymentRefunds"
        ],
        "parameters": [
          {
            "name": "refundId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitRefundPersonalInfoRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitRefundPersonalInfoRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitRefundPersonalInfoRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Refund"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Refund"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Refund"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Refund"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Refund"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Refund"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentRefunds/confirm": {
      "post": {
        "tags": [
          "PaymentRefunds"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmRefundRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmRefundRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmRefundRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ConfirmRefundResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfirmRefundResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfirmRefundResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ConfirmRefundResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfirmRefundResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfirmRefundResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentRefunds/claims/validate": {
      "post": {
        "tags": [
          "PaymentRefunds"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateRefundClaimTokenRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateRefundClaimTokenRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateRefundClaimTokenRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ValidateRefundClaimTokenResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidateRefundClaimTokenResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidateRefundClaimTokenResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ValidateRefundClaimTokenResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidateRefundClaimTokenResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidateRefundClaimTokenResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/PaymentRefunds/payments/validate": {
      "post": {
        "tags": [
          "PaymentRefunds"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IsPaymentValidForRefundRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/IsPaymentValidForRefundRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/IsPaymentValidForRefundRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/IsPaymentValidForRefundResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IsPaymentValidForRefundResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/IsPaymentValidForRefundResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/IsPaymentValidForRefundResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IsPaymentValidForRefundResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/IsPaymentValidForRefundResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Payments/{id}": {
      "get": {
        "tags": [
          "Payments"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Payments": {
      "get": {
        "tags": [
          "Payments"
        ],
        "description": "Please use /partners/{partnerId}/payments or /merchants/{merchantId}/payments instead",
        "parameters": [
          {
            "name": "TerminalId",
            "in": "query",
            "description": "Exact match by terminal id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "MerchantId",
            "in": "query",
            "description": "Exact match by merchant id. Required; the caller must be authorized for this merchant.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "LocationId",
            "in": "query",
            "description": "Exact match by location id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "BatchId",
            "in": "query",
            "description": "Exact match by batch id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SettlementId",
            "in": "query",
            "description": "Exact match by settlement id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "description": "Restricts results to payments with the given status.",
            "schema": {
              "$ref": "#/components/schemas/PaymentStatus"
            }
          },
          {
            "name": "StartDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "EndDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "TenderType",
            "in": "query",
            "description": "Restricts results to payments with the given tender type.",
            "schema": {
              "$ref": "#/components/schemas/TenderType"
            }
          },
          {
            "name": "IsBatched",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `updated`, `statusCode`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/Payments/tracking/{trackingId}": {
      "get": {
        "tags": [
          "Payments"
        ],
        "description": "Please use /payments/{id}/tracking instead",
        "parameters": [
          {
            "name": "trackingId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentTrackingResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentTrackingResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentTrackingResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/Payments/{id}/tracking": {
      "get": {
        "tags": [
          "Payments"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentUpdatePayload"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentUpdatePayload"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentUpdatePayload"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Payments/crypto": {
      "post": {
        "tags": [
          "Payments"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CryptoPaymentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CryptoPaymentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CryptoPaymentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoPaymentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoPaymentResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoPaymentResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoPaymentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoPaymentResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoPaymentResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Payments/get-by-payment-code/{paymentCode}": {
      "get": {
        "tags": [
          "Payments"
        ],
        "description": "Please use payments/{id} instead",
        "parameters": [
          {
            "name": "paymentCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Payment"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payment"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payment"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/Payments/{paymentId}/refund-email": {
      "patch": {
        "tags": [
          "Payments"
        ],
        "parameters": [
          {
            "name": "paymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "string"
              }
            },
            "text/json": {
              "schema": {
                "type": "string"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "string"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Payments/{paymentId}/receipt-method": {
      "patch": {
        "tags": [
          "Payments"
        ],
        "parameters": [
          {
            "name": "paymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReceiptMethodRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ReceiptMethodRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ReceiptMethodRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/authorization": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Authorization report: one row per payment attempt across the partner's (and descendants') merchants.",
        "description": "SortBy can be one of: ActivityDate, PaymentCode, Status, BatchId, Tender, WalletId, Amount, AmountPaid,\nMerchantName, Terminal, Location.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PaymentStatus"
              }
            }
          },
          {
            "name": "Tender",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TenderType"
              }
            }
          },
          {
            "name": "MerchantId",
            "in": "query",
            "description": "Restrict to specific merchants of the partner's subtree.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AuthorizationReportResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthorizationReportResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthorizationReportResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/authorization/period-summary": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Authorization report bucketed by interval: one aggregated row per Daily/Weekly/Monthly period with\nactivity, newest first. Buckets are UTC days; weeks start on Monday.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Interval",
            "in": "query",
            "schema": {
              "default": "daily",
              "$ref": "#/components/schemas/ReportInterval"
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PaymentStatus"
              }
            }
          },
          {
            "name": "Tender",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TenderType"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AuthorizationReportPeriodSummaryResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthorizationReportPeriodSummaryResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthorizationReportPeriodSummaryResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/authorization/account-summary": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Authorization report rolled up per account one level below the partner: its own merchants plus one row\nper direct sub-partner aggregating that sub-partner's whole subtree. Drill down by requesting a\nsub-partner's own account summary.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PaymentStatus"
              }
            }
          },
          {
            "name": "Tender",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TenderType"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AuthorizationReportAccountSummaryResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthorizationReportAccountSummaryResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthorizationReportAccountSummaryResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/authorization/csv": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Streams the full authorization report (same filters/sort as the list, unpaginated) as a CSV attachment.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IncludeHeader",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "IncludeTotals",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "Columns",
            "in": "query",
            "description": "Columns to include, in order. Empty means all columns.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/AuthorizationReportColumn"
              }
            }
          },
          {
            "name": "Separator",
            "in": "query",
            "description": "Value separator: one of `,``;``|` or tab.",
            "schema": {
              "type": "string",
              "default": ","
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PaymentStatus"
              }
            }
          },
          {
            "name": "Tender",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TenderType"
              }
            }
          },
          {
            "name": "MerchantId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/FileResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/csv": { }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/csv": { }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/csv": { }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/batch-summary": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Batch summary report: one row per payment batch across the partner's (and descendants') merchants.",
        "description": "SortBy can be one of: ActivityDate, Status, Type, BatchPeriod, TransactionCount, GrossAmount, Fees,\nNetAmount, MerchantName.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PaymentBatchStatus"
              }
            }
          },
          {
            "name": "Type",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CurrencyType"
              }
            }
          },
          {
            "name": "MerchantId",
            "in": "query",
            "description": "Restrict to specific merchants of the partner's subtree.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BatchSummaryReportResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchSummaryReportResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchSummaryReportResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/batch-summary/period-summary": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Batch summary report bucketed by interval: one aggregated row per Daily/Weekly/Monthly period with\nactivity, newest first. Buckets are UTC days; weeks start on Monday.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Interval",
            "in": "query",
            "schema": {
              "default": "daily",
              "$ref": "#/components/schemas/ReportInterval"
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PaymentBatchStatus"
              }
            }
          },
          {
            "name": "Type",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CurrencyType"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BatchSummaryReportPeriodSummaryResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchSummaryReportPeriodSummaryResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchSummaryReportPeriodSummaryResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/batch-summary/account-summary": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Batch summary report rolled up per account one level below the partner: its own merchants plus one row\nper direct sub-partner aggregating that sub-partner's whole subtree. Drill down by requesting a\nsub-partner's own account summary.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PaymentBatchStatus"
              }
            }
          },
          {
            "name": "Type",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CurrencyType"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BatchSummaryReportAccountSummaryResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchSummaryReportAccountSummaryResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchSummaryReportAccountSummaryResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/batch-summary/csv": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Streams the full batch summary report (same filters/sort as the list, unpaginated) as a CSV attachment.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IncludeHeader",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "IncludeTotals",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "Columns",
            "in": "query",
            "description": "Columns to include, in order. Empty means all columns.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/BatchSummaryReportColumn"
              }
            }
          },
          {
            "name": "Separator",
            "in": "query",
            "description": "Value separator: one of `,``;``|` or tab.",
            "schema": {
              "type": "string",
              "default": ","
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PaymentBatchStatus"
              }
            }
          },
          {
            "name": "Type",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CurrencyType"
              }
            }
          },
          {
            "name": "MerchantId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/FileResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/csv": { }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/csv": { }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/csv": { }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/settlement": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Settlement report: one row per settlement across the partner's (and descendants') merchants.",
        "description": "SortBy can be one of: ActivityDate, Status, Type, GrossAmount, TransactionFees, DepositFees, NetAmount,\nSettlementDate, MerchantName.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/SettlementState"
              }
            }
          },
          {
            "name": "Type",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CurrencyType"
              }
            }
          },
          {
            "name": "MerchantId",
            "in": "query",
            "description": "Restrict to specific merchants of the partner's subtree.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SettlementReportResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SettlementReportResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SettlementReportResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/settlement/period-summary": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Settlement report bucketed by interval: one aggregated row per Daily/Weekly/Monthly period with\nactivity, newest first. Buckets are UTC days; weeks start on Monday.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Interval",
            "in": "query",
            "schema": {
              "default": "daily",
              "$ref": "#/components/schemas/ReportInterval"
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/SettlementState"
              }
            }
          },
          {
            "name": "Type",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CurrencyType"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SettlementReportPeriodSummaryResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SettlementReportPeriodSummaryResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SettlementReportPeriodSummaryResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/settlement/account-summary": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Settlement report rolled up per account one level below the partner: its own merchants plus one row\nper direct sub-partner aggregating that sub-partner's whole subtree. Drill down by requesting a\nsub-partner's own account summary.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/SettlementState"
              }
            }
          },
          {
            "name": "Type",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CurrencyType"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SettlementReportAccountSummaryResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SettlementReportAccountSummaryResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SettlementReportAccountSummaryResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/settlement/csv": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Streams the full settlement report (same filters/sort as the list, unpaginated) as a CSV attachment.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IncludeHeader",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "IncludeTotals",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "Columns",
            "in": "query",
            "description": "Columns to include, in order. Empty means all columns.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/SettlementReportColumn"
              }
            }
          },
          {
            "name": "Separator",
            "in": "query",
            "description": "Value separator: one of `,``;``|` or tab.",
            "schema": {
              "type": "string",
              "default": ","
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/SettlementState"
              }
            }
          },
          {
            "name": "Type",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CurrencyType"
              }
            }
          },
          {
            "name": "MerchantId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/FileResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/csv": { }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/csv": { }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/csv": { }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/deposit": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Deposit report: one row per bank deposit of settled funds across the partner's (and descendants') merchants.",
        "description": "SortBy can be one of: ActivityDate, DispatchedDate, Status, Method, TransferType, Amount, FeeAmount,\nSettlementId, MerchantName, DestinationMerchantName.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/DepositStatus"
              }
            }
          },
          {
            "name": "Method",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/BankDepositMethod"
              }
            }
          },
          {
            "name": "MerchantId",
            "in": "query",
            "description": "Restrict to specific merchants of the partner's subtree.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DepositReportResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositReportResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositReportResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/deposit/period-summary": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Deposit report bucketed by interval: one aggregated row per Daily/Weekly/Monthly period with activity,\nnewest first. Buckets are UTC days; weeks start on Monday.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Interval",
            "in": "query",
            "schema": {
              "default": "daily",
              "$ref": "#/components/schemas/ReportInterval"
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/DepositStatus"
              }
            }
          },
          {
            "name": "Method",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/BankDepositMethod"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DepositReportPeriodSummaryResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositReportPeriodSummaryResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositReportPeriodSummaryResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/deposit/account-summary": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Deposit report rolled up per account one level below the partner: its own merchants plus one row per\ndirect sub-partner aggregating that sub-partner's whole subtree. Drill down by requesting a\nsub-partner's own account summary.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/DepositStatus"
              }
            }
          },
          {
            "name": "Method",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/BankDepositMethod"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DepositReportAccountSummaryResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositReportAccountSummaryResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositReportAccountSummaryResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/deposit/csv": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Streams the full deposit report (same filters/sort as the list, unpaginated) as a CSV attachment.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IncludeHeader",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "IncludeTotals",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "Columns",
            "in": "query",
            "description": "Columns to include, in order. Empty means all columns.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/DepositReportColumn"
              }
            }
          },
          {
            "name": "Separator",
            "in": "query",
            "description": "Value separator: one of `,``;``|` or tab.",
            "schema": {
              "type": "string",
              "default": ","
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/DepositStatus"
              }
            }
          },
          {
            "name": "Method",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/BankDepositMethod"
              }
            }
          },
          {
            "name": "MerchantId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/FileResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/csv": { }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/csv": { }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/csv": { }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/rebate-transactions": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Rebate transaction detail report: one row per rebate payment across the partner's (and descendants')\nmerchants, carrying the exact amounts snapshotted at payment creation.",
        "description": "SortBy can be one of: ActivityDate, PaymentCode, Status, BatchId, Total, TargetRebate, MerchantPortion,\nMerchantName.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PaymentStatus"
              }
            }
          },
          {
            "name": "MerchantId",
            "in": "query",
            "description": "Restrict to specific merchants of the partner's subtree.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RebateTransactionReportResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RebateTransactionReportResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RebateTransactionReportResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/rebate-transactions/csv": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Streams the full rebate transaction report (same filters/sort as the list, unpaginated) as a CSV attachment.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IncludeHeader",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "IncludeTotals",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "Columns",
            "in": "query",
            "description": "Columns to include, in order. Empty means all columns.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/RebateTransactionReportColumn"
              }
            }
          },
          {
            "name": "Separator",
            "in": "query",
            "description": "Value separator: one of `,``;``|` or tab.",
            "schema": {
              "type": "string",
              "default": ","
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PaymentStatus"
              }
            }
          },
          {
            "name": "MerchantId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/FileResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/csv": { }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/csv": { }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/csv": { }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/rebate-distribution-summary": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Rebate distribution summary report: one row per merchant and distribution period, with the generated\ndistributions the rows reconcile against.",
        "description": "A period is the calendar month (in the configured business time zone) the payments' settlements were\nfunded in — the same attribution distribution assessment uses, so period figures reconcile with the\ngenerated distributions. From/To select the periods they intersect; each row always aggregates its\nfull period. SortBy can be one of: Period, MerchantName, PaymentCount, Total, TargetRebate,\nMerchantPortion, RebateFee, PartnerNet.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "MerchantId",
            "in": "query",
            "description": "Restrict to specific merchants of the partner's subtree.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RebateDistributionSummaryReportResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RebateDistributionSummaryReportResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RebateDistributionSummaryReportResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/rebate-distribution-summary/period-summary": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Rebate distribution summary bucketed by interval: funded rebate volume and effective rebate ratios per\nDaily/Weekly/Monthly period with activity, newest first. Buckets are business-time-zone days of\nsettlement funding; weeks start on Monday.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Interval",
            "in": "query",
            "schema": {
              "default": "daily",
              "$ref": "#/components/schemas/ReportInterval"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RebateDistributionSummaryReportPeriodSummaryResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RebateDistributionSummaryReportPeriodSummaryResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RebateDistributionSummaryReportPeriodSummaryResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/rebate-distribution-summary/account-summary": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Rebate participation rolled up per account one level below the partner: enrolled merchants and rebate\nvs regular payment volumes. Sub-partners aggregate their whole subtree; merchants are the partner's\nown. Enrolled merchants appear even with no activity in range.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PaymentStatus"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RebateDistributionSummaryReportAccountSummaryResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RebateDistributionSummaryReportAccountSummaryResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RebateDistributionSummaryReportAccountSummaryResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/partners/{partnerId}/reports/rebate-distribution-summary/csv": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Streams the full rebate distribution summary report (same filters/sort as the list, unpaginated) as a\nCSV attachment.",
        "parameters": [
          {
            "name": "partnerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IncludeHeader",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "IncludeTotals",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "Columns",
            "in": "query",
            "description": "Columns to include, in order. Empty means all columns.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/RebateDistributionSummaryReportColumn"
              }
            }
          },
          {
            "name": "Separator",
            "in": "query",
            "description": "Value separator: one of `,``;``|` or tab.",
            "schema": {
              "type": "string",
              "default": ","
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "MerchantId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/csv": {
                "schema": {
                  "$ref": "#/components/schemas/FileResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/csv": { }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/csv": { }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/csv": { }
            }
          }
        }
      }
    },
    "/Settlements": {
      "get": {
        "tags": [
          "Settlements"
        ],
        "parameters": [
          {
            "name": "From",
            "in": "query",
            "description": "Start of the settlement creation-time window (UTC), inclusive. A bare date binds to midnight.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "description": "End of the settlement creation-time window (UTC), inclusive. A bare date binds to midnight, so pass a timestamp (e.g. 2026-01-31T23:59:59Z) to cover the final day in full.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SettlementState"
            }
          },
          {
            "name": "Type",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/CurrencyType"
            }
          },
          {
            "name": "MerchantIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Case-insensitive substring match on the merchant (company) name, or exact match on the settlement ID. Trimmed before matching; ignored when shorter than 3 characters.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `type`, `status`, `batchCount`, `grossFundableAmount`, `totalTransactionFees`, `depositFees`, `totalFees`, `netAdjustmentTotal`, `netFundableAmount`, `settlementDate`, `created`, `updated`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfSettlementResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfSettlementResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfSettlementResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Settlements/{id}": {
      "get": {
        "tags": [
          "Settlements"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SettlementResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SettlementResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SettlementResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Settlements/{id}/batches": {
      "get": {
        "tags": [
          "Settlements"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "description": "Start of the batch creation-time window (UTC), inclusive. A bare date binds to midnight.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "description": "End of the batch creation-time window (UTC), inclusive. A bare date binds to midnight, so pass a timestamp (e.g. 2026-01-31T23:59:59Z) to cover the final day in full.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/PaymentBatchStatus"
            }
          },
          {
            "name": "Type",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/CurrencyType"
            }
          },
          {
            "name": "MerchantIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "SettlementIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Case-insensitive substring match on the merchant (company) name, or exact match on the batch ID. Trimmed before matching; ignored when shorter than 3 characters.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `status`, `type`, `totalFees`, `grossFundableAmount`, `transactionCount`, `batchPeriod`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentBatchResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentBatchResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentBatchResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Settlements/{id}/deposits": {
      "get": {
        "tags": [
          "Settlements"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "description": "Start of the deposit creation-time window (UTC), inclusive. A bare date binds to midnight.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "description": "End of the deposit creation-time window (UTC), inclusive. A bare date binds to midnight, so pass a timestamp (e.g. 2026-01-31T23:59:59Z) to cover the final day in full.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/DepositStatus"
            }
          },
          {
            "name": "Method",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/BankDepositMethod"
            }
          },
          {
            "name": "MerchantIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "SettlementIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Case-insensitive substring match on the merchant (company) name, or exact match on the deposit ID. Trimmed before matching; ignored when shorter than 3 characters.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `status`, `amount`, `feeAmount`, `method`, `created`, `updated`, `dispatchedDate`, `transferType`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfDepositResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfDepositResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfDepositResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/SmsTemplates": {
      "get": {
        "tags": [
          "SmsTemplates"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SmsTemplate"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SmsTemplate"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SmsTemplate"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "SmsTemplates"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SmsTemplate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SmsTemplate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SmsTemplate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SmsTemplate"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmsTemplate"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmsTemplate"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SmsTemplate"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmsTemplate"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmsTemplate"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/SmsTemplates/{id}": {
      "get": {
        "tags": [
          "SmsTemplates"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SmsTemplate"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmsTemplate"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmsTemplate"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "SmsTemplates"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SmsTemplate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SmsTemplate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SmsTemplate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SmsTemplate"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmsTemplate"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SmsTemplate"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "SmsTemplates"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Terminals/{id}": {
      "get": {
        "tags": [
          "Terminals"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Terminals"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTerminalRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTerminalRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTerminalRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Terminals"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Terminals/{id}/api-keys": {
      "get": {
        "tags": [
          "Terminals"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalApiKey"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalApiKey"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalApiKey"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Terminals"
        ],
        "summary": "Resets a terminal's API key.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Terminals": {
      "post": {
        "tags": [
          "Terminals"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTerminalRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTerminalRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTerminalRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Terminals/{id}/clone": {
      "post": {
        "tags": [
          "Terminals"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CloneTerminalRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CloneTerminalRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CloneTerminalRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Terminals/{id}/webhook": {
      "put": {
        "tags": [
          "Terminals"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookUrl"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookUrl"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookUrl"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSetResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSetResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSetResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Terminals"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Terminals/{id}/payments": {
      "get": {
        "tags": [
          "Terminals"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "description": "Start of the payment creation-time window (UTC). Required.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "description": "End of the payment creation-time window (UTC). Required.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "TrackingId",
            "in": "query",
            "description": "Exact match on the payment tracking id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ReqCurrencyId",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "PayCurrencyId",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "CustomerId",
            "in": "query",
            "description": "Exact match by customer id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "DescriptionSearch",
            "in": "query",
            "description": "Case-sensitive substring match on the payment description.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "PaymentCode",
            "in": "query",
            "description": "Case-insensitive substring match on the payment code.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Single-box search, OR-ed across fields: Case-insensitive substring match on the payment code, description, or reference, or exact match on the tracking id. ANDs with the other filters. Trimmed before matching; ignored when shorter than 3 characters.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Reference",
            "in": "query",
            "description": "Exact, case-sensitive match on the payment reference.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "StatusCode",
            "in": "query",
            "description": "Restricts results to payments with any of the given statuses.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PaymentStatus"
              }
            }
          },
          {
            "name": "TenderType",
            "in": "query",
            "description": "Restricts results to payments with any of the given tender types.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TenderType"
              }
            }
          },
          {
            "name": "LocationName",
            "in": "query",
            "description": "Case-insensitive substring match on the location name.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "TerminalName",
            "in": "query",
            "description": "Case-insensitive substring match on the terminal name.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "TerminalId",
            "in": "query",
            "description": "Exact match by terminal id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "LocationId",
            "in": "query",
            "description": "Exact match by location id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "BatchId",
            "in": "query",
            "description": "Exact match by batch id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "SortBy",
            "in": "query",
            "description": "Allowed values: `statusCode`, `expiration`, `quoteExpiration`, `created`, `updated`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDirection",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/SortDirection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentInfo"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentInfo"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedDataResultOfPaymentInfo"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Users/merchant-invitations": {
      "put": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "invitationToken",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantMemberInvitationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantMemberInvitationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantMemberInvitationResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Users/partner-invitations": {
      "put": {
        "tags": [
          "Users"
        ],
        "parameters": [
          {
            "name": "invitationToken",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerMemberInvitationResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerMemberInvitationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerMemberInvitationResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AccountServicesApplicationResponse": {
        "required": [
          "status",
          "requestedAt"
        ],
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "requestedAt": {
            "type": "string",
            "format": "date-time"
          },
          "completedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "When the compliance review reached a terminal state (approved/rejected); null while still in progress.",
            "format": "date-time"
          }
        }
      },
      "AccountsResult": {
        "type": "object",
        "properties": {
          "partners": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/PartnerDigest"
            }
          },
          "merchants": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/MerchantDigest"
            }
          }
        }
      },
      "Adjustment": {
        "required": [
          "type",
          "netAdjustment"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/AdjustmentType"
          },
          "note": {
            "type": [
              "null",
              "string"
            ]
          },
          "netAdjustment": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "AdjustmentType": {
        "enum": [
          "chargeback",
          "chargebackFee",
          "refund",
          "achReject",
          "holdback",
          "reversal",
          "complianceFine",
          "platformFee",
          "equipmentFee",
          "adjustmentCredit",
          "currencyConversionFee",
          "networkAssessmentFee",
          "depositCorrection",
          "taxWithholding"
        ],
        "x-enumNames": [
          "Chargeback",
          "ChargebackFee",
          "Refund",
          "AchReject",
          "Holdback",
          "Reversal",
          "ComplianceFine",
          "PlatformFee",
          "EquipmentFee",
          "AdjustmentCredit",
          "CurrencyConversionFee",
          "NetworkAssessmentFee",
          "DepositCorrection",
          "TaxWithholding"
        ]
      },
      "AgreementApplication": {
        "required": [
          "envelopeId",
          "templateId",
          "partnerExternalId",
          "status",
          "signer",
          "events",
          "merchantOnboardingApplicationDetails",
          "fundsTransferAgreementDetails",
          "detailsSnapshots",
          "attachments"
        ],
        "type": "object",
        "properties": {
          "envelopeId": {
            "type": "string"
          },
          "templateId": {
            "type": "string"
          },
          "partnerExternalId": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/AgreementApplicationStatus"
          },
          "signer": {
            "$ref": "#/components/schemas/DocumentSigner"
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentEvent"
            }
          },
          "completedDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "merchantOnboardingApplicationDetails": {
            "$ref": "#/components/schemas/MerchantOnboardingApplicationDetails"
          },
          "fundsTransferAgreementDetails": {
            "$ref": "#/components/schemas/FundsTransferAgreementDetails"
          },
          "detailsSnapshots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgreementApplicationDetailsSnapshot"
            }
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MerchantOnboardingApplicationAttachment"
            }
          }
        }
      },
      "AgreementApplicationDetailsSnapshot": {
        "required": [
          "envelopeId",
          "status",
          "merchantOnboardingApplicationDetails",
          "fundsTransferAgreementDetails"
        ],
        "type": "object",
        "properties": {
          "envelopeId": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/AgreementApplicationStatus"
          },
          "merchantOnboardingApplicationDetails": {
            "$ref": "#/components/schemas/MerchantOnboardingApplicationDetails"
          },
          "fundsTransferAgreementDetails": {
            "$ref": "#/components/schemas/FundsTransferAgreementDetails"
          }
        }
      },
      "AgreementApplicationStatus": {
        "enum": [
          "unsent",
          "sent",
          "completed",
          "correct",
          "created",
          "declined",
          "deleted",
          "delivered",
          "signed",
          "template",
          "timedOut",
          "voided",
          "resent",
          "failed"
        ],
        "x-enumNames": [
          "Unsent",
          "Sent",
          "Completed",
          "Correct",
          "Created",
          "Declined",
          "Deleted",
          "Delivered",
          "Signed",
          "Template",
          "TimedOut",
          "Voided",
          "Resent",
          "Failed"
        ]
      },
      "AmountInfo": {
        "required": [
          "amount",
          "amountPrecision",
          "currencyId"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "amountPrecision": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "currencyId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "AmountInfoResponse": {
        "required": [
          "amount",
          "amountPrecision",
          "currency"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "amountPrecision": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "currency": {
            "$ref": "#/components/schemas/CurrencyResponse"
          }
        }
      },
      "AmountInfoWithCurrency": {
        "required": [
          "amount",
          "amountPrecision"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "amountPrecision": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "currencyName": {
            "type": [
              "null",
              "string"
            ]
          },
          "currencyCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "currencyType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CurrencyType"
              }
            ]
          },
          "currencyNetworkType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CurrencyNetworkType"
              }
            ]
          },
          "tenderType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/TenderType"
              }
            ]
          }
        }
      },
      "ApplicationPartnerFlag": {
        "enum": [
          "settlementOnly",
          "commissionMerchant"
        ],
        "x-enumNames": [
          "SettlementOnly",
          "CommissionMerchant"
        ]
      },
      "ApproveRejectMerchantUpdateRequest": {
        "type": "object",
        "properties": {
          "reason": {
            "type": [
              "null",
              "string"
            ],
            "description": "The reason for approval or rejection."
          },
          "approverReference": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional approver reference (e.g., user:12345)."
          }
        },
        "description": "Request to approve or reject a merchant update request."
      },
      "ApproveRejectPartnerUpdateRequest": {
        "type": "object",
        "properties": {
          "reason": {
            "type": [
              "null",
              "string"
            ],
            "description": "Reason for approval or rejection."
          },
          "approverReference": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional reference for the approver."
          }
        },
        "description": "Request to approve or reject a partner update request."
      },
      "AuthorizationReportAccountRow": {
        "required": [
          "accountId",
          "accountType",
          "count",
          "totalAmounts",
          "totalAmountsPaid"
        ],
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string"
          },
          "accountType": {
            "$ref": "#/components/schemas/ReportAccountType"
          },
          "accountName": {
            "type": [
              "null",
              "string"
            ]
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of payment attempts under the account.",
            "format": "int32"
          },
          "totalAmounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthorizationReportTotal"
            },
            "description": "Sum of the requested amounts under the account, per requested currency."
          },
          "totalAmountsPaid": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthorizationReportTotal"
            },
            "description": "Sum of the paid amounts under the account, per payment currency."
          }
        },
        "description": "Aggregates for one account (direct sub-partner or merchant) of the authorization report."
      },
      "AuthorizationReportAccountSummaryResult": {
        "required": [
          "data",
          "totalCount",
          "totalAmounts",
          "totalAmountsPaid"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthorizationReportAccountRow"
            },
            "description": "One row per direct child with activity: sub-partners aggregate their whole subtree, merchants are the\npartner's own. Partners sort first, then merchants, by name."
          },
          "totalCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of payment attempts across all rows.",
            "format": "int32"
          },
          "totalAmounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthorizationReportTotal"
            },
            "description": "Sum of the requested amounts across all rows, per requested currency."
          },
          "totalAmountsPaid": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthorizationReportTotal"
            },
            "description": "Sum of the paid amounts across all rows, per payment currency."
          }
        },
        "description": "Authorization report rolled up per account one level below the requested partner."
      },
      "AuthorizationReportColumn": {
        "enum": [
          "date",
          "time",
          "paymentCode",
          "status",
          "batchId",
          "paymentMethod",
          "tender",
          "transactionType",
          "walletId",
          "amount",
          "amountCurrency",
          "amountPaid",
          "amountPaidCurrency",
          "merchantName",
          "location",
          "terminal"
        ],
        "x-enumNames": [
          "Date",
          "Time",
          "PaymentCode",
          "Status",
          "BatchId",
          "PaymentMethod",
          "Tender",
          "TransactionType",
          "WalletId",
          "Amount",
          "AmountCurrency",
          "AmountPaid",
          "AmountPaidCurrency",
          "MerchantName",
          "Location",
          "Terminal"
        ]
      },
      "AuthorizationReportPeriodRow": {
        "required": [
          "periodStart",
          "periodEnd",
          "count",
          "totalAmounts",
          "totalAmountsPaid"
        ],
        "type": "object",
        "properties": {
          "periodStart": {
            "type": "string",
            "description": "First UTC day of the bucket, clamped to the requested range.",
            "format": "date"
          },
          "periodEnd": {
            "type": "string",
            "description": "Last UTC day of the bucket (inclusive), clamped to the requested range.",
            "format": "date"
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of payment attempts in the bucket.",
            "format": "int32"
          },
          "totalAmounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthorizationReportTotal"
            },
            "description": "Sum of the requested amounts in the bucket, per requested currency."
          },
          "totalAmountsPaid": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthorizationReportTotal"
            },
            "description": "Sum of the paid amounts in the bucket, per payment currency."
          }
        },
        "description": "Aggregates for one period bucket of the authorization report."
      },
      "AuthorizationReportPeriodSummaryResult": {
        "required": [
          "interval",
          "data",
          "totalCount",
          "totalAmounts",
          "totalAmountsPaid"
        ],
        "type": "object",
        "properties": {
          "interval": {
            "$ref": "#/components/schemas/ReportInterval"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthorizationReportPeriodRow"
            },
            "description": "One row per period bucket with activity, newest first."
          },
          "totalCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of payment attempts across all buckets.",
            "format": "int32"
          },
          "totalAmounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthorizationReportTotal"
            },
            "description": "Sum of the requested amounts across all buckets, per requested currency."
          },
          "totalAmountsPaid": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthorizationReportTotal"
            },
            "description": "Sum of the paid amounts across all buckets, per payment currency."
          }
        },
        "description": "Authorization report bucketed by period."
      },
      "AuthorizationReportResult": {
        "required": [
          "totalAmounts",
          "totalAmountsPaid",
          "data",
          "total",
          "page"
        ],
        "type": "object",
        "properties": {
          "totalAmounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthorizationReportTotal"
            },
            "description": "Sum of the requested amounts across all matching rows, per requested currency."
          },
          "totalAmountsPaid": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthorizationReportTotal"
            },
            "description": "Sum of the paid amounts across all matching rows, per payment currency."
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthorizationReportRow"
            }
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "AuthorizationReportRow": {
        "required": [
          "id",
          "paymentCode",
          "activityDate",
          "status",
          "transactionType",
          "amount",
          "amountPaid"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "activityDate": {
            "type": "string",
            "description": "UTC timestamp the payment attempt was created.",
            "format": "date-time"
          },
          "paymentCode": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/PaymentStatus"
          },
          "batchId": {
            "type": [
              "null",
              "string"
            ]
          },
          "paymentMethod": {
            "type": [
              "null",
              "string"
            ],
            "description": "Code of the currency the customer pays with (e.g. BTC, USDC)."
          },
          "tender": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/TenderType"
              }
            ]
          },
          "transactionType": {
            "$ref": "#/components/schemas/TransferType"
          },
          "walletId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Originating wallet address for crypto payments."
          },
          "amount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Requested amount, in the requested currency.",
            "format": "double"
          },
          "amountCurrency": {
            "type": [
              "null",
              "string"
            ]
          },
          "amountPaid": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Amount actually paid, in the payment currency.",
            "format": "double"
          },
          "amountPaidCurrency": {
            "type": [
              "null",
              "string"
            ]
          },
          "merchantId": {
            "type": [
              "null",
              "string"
            ]
          },
          "merchantName": {
            "type": [
              "null",
              "string"
            ]
          },
          "location": {
            "type": [
              "null",
              "string"
            ]
          },
          "terminal": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "description": "One payment attempt in the authorization report."
      },
      "AuthorizationReportTotal": {
        "required": [
          "currencyId",
          "currencyCode",
          "amount"
        ],
        "type": "object",
        "properties": {
          "currencyId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "currencyCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "amount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "BankAccountsType": {
        "enum": [
          "checking",
          "savings"
        ],
        "x-enumNames": [
          "Checking",
          "Savings"
        ]
      },
      "BankDepositMethod": {
        "enum": [
          "ach",
          "wire"
        ],
        "x-enumNames": [
          "Ach",
          "Wire"
        ]
      },
      "BankInfo": {
        "required": [
          "bankName",
          "accountNumber",
          "accountType",
          "routingNumber",
          "mailingAddress",
          "proofOfBankAccountType",
          "proofOfBankAccountDocument",
          "depositMethod"
        ],
        "type": "object",
        "properties": {
          "bankName": {
            "maxLength": 128,
            "type": "string"
          },
          "accountNumber": {
            "maxLength": 32,
            "type": "string"
          },
          "accountType": {
            "$ref": "#/components/schemas/BankAccountsType"
          },
          "routingNumber": {
            "maxLength": 32,
            "type": "string"
          },
          "mailingAddress": {
            "$ref": "#/components/schemas/MailingAddress"
          },
          "proofOfBankAccountType": {
            "$ref": "#/components/schemas/ProofOfBankAccountType"
          },
          "proofOfBankAccountDocument": {
            "type": "string"
          },
          "depositMethod": {
            "$ref": "#/components/schemas/BankDepositMethod"
          }
        }
      },
      "BankInfoEntity": {
        "required": [
          "bankName",
          "accountNumber",
          "accountType",
          "routingNumber",
          "bankMailingAddress",
          "proofOfBankAccountType",
          "proofOfBankAccountDocument",
          "depositMethod"
        ],
        "type": "object",
        "properties": {
          "bankName": {
            "type": "string"
          },
          "accountNumber": {
            "type": "string"
          },
          "accountType": {
            "type": "string"
          },
          "routingNumber": {
            "type": "string"
          },
          "bankMailingAddress": {
            "$ref": "#/components/schemas/MailingAddress"
          },
          "proofOfBankAccountType": {
            "type": "string"
          },
          "proofOfBankAccountDocument": {
            "type": "string"
          },
          "locationsCsvDocument": {
            "type": [
              "null",
              "string"
            ]
          },
          "depositMethod": {
            "type": "string"
          }
        }
      },
      "BankingApplicationResponse": {
        "required": [
          "status"
        ],
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/BankingApplicationStatus"
          },
          "clientAccountId": {
            "type": [
              "null",
              "string"
            ]
          },
          "errorMessage": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "BankingApplicationStatus": {
        "enum": [
          "pending",
          "boarded",
          "failed"
        ],
        "x-enumNames": [
          "Pending",
          "Boarded",
          "Failed"
        ]
      },
      "BatchSummaryReportAccountRow": {
        "required": [
          "accountId",
          "accountType",
          "count",
          "transactionCount",
          "grossAmount",
          "fees",
          "netAmount"
        ],
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string"
          },
          "accountType": {
            "$ref": "#/components/schemas/ReportAccountType"
          },
          "accountName": {
            "type": [
              "null",
              "string"
            ]
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of batches under the account.",
            "format": "int32"
          },
          "transactionCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Transactions across the account's batches.",
            "format": "int32"
          },
          "grossAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "fees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "netAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        },
        "description": "Aggregates for one account (direct sub-partner or merchant) of the batch summary report."
      },
      "BatchSummaryReportAccountSummaryResult": {
        "required": [
          "data",
          "totalCount",
          "totalGrossAmount",
          "totalFees",
          "totalNetAmount"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BatchSummaryReportAccountRow"
            },
            "description": "One row per direct child with activity: sub-partners aggregate their whole subtree, merchants are the\npartner's own. Partners sort first, then merchants, by name."
          },
          "totalCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of batches across all rows.",
            "format": "int32"
          },
          "totalGrossAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalNetAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        },
        "description": "Batch summary report rolled up per account one level below the requested partner. All amounts are USD\npayable figures."
      },
      "BatchSummaryReportColumn": {
        "enum": [
          "date",
          "time",
          "merchantName",
          "batchId",
          "status",
          "type",
          "batchPeriod",
          "transactionCount",
          "grossAmount",
          "fees",
          "netAmount",
          "settlementId",
          "targetRebate",
          "rebateTransactionCount"
        ],
        "x-enumNames": [
          "Date",
          "Time",
          "MerchantName",
          "BatchId",
          "Status",
          "Type",
          "BatchPeriod",
          "TransactionCount",
          "GrossAmount",
          "Fees",
          "NetAmount",
          "SettlementId",
          "TargetRebate",
          "RebateTransactionCount"
        ]
      },
      "BatchSummaryReportPeriodRow": {
        "required": [
          "periodStart",
          "periodEnd",
          "count",
          "transactionCount",
          "grossAmount",
          "fees",
          "netAmount"
        ],
        "type": "object",
        "properties": {
          "periodStart": {
            "type": "string",
            "description": "First UTC day of the bucket, clamped to the requested range.",
            "format": "date"
          },
          "periodEnd": {
            "type": "string",
            "description": "Last UTC day of the bucket (inclusive), clamped to the requested range.",
            "format": "date"
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of batches in the bucket.",
            "format": "int32"
          },
          "transactionCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Transactions across the bucket's batches.",
            "format": "int32"
          },
          "grossAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "fees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "netAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        },
        "description": "Aggregates for one period bucket of the batch summary report."
      },
      "BatchSummaryReportPeriodSummaryResult": {
        "required": [
          "interval",
          "data",
          "totalCount",
          "totalGrossAmount",
          "totalFees",
          "totalNetAmount"
        ],
        "type": "object",
        "properties": {
          "interval": {
            "$ref": "#/components/schemas/ReportInterval"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BatchSummaryReportPeriodRow"
            },
            "description": "One row per period bucket with activity, newest first."
          },
          "totalCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of batches across all buckets.",
            "format": "int32"
          },
          "totalGrossAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalNetAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        },
        "description": "Batch summary report bucketed by period. All amounts are USD payable figures."
      },
      "BatchSummaryReportResult": {
        "required": [
          "totalGrossAmount",
          "totalFees",
          "totalNetAmount",
          "data",
          "total",
          "page"
        ],
        "type": "object",
        "properties": {
          "totalGrossAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Sums across all matching rows (not just the returned page), in USD.",
            "format": "double"
          },
          "totalFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalNetAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BatchSummaryReportRow"
            }
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "BatchSummaryReportRow": {
        "required": [
          "id",
          "activityDate",
          "status",
          "type",
          "batchPeriod",
          "transactionCount",
          "grossAmount",
          "fees",
          "netAmount",
          "targetRebate",
          "rebateTransactionCount"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "activityDate": {
            "type": "string",
            "description": "UTC timestamp the batch was created.",
            "format": "date-time"
          },
          "status": {
            "$ref": "#/components/schemas/PaymentBatchStatus"
          },
          "type": {
            "description": "Currency type of the payments in the batch.",
            "$ref": "#/components/schemas/CurrencyType"
          },
          "batchPeriod": {
            "type": "string",
            "description": "Reporting day the batch groups activity for.",
            "format": "date"
          },
          "transactionCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of transactions rolled up into the batch.",
            "format": "int32"
          },
          "grossAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Gross sales in the batch, before fees.",
            "format": "double"
          },
          "fees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Total fees deducted from the batch.",
            "format": "double"
          },
          "netAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Net payable amount (gross − fees).",
            "format": "double"
          },
          "targetRebate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Sum of Target Rebate across the batch's rebate payments; not part of the payable math.",
            "format": "double"
          },
          "rebateTransactionCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of rebate payments in the batch.",
            "format": "int32"
          },
          "settlementId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Settlement the batch has been attached to; null while it is still unsettled."
          },
          "merchantId": {
            "type": [
              "null",
              "string"
            ]
          },
          "merchantName": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "description": "One payment batch in the batch summary report. All amounts are USD payable figures."
      },
      "BridgeTransferInfo": {
        "required": [
          "transferId",
          "submittedAt"
        ],
        "type": "object",
        "properties": {
          "transferId": {
            "type": "string"
          },
          "submittedAt": {
            "type": "string",
            "format": "date-time"
          },
          "destinationAddress": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "BusinessContact": {
        "required": [
          "website",
          "firstName",
          "lastName",
          "email",
          "phoneNumber"
        ],
        "type": "object",
        "properties": {
          "website": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "middleName": {
            "type": [
              "null",
              "string"
            ]
          },
          "email": {
            "type": "string"
          },
          "phoneNumber": {
            "type": "string"
          }
        }
      },
      "BusinessIdType": {
        "enum": [
          "driverLicense",
          "passport",
          "nationalId"
        ],
        "x-enumNames": [
          "DriverLicense",
          "Passport",
          "NationalId"
        ]
      },
      "BusinessOwnershipType": {
        "enum": [
          "direct",
          "indirect"
        ],
        "x-enumNames": [
          "Direct",
          "Indirect"
        ]
      },
      "BusinessStakeholder": {
        "required": [
          "roles",
          "dateOfBirth",
          "idType",
          "idNumber",
          "issuingCountry",
          "ownershipType",
          "ownershipPercentage",
          "firstName",
          "lastName",
          "email",
          "phoneNumber"
        ],
        "type": "object",
        "properties": {
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessStakeholderRole"
            }
          },
          "dateOfBirth": {
            "type": "string",
            "format": "date-time"
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "idType": {
            "$ref": "#/components/schemas/BusinessIdType"
          },
          "idNumber": {
            "type": "string"
          },
          "issuingCountry": {
            "type": "string"
          },
          "address": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MailingAddress"
              }
            ]
          },
          "ownershipType": {
            "$ref": "#/components/schemas/BusinessOwnershipType"
          },
          "ownershipPercentage": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "middleName": {
            "type": [
              "null",
              "string"
            ]
          },
          "email": {
            "type": "string"
          },
          "phoneNumber": {
            "type": "string"
          }
        }
      },
      "BusinessStakeholderRole": {
        "enum": [
          "owner",
          "signer"
        ],
        "x-enumNames": [
          "Owner",
          "Signer"
        ]
      },
      "BusinessTaxIdType": {
        "enum": [
          "employerIdentificationNumber",
          "socialSecurityNumber",
          "individualTaxpayerIdentificationNumber"
        ],
        "x-enumNames": [
          "EmployerIdentificationNumber",
          "SocialSecurityNumber",
          "IndividualTaxpayerIdentificationNumber"
        ]
      },
      "CapturePaymentRequest": {
        "required": [
          "payment_code",
          "multi_capture",
          "last_capture"
        ],
        "type": "object",
        "properties": {
          "payment_code": {
            "type": "string"
          },
          "amount_info": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/AmountInfo"
              }
            ]
          },
          "multi_capture": {
            "type": "boolean"
          },
          "last_capture": {
            "type": "boolean"
          }
        }
      },
      "CartItem": {
        "required": [
          "id",
          "quantity",
          "price"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "quantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "price": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "CitconUpiCaptureResponse": {
        "required": [
          "id",
          "reference",
          "status",
          "amountCaptured",
          "isSuccessful"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "reference": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "amountCaptured": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "isSuccessful": {
            "type": "boolean"
          }
        }
      },
      "CloneTerminalRequest": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 32,
            "type": "string"
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ConfirmRefundRequest": {
        "required": [
          "refund_id",
          "Accepted"
        ],
        "type": "object",
        "properties": {
          "Accepted": {
            "type": "boolean"
          },
          "refund_id": {
            "type": "string"
          },
          "claim_token": {
            "type": [
              "null",
              "string"
            ],
            "description": "The emailed refund-claim token; required — it is the possession factor for the payout path."
          }
        }
      },
      "ConfirmRefundResponse": {
        "type": "object",
        "properties": {
          "refund": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/Refund"
              }
            ]
          }
        }
      },
      "Conversion": {
        "required": [
          "statusCode",
          "quotedExchangeRate",
          "conversionFee",
          "presentedExchangeRate",
          "paymentInstructionIds",
          "executedExchangeRate",
          "tradeFee",
          "amountToConvertInfo",
          "convertedAmountInfo",
          "exchangeGain",
          "conversionTime"
        ],
        "type": "object",
        "properties": {
          "statusCode": {
            "$ref": "#/components/schemas/ConversionTransactionStatus"
          },
          "priceQuoteId": {
            "type": [
              "null",
              "string"
            ]
          },
          "quotedExchangeRate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "conversionFee": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "presentedExchangeRate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "quoteId": {
            "type": [
              "null",
              "string"
            ]
          },
          "tradeId": {
            "type": [
              "null",
              "string"
            ]
          },
          "invoiceId": {
            "type": [
              "null",
              "string"
            ]
          },
          "activePaymentInstructionId": {
            "type": [
              "null",
              "string"
            ]
          },
          "paymentInstructionIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "executedExchangeRate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "tradeFee": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "amountToConvertInfo": {
            "$ref": "#/components/schemas/AmountInfo"
          },
          "convertedAmountInfo": {
            "$ref": "#/components/schemas/AmountInfo"
          },
          "exchangeGain": {
            "$ref": "#/components/schemas/AmountInfo"
          },
          "conversionTime": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ConversionTransactionStatus": {
        "enum": [
          "quoted",
          "executed",
          "completed",
          "cancelled"
        ],
        "x-enumNames": [
          "Quoted",
          "Executed",
          "Completed",
          "Cancelled"
        ]
      },
      "CreateMerchantLocationRequest": {
        "required": [
          "name",
          "address",
          "businessType",
          "merchantCategoryCode",
          "additionalMerchantCategoryCodes",
          "descriptionOfServices",
          "grossAnnualVolume",
          "averageTicketSize",
          "maximumTicketSize",
          "contactPhone",
          "contactEmail",
          "website"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "externalId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional. An identifier for external reference and identification of the merchant location."
          },
          "address": {
            "description": "The mailing address for the location.",
            "$ref": "#/components/schemas/MailingAddress"
          },
          "businessType": {
            "$ref": "#/components/schemas/LocationBusinessType"
          },
          "merchantCategoryCode": {
            "type": "string"
          },
          "additionalMerchantCategoryCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "descriptionOfServices": {
            "type": "string"
          },
          "grossAnnualVolume": {
            "exclusiveMinimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "highestMonthlyVolume": {
            "exclusiveMinimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "averageTicketSize": {
            "exclusiveMinimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "maximumTicketSize": {
            "exclusiveMinimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "contactPhone": {
            "type": "string",
            "description": "The contact phone number for the location."
          },
          "contactEmail": {
            "type": "string",
            "format": "email"
          },
          "website": {
            "type": [
              "null",
              "string"
            ],
            "description": "The website URL that represents the merchant location. Required when the location's business type is \"Virtual\"."
          },
          "tenderTypes": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TenderType"
            }
          }
        }
      },
      "CreateMerchantsRequest": {
        "required": [
          "merchants"
        ],
        "type": "object",
        "properties": {
          "merchants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MerchantDto"
            }
          }
        }
      },
      "CreateMerchantUpdateRequest": {
        "required": [
          "submit",
          "precedence",
          "changes"
        ],
        "type": "object",
        "properties": {
          "clientReference": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional client reference for external tracking."
          },
          "submit": {
            "type": "boolean",
            "description": "Whether to submit the request immediately for approval.\nIf false, the request will be created in DRAFT status."
          },
          "effectiveAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "When this update should take effect (RFC3339 UTC).\nIf null, the changes will be applied immediately upon approval.",
            "format": "date-time"
          },
          "expiresAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "When this update should expire and be reverted (optional, RFC3339 UTC).",
            "format": "date-time"
          },
          "precedence": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Precedence level for handling overlapping time windows.\nHigher values take priority. Default is 100.",
            "format": "int32"
          },
          "changes": {
            "description": "The changes to be applied to the merchant.",
            "$ref": "#/components/schemas/MerchantUpdateChangesRequest"
          },
          "justification": {
            "type": [
              "null",
              "string"
            ],
            "description": "Justification for the changes."
          }
        },
        "description": "Request to create or update a merchant update request."
      },
      "CreatePartnerApiKeyCommand": {
        "required": [
          "name",
          "note"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "note": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CreatePartnerRequest": {
        "required": [
          "partnerType",
          "name",
          "feeInfo",
          "tenderTypes"
        ],
        "type": "object",
        "properties": {
          "partnerType": {
            "$ref": "#/components/schemas/PartnerTypeForCreation"
          },
          "name": {
            "maxLength": 256,
            "type": "string"
          },
          "email": {
            "maxLength": 128,
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          },
          "phoneNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "feeInfo": {
            "$ref": "#/components/schemas/FeeInfo"
          },
          "tenderTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TenderType"
            }
          },
          "maxTransactionAmount": {
            "exclusiveMinimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "CreatePartnerUpdateRequest": {
        "required": [
          "submit",
          "precedence",
          "changes"
        ],
        "type": "object",
        "properties": {
          "clientReference": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional client reference for external tracking."
          },
          "submit": {
            "type": "boolean",
            "description": "Whether to submit the request immediately for approval.\nIf false, the request will be created in DRAFT status."
          },
          "effectiveAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "When this update should take effect (RFC3339 UTC).\nIf null, the changes will be applied immediately upon approval.",
            "format": "date-time"
          },
          "expiresAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "When this update should expire and be reverted (optional, RFC3339 UTC).",
            "format": "date-time"
          },
          "precedence": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Precedence level for handling overlapping time windows.\nHigher values take priority. Default is 100.",
            "format": "int32"
          },
          "changes": {
            "description": "The changes to be applied to the partner.",
            "$ref": "#/components/schemas/PartnerUpdateChangesRequest"
          },
          "justification": {
            "type": [
              "null",
              "string"
            ],
            "description": "Justification for the changes."
          }
        },
        "description": "Request to create a partner update request."
      },
      "CreatePaymentNoteRequest": {
        "required": [
          "text"
        ],
        "type": "object",
        "properties": {
          "text": {
            "type": "string"
          }
        }
      },
      "CreateTerminalRequest": {
        "required": [
          "name",
          "locationId",
          "type",
          "useSandboxSharedWallet"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "locationId": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/TerminalType"
          },
          "tenderTypes": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TenderType"
            }
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "displayLogo": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "extendRedirectUrl": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "maxTransactionAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "useSandboxSharedWallet": {
            "type": "boolean"
          }
        }
      },
      "CryptoEnvironment": {
        "enum": [
          "production",
          "sandbox"
        ],
        "x-enumNames": [
          "Production",
          "Sandbox"
        ]
      },
      "CryptoFee": {
        "required": [
          "tenderType",
          "transactionRate",
          "perItemFee"
        ],
        "type": "object",
        "properties": {
          "tenderType": {
            "$ref": "#/components/schemas/TenderType"
          },
          "transactionRate": {
            "$ref": "#/components/schemas/PercentageFee"
          },
          "perItemFee": {
            "$ref": "#/components/schemas/FixedFee"
          }
        }
      },
      "CryptoFeeGroupRequest": {
        "required": [
          "transactionRate",
          "perItemFee"
        ],
        "type": "object",
        "properties": {
          "transactionRate": {
            "$ref": "#/components/schemas/PercentageFee"
          },
          "perItemFee": {
            "$ref": "#/components/schemas/FixedFee"
          }
        }
      },
      "CryptoPageRefundRequest": {
        "required": [
          "sessionKey"
        ],
        "type": "object",
        "properties": {
          "sessionKey": {
            "minLength": 10,
            "type": "string"
          },
          "email": {
            "maxLength": 128,
            "type": [
              "null",
              "string"
            ]
          },
          "phone": {
            "maxLength": 32,
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CryptoPaymentRequest": {
        "required": [
          "terminalId",
          "merchantId",
          "requestedAmount",
          "cartItems",
          "emailReceipt",
          "smsReceipt",
          "webhookUrls"
        ],
        "type": "object",
        "properties": {
          "terminalId": {
            "type": "string",
            "description": "The unique identifier for the terminal. Must be exactly 24 characters long."
          },
          "merchantId": {
            "type": "string",
            "description": "The unique identifier for the merchant. Must be exactly 24 characters long."
          },
          "requestedAmount": {
            "exclusiveMaximum": 100000000,
            "exclusiveMinimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "The amount requested for the transaction.",
            "format": "double"
          },
          "reference": {
            "type": [
              "null",
              "string"
            ],
            "description": "An optional reference for the transaction. Can be used for tracking purposes."
          },
          "description": {
            "type": [
              "null",
              "string"
            ],
            "description": "A description of the transaction."
          },
          "cartItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CartItem"
            },
            "description": "A collection of items included in the transaction cart."
          },
          "customer": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "description": "Information related to the customer making the transaction.",
                "$ref": "#/components/schemas/CustomerRequest"
              }
            ],
            "description": "Information related to the customer making the transaction."
          },
          "emailReceipt": {
            "type": "boolean",
            "description": "Indicates whether a receipt should be sent via email."
          },
          "smsReceipt": {
            "type": "boolean",
            "description": "Indicates whether a receipt should be sent via SMS."
          },
          "redirectUrl": {
            "type": [
              "null",
              "string"
            ],
            "description": "The URL to which the user will be redirected after the payment is completed."
          },
          "webhookUrls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A collection of webhook URLs that will be notified about the transaction's status."
          },
          "refundEmail": {
            "type": [
              "null",
              "string"
            ],
            "description": "An optional email address to receive notifications for transaction refunds.",
            "format": "email"
          },
          "tenderTypes": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TenderType"
            },
            "description": "An optional collection of tenders"
          },
          "rebate": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "description": "Optional rebate program amounts. Only accepted for merchants enrolled in the rebate program.",
                "$ref": "#/components/schemas/RebateRequest"
              }
            ],
            "description": "Optional rebate program amounts. Only accepted for merchants enrolled in the rebate program."
          }
        }
      },
      "CryptoPaymentResponse": {
        "required": [
          "paymentId",
          "trackingId",
          "paymentPageId",
          "paymentUrls"
        ],
        "type": "object",
        "properties": {
          "paymentId": {
            "type": "string"
          },
          "trackingId": {
            "type": "string"
          },
          "paymentPageId": {
            "type": "string"
          },
          "paymentUrls": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CryptoServicesApplication": {
        "required": [
          "status"
        ],
        "type": "object",
        "properties": {
          "businessId": {
            "type": [
              "null",
              "string"
            ]
          },
          "walletId": {
            "type": [
              "null",
              "string"
            ]
          },
          "walletAddress": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/CryptoServicesApplicationStatus"
          },
          "errorMessage": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CryptoServicesApplicationStatus": {
        "enum": [
          "customerCreated",
          "failed",
          "customerActivated"
        ],
        "x-enumNames": [
          "CustomerCreated",
          "Failed",
          "CustomerActivated"
        ]
      },
      "CryptoTransaction": {
        "required": [
          "transactionHashes",
          "amountInfo",
          "numOfConfirmations",
          "requiredNumOfConfirmations"
        ],
        "type": "object",
        "properties": {
          "fromAddress": {
            "type": [
              "null",
              "string"
            ]
          },
          "toAddress": {
            "type": [
              "null",
              "string"
            ]
          },
          "transactionHashes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "receivedTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "amountInfo": {
            "$ref": "#/components/schemas/AmountInfo"
          },
          "numOfConfirmations": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "requiredNumOfConfirmations": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "Currency": {
        "required": [
          "code",
          "name",
          "isEnabled",
          "minimumFiatPaymentAmount",
          "tenderType",
          "id",
          "networkCost",
          "externalProps",
          "requiredNumOfConfirmations",
          "requiredNumOfConfirmationsToTransfer",
          "decimals",
          "displayDecimals",
          "volatilityFactor",
          "quoteExpirationSeconds",
          "currencyType",
          "currencyNetworkType",
          "supportedTerminalTypes",
          "paymentWindowInSeconds",
          "confirmationWindowInSeconds"
        ],
        "type": "object",
        "properties": {
          "id": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "code": {
            "maxLength": 128,
            "type": "string"
          },
          "name": {
            "maxLength": 256,
            "type": "string"
          },
          "symbol": {
            "type": [
              "null",
              "string"
            ]
          },
          "imagePath": {
            "type": [
              "null",
              "string"
            ]
          },
          "accentColor": {
            "type": [
              "null",
              "string"
            ]
          },
          "qrTemplate": {
            "type": [
              "null",
              "string"
            ]
          },
          "networkCost": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "externalProps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExternalPropsOfCurrencyAdditionalData"
            }
          },
          "requiredNumOfConfirmations": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "requiredNumOfConfirmationsToTransfer": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "decimals": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "displayDecimals": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "displayOrder": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "volatilityFactor": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "quoteExpirationSeconds": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "isEnabled": {
            "type": "boolean"
          },
          "minimumFiatPaymentAmount": {
            "$ref": "#/components/schemas/AmountInfo"
          },
          "currencyType": {
            "$ref": "#/components/schemas/CurrencyType"
          },
          "currencyNetworkType": {
            "$ref": "#/components/schemas/CurrencyNetworkType"
          },
          "tenderType": {
            "$ref": "#/components/schemas/TenderType"
          },
          "supportedTerminalTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TerminalType"
            }
          },
          "created": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "updated": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "paymentWindowInSeconds": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "confirmationWindowInSeconds": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "CurrencyAdditionalData": {
        "type": "object"
      },
      "CurrencyNetworkType": {
        "enum": [
          "usdc",
          "btc",
          "btcLightning",
          "eth",
          "citconUniversalQr",
          "citconKlarna",
          "usd",
          "usdt"
        ],
        "x-enumNames": [
          "Usdc",
          "Btc",
          "BtcLightning",
          "Eth",
          "CitconUniversalQr",
          "CitconKlarna",
          "Usd",
          "Usdt"
        ]
      },
      "CurrencyResponse": {
        "required": [
          "id",
          "code",
          "name",
          "networkCost",
          "currencyType",
          "currencyNetworkType",
          "tenderType",
          "supportedTerminalTypes",
          "paymentWindowInSeconds",
          "confirmationWindowInSeconds"
        ],
        "type": "object",
        "properties": {
          "id": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "symbol": {
            "type": [
              "null",
              "string"
            ]
          },
          "imagePath": {
            "type": [
              "null",
              "string"
            ]
          },
          "accentColor": {
            "type": [
              "null",
              "string"
            ]
          },
          "networkCost": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "displayOrder": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "currencyType": {
            "$ref": "#/components/schemas/CurrencyType"
          },
          "currencyNetworkType": {
            "$ref": "#/components/schemas/CurrencyNetworkType"
          },
          "tenderType": {
            "$ref": "#/components/schemas/TenderType"
          },
          "supportedTerminalTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TerminalType"
            }
          },
          "paymentWindowInSeconds": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "confirmationWindowInSeconds": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "CurrencyType": {
        "enum": [
          "crypto",
          "walletApps",
          "fiat"
        ],
        "x-enumNames": [
          "Crypto",
          "WalletApps",
          "Fiat"
        ]
      },
      "CustomerEntity": {
        "required": [
          "updated",
          "identificationNumbers",
          "externalProps",
          "id",
          "created"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": [
              "null",
              "string"
            ]
          },
          "phone": {
            "type": [
              "null",
              "string"
            ]
          },
          "firstName": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastName": {
            "type": [
              "null",
              "string"
            ]
          },
          "middleName": {
            "type": [
              "null",
              "string"
            ]
          },
          "address": {
            "type": [
              "null",
              "string"
            ]
          },
          "address2": {
            "type": [
              "null",
              "string"
            ]
          },
          "city": {
            "type": [
              "null",
              "string"
            ]
          },
          "state": {
            "type": [
              "null",
              "string"
            ]
          },
          "countryCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "postalCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "birthday": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "citizenship": {
            "type": [
              "null",
              "string"
            ]
          },
          "identificationNumbers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersonIdNumberEntity"
            }
          },
          "externalProps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExternalPropsOfPersonAdditionalData"
            }
          },
          "id": {
            "type": "string"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "CustomerRequest": {
        "required": [
          "email",
          "firstName",
          "lastName",
          "address",
          "city",
          "state",
          "countryCode",
          "postalCode"
        ],
        "type": "object",
        "properties": {
          "email": {
            "maxLength": 128,
            "type": "string",
            "format": "email"
          },
          "phone": {
            "maxLength": 32,
            "type": [
              "null",
              "string"
            ]
          },
          "firstName": {
            "maxLength": 128,
            "type": "string"
          },
          "lastName": {
            "maxLength": 128,
            "type": "string"
          },
          "address": {
            "maxLength": 512,
            "type": "string"
          },
          "address2": {
            "maxLength": 512,
            "type": [
              "null",
              "string"
            ]
          },
          "city": {
            "maxLength": 128,
            "type": "string"
          },
          "state": {
            "maxLength": 128,
            "type": "string"
          },
          "countryCode": {
            "type": "string"
          },
          "postalCode": {
            "maxLength": 32,
            "type": "string"
          },
          "birthday": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "CustomerResponse": {
        "type": "object",
        "properties": {
          "email": {
            "type": [
              "null",
              "string"
            ]
          },
          "phone": {
            "type": [
              "null",
              "string"
            ]
          },
          "firstName": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastName": {
            "type": [
              "null",
              "string"
            ]
          },
          "address": {
            "type": [
              "null",
              "string"
            ]
          },
          "address2": {
            "type": [
              "null",
              "string"
            ]
          },
          "city": {
            "type": [
              "null",
              "string"
            ]
          },
          "state": {
            "type": [
              "null",
              "string"
            ]
          },
          "countryCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "postalCode": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "DepositReportAccountRow": {
        "required": [
          "accountId",
          "accountType",
          "count",
          "amount",
          "feeAmount"
        ],
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string"
          },
          "accountType": {
            "$ref": "#/components/schemas/ReportAccountType"
          },
          "accountName": {
            "type": [
              "null",
              "string"
            ]
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of deposits under the account.",
            "format": "int32"
          },
          "amount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "feeAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        },
        "description": "Aggregates for one account (direct sub-partner or merchant) of the deposit report."
      },
      "DepositReportAccountSummaryResult": {
        "required": [
          "data",
          "totalCount",
          "totalAmount",
          "totalFeeAmount"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DepositReportAccountRow"
            },
            "description": "One row per direct child with activity: sub-partners aggregate their whole subtree, merchants are the\npartner's own. Partners sort first, then merchants, by name."
          },
          "totalCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of deposits across all rows.",
            "format": "int32"
          },
          "totalAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalFeeAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        },
        "description": "Deposit report rolled up per account one level below the requested partner. All amounts are USD."
      },
      "DepositReportColumn": {
        "enum": [
          "date",
          "time",
          "dispatchedDate",
          "status",
          "method",
          "transferType",
          "amount",
          "feeAmount",
          "settlementId",
          "transferId",
          "routingNumber",
          "accountNumber",
          "errorCode",
          "errorNotes",
          "merchantName",
          "destinationMerchantName"
        ],
        "x-enumNames": [
          "Date",
          "Time",
          "DispatchedDate",
          "Status",
          "Method",
          "TransferType",
          "Amount",
          "FeeAmount",
          "SettlementId",
          "TransferId",
          "RoutingNumber",
          "AccountNumber",
          "ErrorCode",
          "ErrorNotes",
          "MerchantName",
          "DestinationMerchantName"
        ]
      },
      "DepositReportPeriodRow": {
        "required": [
          "periodStart",
          "periodEnd",
          "count",
          "amount",
          "feeAmount"
        ],
        "type": "object",
        "properties": {
          "periodStart": {
            "type": "string",
            "description": "First UTC day of the bucket, clamped to the requested range.",
            "format": "date"
          },
          "periodEnd": {
            "type": "string",
            "description": "Last UTC day of the bucket (inclusive), clamped to the requested range.",
            "format": "date"
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of deposits in the bucket.",
            "format": "int32"
          },
          "amount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "feeAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        },
        "description": "Aggregates for one period bucket of the deposit report."
      },
      "DepositReportPeriodSummaryResult": {
        "required": [
          "interval",
          "data",
          "totalCount",
          "totalAmount",
          "totalFeeAmount"
        ],
        "type": "object",
        "properties": {
          "interval": {
            "$ref": "#/components/schemas/ReportInterval"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DepositReportPeriodRow"
            },
            "description": "One row per period bucket with activity, newest first."
          },
          "totalCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of deposits across all buckets.",
            "format": "int32"
          },
          "totalAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalFeeAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        },
        "description": "Deposit report bucketed by period. All amounts are USD."
      },
      "DepositReportResult": {
        "required": [
          "totalAmount",
          "totalFeeAmount",
          "data",
          "total",
          "page"
        ],
        "type": "object",
        "properties": {
          "totalAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Sum of the deposit amounts (USD) across all matching rows.",
            "format": "double"
          },
          "totalFeeAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Sum of the transfer fees (USD) across all matching rows.",
            "format": "double"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DepositReportRow"
            }
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "DepositReportRow": {
        "required": [
          "id",
          "activityDate",
          "status",
          "method",
          "transferType",
          "amount",
          "feeAmount"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "activityDate": {
            "type": "string",
            "description": "UTC timestamp the deposit was created.",
            "format": "date-time"
          },
          "dispatchedDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "UTC timestamp the transfer was dispatched. Unset for deposits that failed to dispatch.",
            "format": "date-time"
          },
          "status": {
            "$ref": "#/components/schemas/DepositStatus"
          },
          "method": {
            "description": "How the funds were transferred (ACH or wire).",
            "$ref": "#/components/schemas/BankDepositMethod"
          },
          "transferType": {
            "$ref": "#/components/schemas/TransferType"
          },
          "amount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Deposit amount in USD.",
            "format": "double"
          },
          "feeAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Transfer fee in USD.",
            "format": "double"
          },
          "settlementId": {
            "type": [
              "null",
              "string"
            ]
          },
          "transferId": {
            "type": [
              "null",
              "string"
            ],
            "description": "The payment processor's (Lead Bank) transaction id for the transfer."
          },
          "maskedRoutingNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "maskedAccountNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "errorCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "Reason code for failed deposits (e.g. an ACH return code)."
          },
          "errorNotes": {
            "type": [
              "null",
              "string"
            ]
          },
          "merchantId": {
            "type": [
              "null",
              "string"
            ]
          },
          "merchantName": {
            "type": [
              "null",
              "string"
            ]
          },
          "destinationMerchantId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Merchant whose bank account receives the funds."
          },
          "destinationMerchantName": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "description": "One bank deposit of settled funds in the deposit report."
      },
      "DepositResponse": {
        "required": [
          "id",
          "merchantId",
          "destinationMerchantId",
          "settlementId",
          "status",
          "amount",
          "feeAmount",
          "method",
          "maskedRoutingNumber",
          "maskedAccountNumber",
          "created",
          "updated",
          "dispatchedDate",
          "transferType"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "merchantId": {
            "type": "string"
          },
          "destinationMerchantId": {
            "type": "string"
          },
          "settlementId": {
            "type": "string"
          },
          "status": {
            "description": "The deposit's lifecycle status. Orderable.",
            "$ref": "#/components/schemas/DepositStatus"
          },
          "amount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Orderable.",
            "format": "double"
          },
          "feeAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Orderable.",
            "format": "double"
          },
          "method": {
            "description": "How the funds were transferred (ACH or wire). Orderable.",
            "$ref": "#/components/schemas/BankDepositMethod"
          },
          "maskedRoutingNumber": {
            "type": "string"
          },
          "maskedAccountNumber": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "description": "Orderable.",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "description": "Orderable.",
            "format": "date-time"
          },
          "dispatchedDate": {
            "type": "string",
            "description": "Orderable.",
            "format": "date-time"
          },
          "postedDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "UTC timestamp the outgoing transfer posted. Set once the deposit is Paid.",
            "format": "date-time"
          },
          "transferType": {
            "description": "The kind of transfer the deposit represents. Orderable.",
            "$ref": "#/components/schemas/TransferType"
          }
        }
      },
      "DepositStatus": {
        "enum": [
          "dispatched",
          "paid",
          "error",
          "returned"
        ],
        "x-enumNames": [
          "Dispatched",
          "Paid",
          "Error",
          "Returned"
        ]
      },
      "DigitalWalletServicesApplication": {
        "type": "object"
      },
      "DigitalWalletsFee": {
        "required": [
          "tenderType",
          "transactionRate",
          "perItemFee"
        ],
        "type": "object",
        "properties": {
          "tenderType": {
            "$ref": "#/components/schemas/TenderType"
          },
          "transactionRate": {
            "$ref": "#/components/schemas/PercentageFee"
          },
          "perItemFee": {
            "$ref": "#/components/schemas/FixedFee"
          },
          "refundFee": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/FixedFee"
              }
            ]
          },
          "chargebackFee": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/FixedFee"
              }
            ]
          }
        }
      },
      "DocumentEvent": {
        "required": [
          "id",
          "envelopeId",
          "eventType",
          "eventDate",
          "status"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "envelopeId": {
            "type": "string"
          },
          "eventType": {
            "type": "string"
          },
          "eventDate": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "$ref": "#/components/schemas/DocumentEventStatus"
          }
        }
      },
      "DocumentEventStatus": {
        "enum": [
          "processing",
          "completed",
          "failed"
        ],
        "x-enumNames": [
          "Processing",
          "Completed",
          "Failed"
        ]
      },
      "DocumentScanStatus": {
        "enum": [
          "skipped",
          "pending",
          "clean",
          "infected",
          "failed"
        ],
        "x-enumNames": [
          "Skipped",
          "Pending",
          "Clean",
          "Infected",
          "Failed"
        ]
      },
      "DocumentSigner": {
        "required": [
          "email",
          "name",
          "firstName",
          "lastName",
          "position",
          "ipAddress",
          "language",
          "userAgent"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "position": {
            "type": "string"
          },
          "declinedReason": {
            "type": [
              "null",
              "string"
            ]
          },
          "ipAddress": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "userAgent": {
            "type": "string"
          }
        }
      },
      "EmailRefundReceiptRequest": {
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "email": {
            "maxLength": 128,
            "type": "string",
            "format": "email"
          },
          "claim_token": {
            "type": [
              "null",
              "string"
            ],
            "description": "The emailed refund-claim token; required — it proves the caller is the claimant before a\n            receipt is mailed anywhere."
          }
        }
      },
      "EntityTagHeaderValue": {
        "required": [
          "tag",
          "isWeak"
        ],
        "type": "object",
        "properties": {
          "tag": {
            "$ref": "#/components/schemas/StringSegment"
          },
          "isWeak": {
            "type": "boolean"
          }
        }
      },
      "ErrorCodeProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": [
              "null",
              "string"
            ]
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "detail": {
            "type": [
              "null",
              "string"
            ]
          },
          "instance": {
            "type": [
              "null",
              "string"
            ]
          },
          "error_code": {
            "type": [
              "null",
              "string"
            ],
            "description": "A stable, machine-readable code identifying the rejection (e.g. PAYMENT_ALREADY_IN_PROGRESS,\nTENDER_DISABLED). Unlike the human-readable detail, it never changes with copy edits and is safe to\nmatch on. Absent on rejections that carry no code."
          }
        },
        "description": "Documents the wire shape of ProblemDetails responses carrying a stable machine-readable\nerror code. Used only in `ProducesResponseType` declarations so the OpenAPI spec types the code;\nat runtime ProblemDetails Problems.UserFacing(UserFacingException exception) emits it as the `error_code` extension."
      },
      "ExternalBank": {
        "required": [
          "createdAt",
          "externalBankStatus"
        ],
        "type": "object",
        "properties": {
          "workflowId": {
            "type": [
              "null",
              "string"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "externalBankAccountId": {
            "type": [
              "null",
              "string"
            ]
          },
          "externalBankStatus": {
            "$ref": "#/components/schemas/MerchantExternalBankStatus"
          }
        }
      },
      "ExternalPropsOfCurrencyAdditionalData": {
        "required": [
          "system",
          "cryptoEnvironment"
        ],
        "type": "object",
        "properties": {
          "system": {
            "$ref": "#/components/schemas/ExternalSystemType"
          },
          "id": {
            "maxLength": 64,
            "type": [
              "null",
              "string"
            ]
          },
          "cryptoEnvironment": {
            "$ref": "#/components/schemas/CryptoEnvironment"
          },
          "additionalData": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CurrencyAdditionalData"
              }
            ]
          }
        }
      },
      "ExternalPropsOfPersonAdditionalData": {
        "required": [
          "system",
          "cryptoEnvironment"
        ],
        "type": "object",
        "properties": {
          "system": {
            "$ref": "#/components/schemas/ExternalSystemType"
          },
          "id": {
            "maxLength": 64,
            "type": [
              "null",
              "string"
            ]
          },
          "cryptoEnvironment": {
            "$ref": "#/components/schemas/CryptoEnvironment"
          },
          "additionalData": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PersonAdditionalData"
              }
            ]
          }
        }
      },
      "ExternalSystemType": {
        "enum": [
          "none",
          "cybrid",
          "blockchainEvents",
          "pockyt",
          "cybridLightning",
          "citcon",
          "leadBank",
          "blockCypher",
          "bridge",
          "sardine",
          "voltage",
          "bvnk"
        ],
        "x-enumNames": [
          "None",
          "Cybrid",
          "BlockchainEvents",
          "Pockyt",
          "CybridLightning",
          "Citcon",
          "LeadBank",
          "BlockCypher",
          "Bridge",
          "Sardine",
          "Voltage",
          "Bvnk"
        ]
      },
      "FeeFormula": {
        "required": [
          "feeFactor",
          "fixedFee"
        ],
        "type": "object",
        "properties": {
          "feeFactor": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double",
            "default": 0
          },
          "fixedFee": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int64",
            "default": 0
          }
        }
      },
      "FeeInfo": {
        "type": "object",
        "properties": {
          "crypto": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/FeeFormula"
              }
            ]
          },
          "card": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/FeeFormula"
              }
            ]
          }
        }
      },
      "FeeInformation": {
        "required": [
          "achSettlementFixedFee",
          "settlementReturnFixedFee",
          "monthlyMaintenanceFee"
        ],
        "type": "object",
        "properties": {
          "achSettlementFixedFee": {
            "$ref": "#/components/schemas/FixedFee"
          },
          "settlementReturnFixedFee": {
            "$ref": "#/components/schemas/FixedFee"
          },
          "monthlyMaintenanceFee": {
            "$ref": "#/components/schemas/FixedFee"
          },
          "cryptoFees": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/CryptoFee"
            }
          },
          "digitalWalletsFees": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DigitalWalletsFee"
            }
          }
        }
      },
      "FeeInformationRequest": {
        "required": [
          "achSettlementFixedFee",
          "settlementReturnFixedFee"
        ],
        "type": "object",
        "properties": {
          "achSettlementFixedFee": {
            "$ref": "#/components/schemas/FixedFee"
          },
          "settlementReturnFixedFee": {
            "$ref": "#/components/schemas/FixedFee"
          },
          "bitcoinFee": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CryptoFeeGroupRequest"
              }
            ]
          },
          "stablecoinFee": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CryptoFeeGroupRequest"
              }
            ]
          },
          "cryptoFees": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/CryptoFee"
            },
            "description": "Digital-asset routes enabled individually, one row per asset and network."
          },
          "digitalWalletsFees": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DigitalWalletsFee"
            }
          }
        }
      },
      "FileResult": {
        "required": [
          "enableRangeProcessing"
        ],
        "type": "object",
        "properties": {
          "contentType": {
            "type": [
              "null",
              "string"
            ]
          },
          "fileDownloadName": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastModified": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "entityTag": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/EntityTagHeaderValue"
              }
            ]
          },
          "enableRangeProcessing": {
            "type": "boolean"
          }
        }
      },
      "FixedFee": {
        "required": [
          "sellRate",
          "isBilledByPartner"
        ],
        "type": "object",
        "properties": {
          "sellRate": {
            "maximum": 99999,
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "isBilledByPartner": {
            "type": "boolean"
          }
        }
      },
      "FundsTransferAgreementDetails": {
        "required": [
          "fundsTransferAgreementSigner"
        ],
        "type": "object",
        "properties": {
          "signedDocumentUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "fundsTransferAgreementSigner": {
            "$ref": "#/components/schemas/FundsTransferAgreementSigner"
          }
        }
      },
      "FundsTransferAgreementSigner": {
        "required": [
          "name",
          "position",
          "signedDate"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "position": {
            "type": "string"
          },
          "signedDate": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "GeneralNote": {
        "required": [
          "content",
          "createdAt",
          "authorName"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "content": {
            "maxLength": 2000,
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "authorName": {
            "type": "string"
          }
        }
      },
      "GenerateUploadLinkRequest": {
        "required": [
          "applicationId",
          "expiresAt",
          "sendEmail"
        ],
        "type": "object",
        "properties": {
          "applicationId": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "sendEmail": {
            "type": "boolean"
          }
        }
      },
      "GenerateUploadLinkResponse": {
        "required": [
          "linkId",
          "uploadUrl",
          "token",
          "expiresAt",
          "isActive"
        ],
        "type": "object",
        "properties": {
          "linkId": {
            "type": "string"
          },
          "uploadUrl": {
            "type": "string"
          },
          "token": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "isActive": {
            "type": "boolean"
          },
          "emailSent": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Set only when the caller requested `sendEmail`; null otherwise."
          }
        },
        "description": "Response for a freshly generated upload link. The token is returned only here, never on list."
      },
      "IdType": {
        "enum": [
          "driverLicense",
          "passport",
          "nationalId"
        ],
        "x-enumNames": [
          "DriverLicense",
          "Passport",
          "NationalId"
        ]
      },
      "InitiateEmptyOnboardingRequest": {
        "required": [
          "merchantName",
          "partnerId",
          "signerFirstName",
          "signerLastName",
          "signerEmail",
          "feeInformation",
          "cryptoEnvironment",
          "isSettlementOnly",
          "isCommissionMerchant",
          "submitImmediately",
          "partnerMid"
        ],
        "type": "object",
        "properties": {
          "merchantName": {
            "type": "string",
            "description": "The name of the merchant"
          },
          "partnerId": {
            "type": "string",
            "description": "The ID of the partner"
          },
          "partnerMid": {
            "type": [
              "null",
              "string"
            ],
            "description": "The MID of the partner"
          },
          "signerFirstName": {
            "type": "string",
            "description": "The signer's name"
          },
          "signerLastName": {
            "type": "string"
          },
          "signerEmail": {
            "pattern": "^[a-zA-Z0-9._%+'-]+@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.[a-zA-Z]{2,}$",
            "type": "string",
            "description": "The signer's email"
          },
          "feeInformation": {
            "description": "Fee information",
            "$ref": "#/components/schemas/FeeInformationRequest"
          },
          "cryptoEnvironment": {
            "description": "Envirement for crypto wallets, default is production",
            "$ref": "#/components/schemas/CryptoEnvironment"
          },
          "isSettlementOnly": {
            "type": "boolean"
          },
          "isCommissionMerchant": {
            "type": "boolean"
          },
          "commissionMerchantId": {
            "type": [
              "null",
              "string"
            ]
          },
          "representsPartnerId": {
            "type": [
              "null",
              "string"
            ]
          },
          "submitImmediately": {
            "type": "boolean",
            "description": "When true (default), creates the application and immediately requests a DocuSign signature\n(one-shot flow). When false, the application is created in Draft status so attachments\ncan be uploaded before submission via POST /applications/{id}/submit."
          },
          "registeredName": {
            "type": [
              "null",
              "string"
            ]
          },
          "dbaName": {
            "type": [
              "null",
              "string"
            ]
          },
          "legalEntityType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LegalEntityType"
              }
            ]
          },
          "otherLegalEntity": {
            "type": [
              "null",
              "string"
            ]
          },
          "proofOfBusinessType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ProofOfBusinessType"
              }
            ]
          },
          "registrationDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "federalTaxIdType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/TaxIdType"
              }
            ]
          },
          "federalTaxId": {
            "type": [
              "null",
              "string"
            ]
          },
          "naicsCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "merchantCategoryCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "additionalMerchantCategoryCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "businessDescription": {
            "type": [
              "null",
              "string"
            ]
          },
          "isSeasonal": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "operationalMonths": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/Month"
            }
          },
          "grossAnnualRevenue": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "highestMonthlyVolume": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "averageTicketSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "maxTicketSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "registeredLegalAddress": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MailingAddress"
              }
            ]
          },
          "proofOfAddressType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ProofOfAddressType"
              }
            ]
          },
          "sameAsRegisteredAddress": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "businessMailingAddress": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MailingAddress"
              }
            ]
          },
          "isLegalAddress": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "isOperatingAddress": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "isVirtualAddress": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "locationBusinessType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LocationBusinessType"
              }
            ]
          },
          "externalLocationId": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationName": {
            "type": [
              "null",
              "string"
            ]
          },
          "businessWebsite": {
            "type": [
              "null",
              "string"
            ]
          },
          "businessEmail": {
            "type": [
              "null",
              "string"
            ]
          },
          "businessPhone": {
            "type": [
              "null",
              "string"
            ]
          },
          "mainPointOfContact": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ShortOwnerInfo"
              }
            ]
          },
          "hasNoOwners": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "stakeholders": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/StakeholderRequest"
            },
            "description": "Additional stakeholders (beyond the application signer) to pre-fill on the application.\nThe signer (built from string InitiateEmptyOnboardingRequest.SignerFirstName, string InitiateEmptyOnboardingRequest.SignerLastName and\nstring InitiateEmptyOnboardingRequest.SignerEmail) is always added in addition to whatever is supplied here."
          },
          "bankName": {
            "type": [
              "null",
              "string"
            ]
          },
          "routingNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "accountNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "accountType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BankAccountsType"
              }
            ]
          },
          "bankAddress": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MailingAddress"
              }
            ]
          },
          "proofOfBankAccountType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ProofOfBankAccountType"
              }
            ]
          },
          "bankDepositMethod": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BankDepositMethod"
              }
            ]
          }
        }
      },
      "InitiateOnboardingRequest": {
        "required": [
          "merchantData",
          "submitImmediately"
        ],
        "type": "object",
        "properties": {
          "merchantData": {
            "description": "The merchant data to be included in the onboarding",
            "$ref": "#/components/schemas/MerchantOnboardingRequest"
          },
          "submitImmediately": {
            "type": "boolean",
            "description": "When true (default), creates the application and immediately requests a DocuSign signature\n(one-shot flow). When false, the application is created in Draft status so attachments\ncan be uploaded before submission via POST /applications/{id}/submit."
          }
        },
        "description": "Request model for initiating merchant onboarding"
      },
      "InvitationState": {
        "enum": [
          "pending",
          "completed",
          "expired"
        ],
        "x-enumNames": [
          "Pending",
          "Completed",
          "Expired"
        ]
      },
      "IsPaymentValidForRefundRequest": {
        "required": [
          "payment_code",
          "email_id"
        ],
        "type": "object",
        "properties": {
          "payment_code": {
            "type": "string"
          },
          "email_id": {
            "type": "string"
          }
        }
      },
      "IsPaymentValidForRefundResponse": {
        "required": [
          "reqCurrencyId",
          "payCurrencyId",
          "amounts"
        ],
        "type": "object",
        "properties": {
          "paymentCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "reqCurrencyId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "payCurrencyId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "amounts": {
            "$ref": "#/components/schemas/PaymentAmounts"
          },
          "paymentDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "originalPaymentAddress": {
            "type": [
              "null",
              "string"
            ]
          },
          "currency_code": {
            "type": [
              "null",
              "string"
            ]
          },
          "currency_symbol": {
            "type": [
              "null",
              "string"
            ]
          },
          "networkName": {
            "type": [
              "null",
              "string"
            ]
          },
          "receipt_summary": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "description": "Redacted, display-ready receipt for the claim-flow Payment Receipt modal.",
                "$ref": "#/components/schemas/ReceiptSummary"
              }
            ],
            "description": "Redacted, display-ready receipt for the claim-flow Payment Receipt modal."
          }
        }
      },
      "KybStatus": {
        "enum": [
          "notStarted",
          "inProgress",
          "reviewing"
        ],
        "x-enumNames": [
          "NotStarted",
          "InProgress",
          "Reviewing"
        ]
      },
      "LegalEntityType": {
        "enum": [
          "soleProprietorship",
          "llc",
          "llp",
          "corporationSType",
          "corporationCType",
          "partnership",
          "nonProfit",
          "government",
          "trust",
          "cooperative",
          "other"
        ],
        "x-enumNames": [
          "SoleProprietorship",
          "Llc",
          "Llp",
          "CorporationSType",
          "CorporationCType",
          "Partnership",
          "NonProfit",
          "Government",
          "Trust",
          "Cooperative",
          "Other"
        ]
      },
      "LocationBusinessType": {
        "enum": [
          "physical",
          "virtual",
          "both"
        ],
        "x-enumNames": [
          "Physical",
          "Virtual",
          "Both"
        ]
      },
      "MailingAddress": {
        "required": [
          "address1",
          "city",
          "region",
          "country",
          "postalCode"
        ],
        "type": "object",
        "properties": {
          "address1": {
            "maxLength": 512,
            "type": "string"
          },
          "address2": {
            "maxLength": 512,
            "type": [
              "null",
              "string"
            ]
          },
          "city": {
            "maxLength": 128,
            "type": "string"
          },
          "region": {
            "maxLength": 128,
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "postalCode": {
            "maxLength": 32,
            "type": "string"
          }
        }
      },
      "Merchant": {
        "required": [
          "partnerId",
          "companyName",
          "taxNumberType",
          "taxNumber",
          "isSettlementOnly",
          "isCommissionMerchant",
          "status",
          "feeInformation",
          "memberships",
          "isPinned",
          "isRebateProgramEnabled",
          "receivableCurrencyIds",
          "settlementBeneficiary",
          "tenderTypes"
        ],
        "type": "object",
        "properties": {
          "displayId": {
            "type": [
              "null",
              "string"
            ]
          },
          "partnerExternalId": {
            "type": [
              "null",
              "string"
            ],
            "description": "External identifier supplied by the merchant's parent account at onboarding (the partner MID)."
          },
          "partnerId": {
            "type": "string"
          },
          "companyName": {
            "maxLength": 256,
            "type": "string",
            "description": "Orderable."
          },
          "description": {
            "maxLength": 2048,
            "type": [
              "null",
              "string"
            ]
          },
          "taxNumberType": {
            "$ref": "#/components/schemas/TaxIdType"
          },
          "taxNumber": {
            "maxLength": 128,
            "type": "string"
          },
          "companyLogoPath": {
            "maxLength": 1024,
            "type": [
              "null",
              "string"
            ]
          },
          "isSettlementOnly": {
            "type": "boolean"
          },
          "isCommissionMerchant": {
            "type": "boolean"
          },
          "commissionMerchantId": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/MerchantStatus"
          },
          "feeInformation": {
            "$ref": "#/components/schemas/FeeInformation"
          },
          "maxTransactionAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "memberships": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MerchantMember"
            }
          },
          "representsPartnerId": {
            "type": [
              "null",
              "string"
            ]
          },
          "isPinned": {
            "type": "boolean"
          },
          "isRebateProgramEnabled": {
            "type": "boolean"
          },
          "receivableCurrencyIds": {
            "type": "array",
            "items": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          "feeInfo": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/FeeInfo"
              }
            ]
          },
          "settlementBeneficiary": {
            "$ref": "#/components/schemas/SettlementBeneficiary"
          },
          "tenderTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TenderType"
            }
          },
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "created": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          },
          "updated": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          }
        }
      },
      "MerchantAgreementType": {
        "required": [
          "id",
          "companyName",
          "agreementUrl",
          "agreementName"
        ],
        "type": "object",
        "properties": {
          "id": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "companyName": {
            "type": "string"
          },
          "agreementUrl": {
            "type": [
              "null",
              "string"
            ],
            "format": "uri"
          },
          "agreementName": {
            "type": "string"
          },
          "created": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "updated": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "MerchantApplicationSigner": {
        "required": [
          "name",
          "position",
          "termsConsent",
          "privacyConsent",
          "commercialPaymentsConsent",
          "businessCommunicationsConsent",
          "phoneConsent",
          "partnerConsent",
          "processingConsent",
          "bridgeConsent",
          "voltageConsent",
          "citconConsent",
          "signedDate"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "position": {
            "type": "string"
          },
          "termsConsent": {
            "type": "boolean"
          },
          "privacyConsent": {
            "type": "boolean"
          },
          "commercialPaymentsConsent": {
            "type": "boolean"
          },
          "businessCommunicationsConsent": {
            "type": "boolean"
          },
          "phoneConsent": {
            "type": "boolean"
          },
          "partnerConsent": {
            "type": "boolean"
          },
          "processingConsent": {
            "type": "boolean"
          },
          "bridgeConsent": {
            "type": "boolean"
          },
          "voltageConsent": {
            "type": "boolean"
          },
          "citconConsent": {
            "type": "boolean"
          },
          "signedDate": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "MerchantBusinessDetails": {
        "type": "object",
        "properties": {
          "legalName": {
            "type": [
              "null",
              "string"
            ]
          },
          "mailingAddress": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MailingAddress"
              }
            ]
          },
          "registrationDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "legalEntityType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LegalEntityType"
              }
            ]
          },
          "otherLegalEntity": {
            "type": [
              "null",
              "string"
            ]
          },
          "naicsCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "merchantCategoryCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "additionalMerchantCategoryCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "isSeasonal": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "operationalMonths": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/Month"
            }
          },
          "grossAnnualRevenue": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "highestMonthlyVolume": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "averageTicketSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "maxTicketSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "businessMailingAddress": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MailingAddress"
              }
            ]
          },
          "mainPointOfContact": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ShortOwnerInfo"
              }
            ]
          },
          "bankInfo": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BankInfoEntity"
              }
            ]
          }
        }
      },
      "MerchantContactDetails": {
        "type": "object",
        "properties": {
          "contactPerson": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CustomerEntity"
              }
            ]
          }
        }
      },
      "MerchantDetails": {
        "required": [
          "legalName",
          "registrationDate",
          "legalEntityType",
          "naicsCode",
          "merchantCategoryCode",
          "naicsProvenanceHistory",
          "isSeasonal",
          "grossAnnualRevenue",
          "highestMonthlyVolume",
          "averageTicketSize",
          "maxTicketSize",
          "businessWebsite",
          "businessEmail",
          "businessPhone",
          "mailingAddress",
          "proofOfBusinessType",
          "contactPerson",
          "mainPointOfContact",
          "stakeholders",
          "notes",
          "bankInfo",
          "externalBank"
        ],
        "type": "object",
        "properties": {
          "legalName": {
            "maxLength": 256,
            "type": "string"
          },
          "dbaName": {
            "type": [
              "null",
              "string"
            ]
          },
          "registrationDate": {
            "type": "string",
            "format": "date"
          },
          "legalEntityType": {
            "$ref": "#/components/schemas/LegalEntityType"
          },
          "otherLegalEntity": {
            "type": [
              "null",
              "string"
            ]
          },
          "naicsCode": {
            "type": "string"
          },
          "merchantCategoryCode": {
            "type": "string"
          },
          "additionalMerchantCategoryCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "naicsProvenance": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/NaicsProvenance"
              }
            ]
          },
          "naicsProvenanceHistory": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NaicsProvenance"
            }
          },
          "isSeasonal": {
            "type": "boolean"
          },
          "operationalMonths": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/Month"
            }
          },
          "grossAnnualRevenue": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "highestMonthlyVolume": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "averageTicketSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "maxTicketSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "businessWebsite": {
            "type": "string"
          },
          "businessEmail": {
            "type": "string"
          },
          "businessPhone": {
            "type": "string"
          },
          "mailingAddress": {
            "$ref": "#/components/schemas/MailingAddress"
          },
          "businessMailingAddress": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MailingAddress"
              }
            ]
          },
          "proofOfBusinessType": {
            "$ref": "#/components/schemas/ProofOfBusinessType"
          },
          "proofOfAddressType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ProofOfAddressType"
              }
            ]
          },
          "cashAppLogoUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "contactPerson": {
            "$ref": "#/components/schemas/Person"
          },
          "mainPointOfContact": {
            "$ref": "#/components/schemas/ShortOwnerInfo"
          },
          "stakeholders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Stakeholder"
            }
          },
          "notes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeneralNote"
            }
          },
          "bankInfo": {
            "$ref": "#/components/schemas/BankInfo"
          },
          "externalBank": {
            "$ref": "#/components/schemas/ExternalBank"
          },
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "created": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          },
          "updated": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          }
        }
      },
      "MerchantDetailsChanges": {
        "type": "object",
        "properties": {
          "businessDetails": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MerchantBusinessDetails"
              }
            ]
          },
          "contact": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MerchantContactDetails"
              }
            ]
          },
          "stakeholders": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/Stakeholder"
            }
          }
        }
      },
      "MerchantDetailsChangesRequest": {
        "type": "object",
        "properties": {
          "businessDetails": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "description": "Changes to business details.",
                "$ref": "#/components/schemas/UpdateMerchantBusinessDetailsRequest"
              }
            ],
            "description": "Changes to business details."
          },
          "contact": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "description": "Changes to contact details.",
                "$ref": "#/components/schemas/UpdateMerchantContactDetailsRequest"
              }
            ],
            "description": "Changes to contact details."
          },
          "stakeholders": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/StakeholderRequest"
            },
            "description": "Changes to stakeholders."
          }
        },
        "description": "Represents changes to merchant details."
      },
      "MerchantDigest": {
        "required": [
          "id",
          "status",
          "companyName",
          "updated",
          "isPinned"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/MerchantStatus"
          },
          "companyName": {
            "type": "string",
            "description": "Orderable."
          },
          "contactName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Full name of the merchant's primary contact. Absent when the merchant has no contact on file."
          },
          "contactEmail": {
            "type": [
              "null",
              "string"
            ],
            "description": "Email of the merchant's primary contact. Absent when the merchant has no contact on file."
          },
          "updated": {
            "type": "string",
            "description": "Orderable.",
            "format": "date-time"
          },
          "isPinned": {
            "type": "boolean"
          },
          "externalReference": {
            "type": [
              "null",
              "string"
            ],
            "description": "External identifier associated with the merchant, supplied by the merchant's parent account at onboarding.\nAbsent when the merchant has no external reference."
          },
          "merchantType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "description": "Whether the merchant operates a physical business, a virtual business, or both. Derived from the merchant's\nlocations. Absent when the merchant has no locations.",
                "$ref": "#/components/schemas/LocationBusinessType"
              }
            ],
            "description": "Whether the merchant operates a physical business, a virtual business, or both. Derived from the merchant's\nlocations. Absent when the merchant has no locations."
          },
          "lastTransactionAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "When the merchant's most recent transaction was captured. Absent when the merchant has no captured transactions.",
            "format": "date-time"
          }
        }
      },
      "MerchantDto": {
        "required": [
          "merchant",
          "details"
        ],
        "type": "object",
        "properties": {
          "merchant": {
            "$ref": "#/components/schemas/Merchant"
          },
          "details": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MerchantDetails"
              }
            ]
          }
        }
      },
      "MerchantExternalBankStatus": {
        "enum": [
          "created",
          "connecting",
          "active"
        ],
        "x-enumNames": [
          "Created",
          "Connecting",
          "Active"
        ]
      },
      "MerchantLocation": {
        "required": [
          "merchantId",
          "name",
          "isEnabled",
          "address",
          "businessType",
          "merchantCategoryCode",
          "additionalMerchantCategoryCodes",
          "descriptionOfServices",
          "grossAnnualVolume",
          "averageTicketSize",
          "maximumTicketSize",
          "contactPhone",
          "contactEmail",
          "terminals",
          "tenderTypes"
        ],
        "type": "object",
        "properties": {
          "merchantId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "externalId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional. An identifier for external reference and identification of the merchant location."
          },
          "isEnabled": {
            "type": "boolean"
          },
          "address": {
            "description": "The mailing address for the location.",
            "$ref": "#/components/schemas/MailingAddress"
          },
          "businessType": {
            "$ref": "#/components/schemas/LocationBusinessType"
          },
          "merchantCategoryCode": {
            "type": "string"
          },
          "additionalMerchantCategoryCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "descriptionOfServices": {
            "type": "string"
          },
          "grossAnnualVolume": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "highestMonthlyVolume": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "averageTicketSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "maximumTicketSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "contactPhone": {
            "type": "string",
            "description": "The contact phone number for the location."
          },
          "contactEmail": {
            "type": "string"
          },
          "website": {
            "type": [
              "null",
              "string"
            ],
            "description": "The website URL that represents the merchant location. Required when the location's business type is \"Virtual\"."
          },
          "terminals": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "tenderTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TenderType"
            }
          },
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "created": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          },
          "updated": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          }
        }
      },
      "MerchantLocationDto": {
        "required": [
          "id",
          "address",
          "isEnabled"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "address": {
            "$ref": "#/components/schemas/MailingAddress"
          },
          "isEnabled": {
            "type": "boolean"
          }
        }
      },
      "MerchantMember": {
        "required": [
          "userIssuerId",
          "role"
        ],
        "type": "object",
        "properties": {
          "userIssuerId": {
            "type": "string"
          },
          "role": {
            "$ref": "#/components/schemas/MerchantRole"
          }
        }
      },
      "MerchantMemberInvitationRequest": {
        "required": [
          "userEmail",
          "merchantRole"
        ],
        "type": "object",
        "properties": {
          "userEmail": {
            "type": "string",
            "format": "email"
          },
          "merchantRole": {
            "$ref": "#/components/schemas/MerchantRole"
          }
        }
      },
      "MerchantMemberInvitationResponse": {
        "required": [
          "merchantId",
          "invitationId",
          "email",
          "merchantRole",
          "invitationDate",
          "state"
        ],
        "type": "object",
        "properties": {
          "merchantId": {
            "type": "string"
          },
          "invitationId": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "merchantRole": {
            "$ref": "#/components/schemas/MerchantRole"
          },
          "invitationDate": {
            "type": "string",
            "format": "date-time"
          },
          "state": {
            "$ref": "#/components/schemas/InvitationState"
          }
        }
      },
      "MerchantMemberRequest": {
        "required": [
          "userIssuerId",
          "merchantRole"
        ],
        "type": "object",
        "properties": {
          "userIssuerId": {
            "type": "string"
          },
          "merchantRole": {
            "$ref": "#/components/schemas/MerchantRole"
          }
        }
      },
      "MerchantMemberResponse": {
        "required": [
          "userIssuerId",
          "email",
          "merchantRole"
        ],
        "type": "object",
        "properties": {
          "userIssuerId": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "firstName": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastName": {
            "type": [
              "null",
              "string"
            ]
          },
          "merchantRole": {
            "$ref": "#/components/schemas/MerchantRole"
          }
        }
      },
      "MerchantOnboardingApplicationAttachment": {
        "required": [
          "id",
          "fileName",
          "contentType",
          "documentCategory",
          "storagePath",
          "sizeBytes",
          "uploadedAt",
          "scanStatus"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "fileName": {
            "type": "string"
          },
          "contentType": {
            "type": "string"
          },
          "documentCategory": {
            "$ref": "#/components/schemas/MerchantOnboardingDocumentCategory"
          },
          "stakeholderIndex": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "storagePath": {
            "type": "string"
          },
          "sizeBytes": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "uploadedAt": {
            "type": "string",
            "format": "date-time"
          },
          "uploadedBy": {
            "type": [
              "null",
              "string"
            ]
          },
          "scanStatus": {
            "$ref": "#/components/schemas/DocumentScanStatus"
          }
        }
      },
      "MerchantOnboardingApplicationAttachmentResponse": {
        "required": [
          "id",
          "fileName",
          "contentType",
          "documentCategory",
          "sizeBytes",
          "uploadedAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "fileName": {
            "type": "string"
          },
          "contentType": {
            "type": "string"
          },
          "documentCategory": {
            "$ref": "#/components/schemas/MerchantOnboardingDocumentCategory"
          },
          "stakeholderIndex": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "sizeBytes": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "uploadedAt": {
            "type": "string",
            "format": "date-time"
          },
          "uploadedBy": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "MerchantOnboardingApplicationDetails": {
        "required": [
          "registeredName",
          "federalTaxId",
          "merchantCategoryCode",
          "naicsProvenanceHistory",
          "businessDescription",
          "registeredLegalAddress",
          "isLegalAddress",
          "isOperatingAddress",
          "isVirtualAddress",
          "locationName",
          "businessWebsite",
          "businessEmail",
          "businessPhone",
          "mainPointOfContact",
          "hasNoOwners",
          "stakeholders",
          "bankName",
          "routingNumber",
          "accountNumber",
          "bankAddress",
          "feeInformation",
          "merchantApplicationSigner",
          "proofOfBusinessType",
          "registrationDate",
          "legalEntityType",
          "federalTaxIdType",
          "naicsCode",
          "operationalMonths",
          "grossAnnualRevenue",
          "highestMonthlyVolume",
          "averageTicketSize",
          "maxTicketSize",
          "locationBusinessType",
          "accountType",
          "bankDepositMethod",
          "proofOfBankAccountType"
        ],
        "type": "object",
        "properties": {
          "registeredName": {
            "maxLength": 80,
            "minLength": 2,
            "pattern": "^[\\x20-\\x7E]+$",
            "type": "string"
          },
          "dbaName": {
            "maxLength": 80,
            "type": [
              "null",
              "string"
            ]
          },
          "proofOfBusinessType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ProofOfBusinessType"
              }
            ]
          },
          "registrationDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "legalEntityType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LegalEntityType"
              }
            ]
          },
          "otherLegalEntity": {
            "maxLength": 30,
            "type": [
              "null",
              "string"
            ]
          },
          "federalTaxIdType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/TaxIdType"
              }
            ]
          },
          "federalTaxId": {
            "pattern": "^\\d{9}$",
            "type": "string"
          },
          "naicsCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "merchantCategoryCode": {
            "type": "string"
          },
          "additionalMerchantCategoryCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "naicsProvenance": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/NaicsProvenance"
              }
            ]
          },
          "naicsProvenanceHistory": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NaicsProvenance"
            }
          },
          "businessDescription": {
            "maxLength": 120,
            "type": "string"
          },
          "isSeasonal": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "operationalMonths": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/Month"
            }
          },
          "grossAnnualRevenue": {
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "highestMonthlyVolume": {
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "averageTicketSize": {
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "maxTicketSize": {
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "registeredLegalAddress": {
            "$ref": "#/components/schemas/MailingAddress"
          },
          "proofOfAddressType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ProofOfAddressType"
              }
            ]
          },
          "businessMailingAddress": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MailingAddress"
              }
            ]
          },
          "isLegalAddress": {
            "type": "boolean"
          },
          "isOperatingAddress": {
            "type": "boolean"
          },
          "isVirtualAddress": {
            "type": "boolean"
          },
          "locationBusinessType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LocationBusinessType"
              }
            ]
          },
          "externalLocationId": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationName": {
            "type": "string"
          },
          "businessWebsite": {
            "type": "string"
          },
          "businessEmail": {
            "pattern": "^[a-zA-Z0-9._%+'-]+@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.[a-zA-Z]{2,}$",
            "type": "string"
          },
          "businessPhone": {
            "type": "string"
          },
          "mainPointOfContact": {
            "$ref": "#/components/schemas/ShortOwnerInfo"
          },
          "hasNoOwners": {
            "type": "boolean"
          },
          "stakeholders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Stakeholder"
            }
          },
          "bankName": {
            "maxLength": 100,
            "type": "string"
          },
          "routingNumber": {
            "maxLength": 9,
            "minLength": 9,
            "pattern": "^[0-9]+",
            "type": "string"
          },
          "accountNumber": {
            "maxLength": 17,
            "minLength": 8,
            "pattern": "^[0-9]+",
            "type": "string"
          },
          "accountType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BankAccountsType"
              }
            ]
          },
          "bankDepositMethod": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BankDepositMethod"
              }
            ]
          },
          "bankAddress": {
            "$ref": "#/components/schemas/MailingAddress"
          },
          "proofOfBankAccountType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ProofOfBankAccountType"
              }
            ]
          },
          "signedDocumentUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "feeInformation": {
            "$ref": "#/components/schemas/FeeInformation"
          },
          "merchantApplicationSigner": {
            "$ref": "#/components/schemas/MerchantApplicationSigner"
          }
        }
      },
      "MerchantOnboardingApplicationHistory": {
        "required": [
          "applicationId",
          "action",
          "toStatus",
          "timestamp"
        ],
        "type": "object",
        "properties": {
          "applicationId": {
            "type": "string"
          },
          "action": {
            "type": "string"
          },
          "fromStatus": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MerchantOnboardingApplicationStatus"
              }
            ]
          },
          "toStatus": {
            "$ref": "#/components/schemas/MerchantOnboardingApplicationStatus"
          },
          "performedBy": {
            "type": [
              "null",
              "string"
            ]
          },
          "notes": {
            "type": [
              "null",
              "string"
            ]
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "created": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          },
          "updated": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          }
        }
      },
      "MerchantOnboardingApplicationResponse": {
        "required": [
          "id",
          "merchantName",
          "partnerName",
          "partnerId",
          "isSettlementOnly",
          "isCommissionMerchant",
          "status",
          "requestedTenders",
          "cryptoServicesApplications",
          "digitalWalletServicesApplications",
          "onboardingExceptions"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "merchantName": {
            "type": "string",
            "description": "Orderable."
          },
          "partnerName": {
            "type": "string"
          },
          "partnerId": {
            "type": "string"
          },
          "partnerType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "description": "The account level of the partner the application sits under. Sorts in hierarchy order (Iso before Agent\nbefore CorporateEntity before MasterMerchant), not alphabetically. Null when the application predates\npartner-type capture. Orderable.",
                "$ref": "#/components/schemas/PartnerType"
              }
            ],
            "description": "The account level of the partner the application sits under. Sorts in hierarchy order (Iso before Agent\nbefore CorporateEntity before MasterMerchant), not alphabetically. Null when the application predates\npartner-type capture. Orderable."
          },
          "isSettlementOnly": {
            "type": "boolean",
            "description": "Whether the application carries the Non-settlement designation: it boards no payment vendors and only\nreceives settlement. Sorting groups designated applications after undesignated ones ascending. Orderable."
          },
          "isCommissionMerchant": {
            "type": "boolean",
            "description": "Whether the application carries the Commission designation: it boards a merchant that receives partner\ncommissions. Sorting groups designated applications after undesignated ones ascending. Orderable."
          },
          "commissionMerchantId": {
            "type": [
              "null",
              "string"
            ]
          },
          "representsPartnerId": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": "string",
            "description": "Orderable."
          },
          "requestedTenders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TenderClassification"
            },
            "description": "The customer-facing tender classifications the application requested at submit time, independent of\nboarding or activation status."
          },
          "submitted": {
            "type": [
              "null",
              "string"
            ],
            "description": "When the application was last submitted (immediate submit, draft submit, or resubmit). Null for\napplications submitted before this field was recorded.",
            "format": "date-time"
          },
          "updated": {
            "type": [
              "null",
              "string"
            ],
            "description": "When the application last changed. The default sort key for the application list endpoints. Orderable.",
            "format": "date-time"
          },
          "signer": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/DocumentSigner"
              }
            ]
          },
          "onboardedMerchantId": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationBusinessType": {
            "description": "The physical/virtual type captured on the application, surfaced from the agreement details for list\ncolumns. Null until signing populates the details (e.g. short applications still in flight).",
            "$ref": "#/components/schemas/LocationBusinessType"
          },
          "agreementApplication": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/AgreementApplication"
              }
            ]
          },
          "complianceApplication": {
            "$ref": "#/components/schemas/AccountServicesApplicationResponse"
          },
          "accountServicesApplication": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/AccountServicesApplicationResponse"
              }
            ]
          },
          "bankingApplication": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BankingApplicationResponse"
              }
            ]
          },
          "cryptoServicesApplications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentProviderApplicationResponse"
            }
          },
          "digitalWalletServicesApplications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentProviderApplicationResponse"
            }
          },
          "cryptoServicesApplication": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CryptoServicesApplication"
              }
            ]
          },
          "digitalWalletServicesApplication": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/DigitalWalletServicesApplication"
              }
            ]
          },
          "onboardingExceptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MerchantOnboardingExceptionResponse"
            }
          }
        }
      },
      "MerchantOnboardingApplicationStatus": {
        "enum": [
          "draft",
          "submitted",
          "changesRequested",
          "resubmitted",
          "signing",
          "signed",
          "reviewing",
          "reviewed",
          "boarding",
          "boarded",
          "withdrawn",
          "rejected",
          "viewed"
        ],
        "x-enumNames": [
          "Draft",
          "Submitted",
          "ChangesRequested",
          "Resubmitted",
          "Signing",
          "Signed",
          "Reviewing",
          "Reviewed",
          "Boarding",
          "Boarded",
          "Withdrawn",
          "Rejected",
          "Viewed"
        ]
      },
      "MerchantOnboardingDocumentCategory": {
        "enum": [
          "proofOfBusiness",
          "legalProofOfAddress",
          "businessProofOfAddress",
          "proofOfBankAccount",
          "cashAppLogo",
          "stakeholderProofOfIdentityFront",
          "stakeholderProofOfIdentityBack",
          "stakeholderProofOfAddress",
          "other"
        ],
        "x-enumNames": [
          "ProofOfBusiness",
          "LegalProofOfAddress",
          "BusinessProofOfAddress",
          "ProofOfBankAccount",
          "CashAppLogo",
          "StakeholderProofOfIdentityFront",
          "StakeholderProofOfIdentityBack",
          "StakeholderProofOfAddress",
          "Other"
        ]
      },
      "MerchantOnboardingExceptionResolutionNote": {
        "required": [
          "author",
          "note",
          "timestamp"
        ],
        "type": "object",
        "properties": {
          "author": {
            "type": "string"
          },
          "note": {
            "type": "string"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "MerchantOnboardingExceptionResponse": {
        "required": [
          "applicationId",
          "status",
          "onboardingStep",
          "exceptionType",
          "errorMessage",
          "timestamp",
          "assignedTo",
          "resolutionNotes"
        ],
        "type": "object",
        "properties": {
          "applicationId": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/MerchantOnboardingExceptionStatus"
          },
          "onboardingStep": {
            "$ref": "#/components/schemas/MerchantOnboardingApplicationStatus"
          },
          "exceptionType": {
            "$ref": "#/components/schemas/OnboardingExceptionType"
          },
          "errorMessage": {
            "type": "string"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "assignedTo": {
            "type": "string"
          },
          "resolutionNotes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MerchantOnboardingExceptionResolutionNote"
            }
          }
        }
      },
      "MerchantOnboardingExceptionStatus": {
        "enum": [
          "open",
          "inProgress",
          "resolved"
        ],
        "x-enumNames": [
          "Open",
          "InProgress",
          "Resolved"
        ]
      },
      "MerchantOnboardingRequest": {
        "required": [
          "merchantName",
          "partnerId",
          "registeredName",
          "isSettlementOnly",
          "isCommissionMerchant",
          "federalTaxId",
          "merchantCategoryCode",
          "businessDescription",
          "registeredLegalAddress",
          "isLegalAddress",
          "isOperatingAddress",
          "isVirtualAddress",
          "locationName",
          "businessWebsite",
          "businessEmail",
          "businessPhone",
          "mainPointOfContact",
          "hasNoOwners",
          "stakeholders",
          "bankName",
          "routingNumber",
          "accountNumber",
          "bankAddress",
          "feeInformation",
          "cryptoEnvironment",
          "partnerExternalId",
          "proofOfBusinessType",
          "registrationDate",
          "legalEntityType",
          "federalTaxIdType",
          "operationalMonths",
          "grossAnnualRevenue",
          "highestMonthlyVolume",
          "averageTicketSize",
          "maxTicketSize",
          "proofOfAddressType",
          "businessMailingAddress",
          "locationBusinessType",
          "accountType",
          "proofOfBankAccountType",
          "bankDepositMethod"
        ],
        "type": "object",
        "properties": {
          "merchantName": {
            "type": "string"
          },
          "partnerId": {
            "type": "string"
          },
          "partnerExternalId": {
            "type": [
              "null",
              "string"
            ]
          },
          "registeredName": {
            "maxLength": 80,
            "minLength": 2,
            "pattern": "^[\\x20-\\x7E]+$",
            "type": "string"
          },
          "dbaName": {
            "maxLength": 80,
            "type": [
              "null",
              "string"
            ]
          },
          "isSettlementOnly": {
            "type": "boolean"
          },
          "isCommissionMerchant": {
            "type": "boolean"
          },
          "commissionMerchantId": {
            "type": [
              "null",
              "string"
            ]
          },
          "representsPartnerId": {
            "type": [
              "null",
              "string"
            ]
          },
          "proofOfBusinessType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ProofOfBusinessType"
              }
            ]
          },
          "registrationDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "legalEntityType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LegalEntityType"
              }
            ]
          },
          "otherLegalEntity": {
            "maxLength": 30,
            "type": [
              "null",
              "string"
            ]
          },
          "federalTaxIdType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/TaxIdType"
              }
            ]
          },
          "federalTaxId": {
            "pattern": "^\\d{9}$",
            "type": "string"
          },
          "naicsCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "merchantCategoryCode": {
            "type": "string"
          },
          "additionalMerchantCategoryCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "businessDescription": {
            "maxLength": 120,
            "type": "string"
          },
          "isSeasonal": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "operationalMonths": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/Month"
            }
          },
          "grossAnnualRevenue": {
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "highestMonthlyVolume": {
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "averageTicketSize": {
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "maxTicketSize": {
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "registeredLegalAddress": {
            "$ref": "#/components/schemas/MailingAddress"
          },
          "proofOfAddressType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ProofOfAddressType"
              }
            ]
          },
          "sameAsRegisteredAddress": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "businessMailingAddress": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MailingAddress"
              }
            ]
          },
          "isLegalAddress": {
            "type": "boolean"
          },
          "isOperatingAddress": {
            "type": "boolean"
          },
          "isVirtualAddress": {
            "type": "boolean"
          },
          "locationBusinessType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LocationBusinessType"
              }
            ]
          },
          "externalLocationId": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationName": {
            "type": "string"
          },
          "businessWebsite": {
            "type": "string"
          },
          "businessEmail": {
            "pattern": "^[a-zA-Z0-9._%+'-]+@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.[a-zA-Z]{2,}$",
            "type": "string"
          },
          "businessPhone": {
            "type": "string"
          },
          "mainPointOfContact": {
            "$ref": "#/components/schemas/ShortOwnerInfo"
          },
          "hasNoOwners": {
            "type": "boolean"
          },
          "stakeholders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StakeholderRequest"
            }
          },
          "bankName": {
            "maxLength": 100,
            "type": "string"
          },
          "routingNumber": {
            "maxLength": 9,
            "minLength": 9,
            "pattern": "^[0-9]+",
            "type": "string"
          },
          "accountNumber": {
            "maxLength": 17,
            "minLength": 8,
            "pattern": "^[0-9]+",
            "type": "string"
          },
          "accountType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BankAccountsType"
              }
            ]
          },
          "bankAddress": {
            "$ref": "#/components/schemas/MailingAddress"
          },
          "proofOfBankAccountType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ProofOfBankAccountType"
              }
            ]
          },
          "bankDepositMethod": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BankDepositMethod"
              }
            ]
          },
          "feeInformation": {
            "$ref": "#/components/schemas/FeeInformationRequest"
          },
          "cryptoEnvironment": {
            "$ref": "#/components/schemas/CryptoEnvironment"
          }
        }
      },
      "MerchantOnboardingResponse": {
        "required": [
          "applicationId",
          "envelopeId",
          "status"
        ],
        "type": "object",
        "properties": {
          "applicationId": {
            "type": "string"
          },
          "envelopeId": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/AgreementApplicationStatus"
              }
            ]
          }
        }
      },
      "MerchantRole": {
        "enum": [
          "admin",
          "editor",
          "viewer"
        ],
        "x-enumNames": [
          "Admin",
          "Editor",
          "Viewer"
        ]
      },
      "MerchantStatus": {
        "enum": [
          "unverified",
          "active",
          "locked",
          "restricted",
          "inactive",
          "suspended",
          "terminated",
          "closed"
        ],
        "x-enumNames": [
          "Unverified",
          "Active",
          "Locked",
          "Restricted",
          "Inactive",
          "Suspended",
          "Terminated",
          "Closed"
        ]
      },
      "MerchantUpdateApprovalResponse": {
        "required": [
          "approved",
          "timestamp"
        ],
        "type": "object",
        "properties": {
          "approverReference": {
            "type": [
              "null",
              "string"
            ]
          },
          "approver": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/User"
              }
            ]
          },
          "approved": {
            "type": "boolean"
          },
          "reason": {
            "type": [
              "null",
              "string"
            ]
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "MerchantUpdateChanges": {
        "type": "object",
        "properties": {
          "merchantDetails": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MerchantDetailsChanges"
              }
            ]
          },
          "fee": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/FeeInformation"
              }
            ]
          },
          "status": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MerchantStatus"
              }
            ]
          },
          "setPinned": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "setRebateProgramEnabled": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "requestRemoval": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "removalReason": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationBusinessType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LocationBusinessType"
              }
            ]
          }
        }
      },
      "MerchantUpdateChangesRequest": {
        "type": "object",
        "properties": {
          "merchantDetails": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "description": "Changes to merchant business and contact details.",
                "$ref": "#/components/schemas/MerchantDetailsChangesRequest"
              }
            ],
            "description": "Changes to merchant business and contact details."
          },
          "fee": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "description": "Changes to fee information.",
                "$ref": "#/components/schemas/FeeInformation"
              }
            ],
            "description": "Changes to fee information."
          },
          "status": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "description": "Changes to the merchant status.",
                "$ref": "#/components/schemas/MerchantStatus"
              }
            ],
            "description": "Changes to the merchant status."
          },
          "setPinned": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Sets the pinned status of the merchant account."
          },
          "setRebateProgramEnabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Sets whether the merchant is enrolled in the rebate program."
          },
          "requestRemoval": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Whether to request soft deletion of the merchant and its terminals/locations."
          },
          "removalReason": {
            "type": [
              "null",
              "string"
            ],
            "description": "Reason for the removal request."
          },
          "locationBusinessType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "description": "New business type to apply to all of the merchant's locations (e.g. adding virtual support to a\nphysical merchant).",
                "$ref": "#/components/schemas/LocationBusinessType"
              }
            ],
            "description": "New business type to apply to all of the merchant's locations (e.g. adding virtual support to a\nphysical merchant)."
          }
        },
        "description": "Represents the changes to be applied to a merchant record."
      },
      "MerchantUpdateRequestResponse": {
        "required": [
          "requestId",
          "merchantId",
          "status",
          "requesterId",
          "createdAt",
          "effectiveAt",
          "precedence",
          "approvals"
        ],
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "The unique ID of the update request."
          },
          "merchantId": {
            "type": "string",
            "description": "The ID of the merchant this request applies to."
          },
          "clientReference": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional client reference for external tracking."
          },
          "status": {
            "description": "The current status of the request. Orderable.",
            "$ref": "#/components/schemas/MerchantUpdateRequestStatus"
          },
          "requesterId": {
            "type": "string",
            "description": "The ID of the user who created this request."
          },
          "requester": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "description": "Details of the user who created this request.",
                "$ref": "#/components/schemas/User"
              }
            ],
            "description": "Details of the user who created this request."
          },
          "createdAt": {
            "type": "string",
            "description": "The timestamp when the request was created. Orderable.",
            "format": "date-time"
          },
          "submittedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "The timestamp when the request was submitted for approval. The default sort key for the request list endpoints. Orderable.",
            "format": "date-time"
          },
          "effectiveAt": {
            "type": "string",
            "description": "When this update should take effect. Orderable.",
            "format": "date-time"
          },
          "expiresAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "When this update should expire and be reverted (optional). Orderable.",
            "format": "date-time"
          },
          "precedence": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Precedence level for handling overlapping time windows.",
            "format": "int32"
          },
          "changes": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "description": "The changes to be applied to the merchant.",
                "$ref": "#/components/schemas/MerchantUpdateChanges"
              }
            ],
            "description": "The changes to be applied to the merchant."
          },
          "justification": {
            "type": [
              "null",
              "string"
            ],
            "description": "Justification for the changes."
          },
          "approvals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MerchantUpdateApprovalResponse"
            },
            "description": "Collection of approvals/rejections for this request."
          },
          "approvedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "The timestamp when the request was approved.",
            "format": "date-time"
          },
          "rejectedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "The timestamp when the request was rejected.",
            "format": "date-time"
          },
          "appliedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "The timestamp when the changes were applied to the merchant.",
            "format": "date-time"
          },
          "expiredAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "The timestamp when the changes expired and were reverted.",
            "format": "date-time"
          },
          "cancelledAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "The timestamp when the request was cancelled.",
            "format": "date-time"
          }
        },
        "description": "Response for merchant update request operations."
      },
      "MerchantUpdateRequestStatus": {
        "enum": [
          "draft",
          "submitted",
          "approved",
          "rejected",
          "applied",
          "expired",
          "cancelled"
        ],
        "x-enumNames": [
          "Draft",
          "Submitted",
          "Approved",
          "Rejected",
          "Applied",
          "Expired",
          "Cancelled"
        ]
      },
      "MerchantUpdateRequestStatusResponse": {
        "required": [
          "requestId",
          "status"
        ],
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "The unique ID of the update request."
          },
          "status": {
            "description": "The current status of the request.",
            "$ref": "#/components/schemas/MerchantUpdateRequestStatus"
          },
          "timestamp": {
            "type": [
              "null",
              "string"
            ],
            "description": "The timestamp when the status changed.",
            "format": "date-time"
          },
          "reason": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional reason for rejection or cancellation."
          }
        },
        "description": "Simplified response for quick status updates."
      },
      "Month": {
        "enum": [
          "january",
          "february",
          "march",
          "april",
          "may",
          "june",
          "july",
          "august",
          "september",
          "october",
          "november",
          "december"
        ],
        "x-enumNames": [
          "January",
          "February",
          "March",
          "April",
          "May",
          "June",
          "July",
          "August",
          "September",
          "October",
          "November",
          "December"
        ]
      },
      "NaicsLookupResponse": {
        "required": [
          "mcc",
          "naicsCode",
          "crosswalkVersion"
        ],
        "type": "object",
        "properties": {
          "mcc": {
            "type": "string"
          },
          "naicsCode": {
            "type": "string"
          },
          "crosswalkVersion": {
            "type": "string"
          }
        }
      },
      "NaicsProvenance": {
        "required": [
          "naicsCode",
          "source",
          "timestamp"
        ],
        "type": "object",
        "properties": {
          "naicsCode": {
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/NaicsProvenanceSource"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "crosswalkVersion": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "NaicsProvenanceSource": {
        "enum": [
          "partnerProvided",
          "derivedFromMccCrosswalk",
          "merchantConfirmed",
          "complianceOverride"
        ],
        "x-enumNames": [
          "PartnerProvided",
          "DerivedFromMccCrosswalk",
          "MerchantConfirmed",
          "ComplianceOverride"
        ]
      },
      "OnboardingExceptionType": {
        "enum": [
          "validationError",
          "integrationFailure",
          "crosswalkGap"
        ],
        "x-enumNames": [
          "ValidationError",
          "IntegrationFailure",
          "CrosswalkGap"
        ]
      },
      "OnboardingPage": {
        "required": [
          "expireAt",
          "isAgreementSectionEnabled",
          "isKybIdvSectionEnabled",
          "isBankConnectSectionEnabled",
          "bankConnect",
          "isBankIdvSectionEnabled",
          "type"
        ],
        "type": "object",
        "properties": {
          "expireAt": {
            "type": "string",
            "format": "date-time"
          },
          "merchantId": {
            "type": [
              "null",
              "string"
            ]
          },
          "partnerId": {
            "type": [
              "null",
              "string"
            ]
          },
          "isAgreementSectionEnabled": {
            "type": "boolean"
          },
          "isKybIdvSectionEnabled": {
            "type": "boolean"
          },
          "isBankConnectSectionEnabled": {
            "type": "boolean"
          },
          "bankConnect": {
            "$ref": "#/components/schemas/OnboardingPageBankConnect"
          },
          "isBankIdvSectionEnabled": {
            "type": "boolean"
          },
          "type": {
            "$ref": "#/components/schemas/OnboardingPageType"
          },
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "created": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          },
          "updated": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          }
        }
      },
      "OnboardingPageBankConnect": {
        "required": [
          "otpRenewsCount",
          "otpEnterAttempts"
        ],
        "type": "object",
        "properties": {
          "otpString": {
            "type": [
              "null",
              "string"
            ]
          },
          "otpRenewsCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "otpEnterAttempts": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "OnboardingPageInitResponse": {
        "required": [
          "expiresAt",
          "isAgreementSectionEnabled",
          "isKybIdvSectionEnabled",
          "kybStatus",
          "isBankConnectSectionEnabled",
          "isBankIdvSectionEnabled"
        ],
        "type": "object",
        "properties": {
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "isAgreementSectionEnabled": {
            "type": "boolean"
          },
          "merchantAgreementTypes": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/MerchantAgreementType"
            }
          },
          "isKybIdvSectionEnabled": {
            "type": "boolean"
          },
          "kybStatus": {
            "$ref": "#/components/schemas/KybStatus"
          },
          "isBankConnectSectionEnabled": {
            "type": "boolean"
          },
          "isBankIdvSectionEnabled": {
            "type": "boolean"
          }
        }
      },
      "OnboardingPageType": {
        "enum": [
          "merchant",
          "partner"
        ],
        "x-enumNames": [
          "Merchant",
          "Partner"
        ]
      },
      "OwnedFee": {
        "required": [
          "amountInBaseUnit",
          "formula"
        ],
        "type": "object",
        "properties": {
          "amountInBaseUnit": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "formula": {
            "$ref": "#/components/schemas/FeeFormula"
          },
          "ownerId": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "OwnershipType": {
        "enum": [
          "direct",
          "indirect",
          "nonOwner"
        ],
        "x-enumNames": [
          "Direct",
          "Indirect",
          "NonOwner"
        ]
      },
      "PagedDataResultOfDepositResponse": {
        "required": [
          "data",
          "total",
          "page"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DepositResponse"
            }
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedDataResultOfMerchantDto": {
        "required": [
          "data",
          "total",
          "page"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MerchantDto"
            }
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedDataResultOfMerchantOnboardingApplicationResponse": {
        "required": [
          "data",
          "total",
          "page"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MerchantOnboardingApplicationResponse"
            }
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedDataResultOfMerchantUpdateRequestResponse": {
        "required": [
          "data",
          "total",
          "page"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MerchantUpdateRequestResponse"
            }
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedDataResultOfPartnerResponse": {
        "required": [
          "data",
          "total",
          "page"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartnerResponse"
            }
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedDataResultOfPaymentBatchResponse": {
        "required": [
          "data",
          "total",
          "page"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentBatchResponse"
            }
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedDataResultOfPaymentInfo": {
        "required": [
          "data",
          "total",
          "page"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentInfo"
            }
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedDataResultOfPaymentNoteResponse": {
        "required": [
          "data",
          "total",
          "page"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentNoteResponse"
            }
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedDataResultOfPaymentResponse": {
        "required": [
          "data",
          "total",
          "page"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentResponse"
            }
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedDataResultOfSettlementResponse": {
        "required": [
          "data",
          "total",
          "page"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SettlementResponse"
            }
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedDataResultOfTerminalResponse": {
        "required": [
          "data",
          "total",
          "page"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TerminalResponse"
            }
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PagedDataResultOfVoltageBillRecordResponse": {
        "required": [
          "data",
          "total",
          "page"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VoltageBillRecordResponse"
            }
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PartnerAccountsResult": {
        "required": [
          "total",
          "page",
          "lineage"
        ],
        "type": "object",
        "properties": {
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "parent": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "description": "The parent Partner of the sub-Partner or Merchant accounts.",
                "$ref": "#/components/schemas/PartnerDigest"
              }
            ],
            "description": "The parent Partner of the sub-Partner or Merchant accounts."
          },
          "lineage": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartnerDigest"
            },
            "description": "Full ancestry of the partner whose direct children are returned, ordered shallow→deep\nfrom Root down to and including the partner being displayed. Use this to render a\nbreadcrumb that reflects any intermediate partners collapsed by single-child drill-down."
          },
          "partners": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/PartnerDigest"
            }
          },
          "merchants": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/MerchantDigest"
            }
          }
        }
      },
      "PartnerApiKey": {
        "required": [
          "id",
          "name",
          "maskedSecret",
          "createdAt"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "note": {
            "type": [
              "null",
              "string"
            ]
          },
          "secret": {
            "type": [
              "null",
              "string"
            ]
          },
          "maskedSecret": {
            "type": "string"
          },
          "expiresAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "PartnerBusinessDetailsChanges": {
        "required": [
          "status",
          "dbaName",
          "legalEntityType",
          "registrationDate",
          "federalTaxIdType",
          "federalTaxIdNumber",
          "naicsCode",
          "mccCode",
          "additionalMccCodes"
        ],
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/PartnerStatus"
          },
          "dbaName": {
            "type": "string"
          },
          "legalEntityType": {
            "$ref": "#/components/schemas/LegalEntityType"
          },
          "registrationDate": {
            "type": "string",
            "format": "date-time"
          },
          "federalTaxIdType": {
            "$ref": "#/components/schemas/BusinessTaxIdType"
          },
          "federalTaxIdNumber": {
            "type": "string"
          },
          "naicsCode": {
            "type": "string"
          },
          "mccCode": {
            "type": "string"
          },
          "additionalMccCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "businessDescription": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "PartnerDetails": {
        "required": [
          "status",
          "dbaName",
          "legalEntityType",
          "registrationDate",
          "federalTaxIdType",
          "federalTaxIdNumber",
          "naicsCode",
          "mccCode",
          "additionalMccCodes",
          "stakeholders",
          "notes"
        ],
        "type": "object",
        "properties": {
          "businessLogoFileKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/PartnerStatus"
          },
          "dbaName": {
            "type": "string"
          },
          "legalEntityType": {
            "$ref": "#/components/schemas/LegalEntityType"
          },
          "registrationDate": {
            "type": "string",
            "format": "date-time"
          },
          "federalTaxIdType": {
            "$ref": "#/components/schemas/BusinessTaxIdType"
          },
          "federalTaxIdNumber": {
            "type": "string"
          },
          "naicsCode": {
            "type": "string"
          },
          "mccCode": {
            "type": "string"
          },
          "additionalMccCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "businessDescription": {
            "type": [
              "null",
              "string"
            ]
          },
          "mainPointOfContact": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PersonBasic"
              }
            ]
          },
          "businessContact": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BusinessContact"
              }
            ]
          },
          "stakeholders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessStakeholder"
            }
          },
          "notes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeneralNote"
            }
          }
        }
      },
      "PartnerDigest": {
        "required": [
          "id",
          "type",
          "name",
          "status",
          "contactEmail",
          "subPartnerCount",
          "merchantCount",
          "parents",
          "updated",
          "isPinned"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/PartnerType"
          },
          "name": {
            "type": "string",
            "description": "The partner name. Orderable."
          },
          "status": {
            "$ref": "#/components/schemas/PartnerStatus"
          },
          "contactName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Full name of the partner's main point of contact. Absent when no contact is recorded."
          },
          "contactEmail": {
            "type": "string"
          },
          "contactPhone": {
            "type": [
              "null",
              "string"
            ]
          },
          "externalId": {
            "type": [
              "null",
              "string"
            ],
            "description": "External identifier associated with the partner account. Absent when the partner has no\nexternal system mapping."
          },
          "subPartnerCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of direct, non-merchant child partners under this partner.",
            "format": "int32"
          },
          "merchantCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of merchants anywhere in this partner's downstream hierarchy.",
            "format": "int32"
          },
          "parents": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "updated": {
            "type": "string",
            "description": "The time the partner was last updated. Orderable.",
            "format": "date-time"
          },
          "isPinned": {
            "type": "boolean"
          }
        }
      },
      "PartnerFeeRate": {
        "type": "object",
        "properties": {
          "sellRate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "buyRate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "isBilledByPartner": {
            "type": [
              "null",
              "boolean"
            ]
          }
        },
        "description": "One fee in a partner's effective schedule: what the partner charges (decimal? PartnerFeeRate.SellRate) and what it\npays (decimal? PartnerFeeRate.BuyRate — always the parent account's sell rate). A null side has no configured rate."
      },
      "PartnerFeeScheduleResponse": {
        "required": [
          "partnerId",
          "resolvedFromPartnerId",
          "representingMerchantId"
        ],
        "type": "object",
        "properties": {
          "partnerId": {
            "type": "string",
            "description": "The partner the schedule was requested for."
          },
          "resolvedFromPartnerId": {
            "type": "string",
            "description": "The partner whose representing merchant supplied the sell rates — the requested partner itself, or the\nnearest ancestor with a representing merchant when the partner has none of its own."
          },
          "representingMerchantId": {
            "type": "string",
            "description": "The representing merchant holding the schedule."
          },
          "achSettlementFixedFee": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PartnerFeeRate"
              }
            ],
            "description": "One fee in a partner's effective schedule: what the partner charges (decimal? PartnerFeeRate.SellRate) and what it\npays (decimal? PartnerFeeRate.BuyRate — always the parent account's sell rate). A null side has no configured rate."
          },
          "settlementReturnFixedFee": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PartnerFeeRate"
              }
            ],
            "description": "One fee in a partner's effective schedule: what the partner charges (decimal? PartnerFeeRate.SellRate) and what it\npays (decimal? PartnerFeeRate.BuyRate — always the parent account's sell rate). A null side has no configured rate."
          },
          "monthlyMaintenanceFee": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PartnerFeeRate"
              }
            ],
            "description": "One fee in a partner's effective schedule: what the partner charges (decimal? PartnerFeeRate.SellRate) and what it\npays (decimal? PartnerFeeRate.BuyRate — always the parent account's sell rate). A null side has no configured rate."
          },
          "cryptoFees": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/PartnerTenderFeeRate"
            }
          },
          "digitalWalletsFees": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/PartnerTenderFeeRate"
            }
          }
        },
        "description": "A partner's effective fee schedule, resolved through the account hierarchy."
      },
      "PartnerLookup": {
        "required": [
          "id",
          "name",
          "partnerType"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "partnerType": {
            "$ref": "#/components/schemas/PartnerType"
          }
        }
      },
      "PartnerMember": {
        "required": [
          "userIssuerId",
          "role"
        ],
        "type": "object",
        "properties": {
          "userIssuerId": {
            "type": "string"
          },
          "role": {
            "$ref": "#/components/schemas/PartnerRole"
          }
        }
      },
      "PartnerMemberInvitationRequest": {
        "required": [
          "userEmail",
          "partnerRole"
        ],
        "type": "object",
        "properties": {
          "userEmail": {
            "type": "string",
            "format": "email"
          },
          "partnerRole": {
            "$ref": "#/components/schemas/PartnerRole"
          }
        }
      },
      "PartnerMemberInvitationResponse": {
        "required": [
          "partnerId",
          "invitationId",
          "email",
          "partnerRole",
          "invitationDate",
          "state"
        ],
        "type": "object",
        "properties": {
          "partnerId": {
            "type": "string"
          },
          "invitationId": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "partnerRole": {
            "$ref": "#/components/schemas/PartnerRole"
          },
          "invitationDate": {
            "type": "string",
            "format": "date-time"
          },
          "state": {
            "$ref": "#/components/schemas/InvitationState"
          }
        }
      },
      "PartnerMemberRequest": {
        "required": [
          "userIssuerId",
          "partnerRole"
        ],
        "type": "object",
        "properties": {
          "userIssuerId": {
            "type": "string"
          },
          "partnerRole": {
            "$ref": "#/components/schemas/PartnerRole"
          }
        }
      },
      "PartnerMemberResponse": {
        "required": [
          "userIssuerId",
          "email",
          "role"
        ],
        "type": "object",
        "properties": {
          "userIssuerId": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "firstName": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastName": {
            "type": [
              "null",
              "string"
            ]
          },
          "role": {
            "$ref": "#/components/schemas/PartnerRole"
          }
        }
      },
      "PartnerNavigator": {
        "required": [
          "branchingDescendants",
          "hierarchy"
        ],
        "type": "object",
        "properties": {
          "deepestDescendant": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PartnerResponse"
              }
            ]
          },
          "branchingDescendants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartnerResponse"
            }
          },
          "hierarchy": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartnerLookup"
            }
          }
        }
      },
      "PartnerResponse": {
        "required": [
          "id",
          "partnerType",
          "name",
          "ancestorIds",
          "isEnabled",
          "tenderTypes",
          "memberships",
          "isPinned"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "partnerType": {
            "description": "The kind of partner account. Orderable.",
            "$ref": "#/components/schemas/PartnerType"
          },
          "name": {
            "type": "string",
            "description": "Orderable."
          },
          "email": {
            "type": [
              "null",
              "string"
            ]
          },
          "phoneNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "parentId": {
            "type": [
              "null",
              "string"
            ]
          },
          "ancestorIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "representingMerchantId": {
            "type": [
              "null",
              "string"
            ]
          },
          "isEnabled": {
            "type": "boolean",
            "description": "Orderable."
          },
          "tenderTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TenderType"
            }
          },
          "memberships": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartnerMember"
            }
          },
          "isPinned": {
            "type": "boolean"
          },
          "created": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          },
          "updated": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          }
        }
      },
      "PartnerResponseDetails": {
        "required": [
          "id",
          "partnerType",
          "name",
          "ancestorIds",
          "isEnabled",
          "tenderTypes",
          "memberships",
          "isPinned"
        ],
        "type": "object",
        "properties": {
          "partnerDetails": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PartnerDetails"
              }
            ]
          },
          "id": {
            "type": "string"
          },
          "partnerType": {
            "description": "The kind of partner account. Orderable.",
            "$ref": "#/components/schemas/PartnerType"
          },
          "name": {
            "type": "string",
            "description": "Orderable."
          },
          "email": {
            "type": [
              "null",
              "string"
            ]
          },
          "phoneNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "parentId": {
            "type": [
              "null",
              "string"
            ]
          },
          "ancestorIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "representingMerchantId": {
            "type": [
              "null",
              "string"
            ]
          },
          "isEnabled": {
            "type": "boolean",
            "description": "Orderable."
          },
          "tenderTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TenderType"
            }
          },
          "memberships": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartnerMember"
            }
          },
          "isPinned": {
            "type": "boolean"
          },
          "created": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          },
          "updated": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          }
        }
      },
      "PartnerResponseDetailsWithNavigator": {
        "required": [
          "navigator",
          "id",
          "partnerType",
          "name",
          "ancestorIds",
          "isEnabled",
          "tenderTypes",
          "memberships",
          "isPinned"
        ],
        "type": "object",
        "properties": {
          "navigator": {
            "$ref": "#/components/schemas/PartnerNavigator"
          },
          "partnerIdForGettingMerchants": {
            "type": [
              "null",
              "string"
            ]
          },
          "partnerDetails": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PartnerDetails"
              }
            ]
          },
          "id": {
            "type": "string"
          },
          "partnerType": {
            "description": "The kind of partner account. Orderable.",
            "$ref": "#/components/schemas/PartnerType"
          },
          "name": {
            "type": "string",
            "description": "Orderable."
          },
          "email": {
            "type": [
              "null",
              "string"
            ]
          },
          "phoneNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "parentId": {
            "type": [
              "null",
              "string"
            ]
          },
          "ancestorIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "representingMerchantId": {
            "type": [
              "null",
              "string"
            ]
          },
          "isEnabled": {
            "type": "boolean",
            "description": "Orderable."
          },
          "tenderTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TenderType"
            }
          },
          "memberships": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartnerMember"
            }
          },
          "isPinned": {
            "type": "boolean"
          },
          "created": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          },
          "updated": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          }
        }
      },
      "PartnerRole": {
        "enum": [
          "admin",
          "editor",
          "viewer"
        ],
        "x-enumNames": [
          "Admin",
          "Editor",
          "Viewer"
        ]
      },
      "PartnerStatus": {
        "enum": [
          "active",
          "inactive"
        ],
        "x-enumNames": [
          "Active",
          "Inactive"
        ]
      },
      "PartnerTenderFeeRate": {
        "required": [
          "tenderType"
        ],
        "type": "object",
        "properties": {
          "tenderType": {
            "$ref": "#/components/schemas/TenderType"
          },
          "transactionRate": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PartnerFeeRate"
              }
            ],
            "description": "One fee in a partner's effective schedule: what the partner charges (decimal? PartnerFeeRate.SellRate) and what it\npays (decimal? PartnerFeeRate.BuyRate — always the parent account's sell rate). A null side has no configured rate."
          },
          "perItemFee": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PartnerFeeRate"
              }
            ],
            "description": "One fee in a partner's effective schedule: what the partner charges (decimal? PartnerFeeRate.SellRate) and what it\npays (decimal? PartnerFeeRate.BuyRate — always the parent account's sell rate). A null side has no configured rate."
          }
        },
        "description": "A per-tender fee (crypto or digital wallet) in a partner's effective schedule."
      },
      "PartnerType": {
        "enum": [
          "iso",
          "agent",
          "corporateEntity",
          "masterMerchant",
          "root"
        ],
        "x-enumNames": [
          "Iso",
          "Agent",
          "CorporateEntity",
          "MasterMerchant",
          "Root"
        ]
      },
      "PartnerTypeForCreation": {
        "enum": [
          "iso",
          "agent",
          "corporateEntity",
          "masterMerchant"
        ],
        "x-enumNames": [
          "Iso",
          "Agent",
          "CorporateEntity",
          "MasterMerchant"
        ]
      },
      "PartnerUpdateApproval": {
        "required": [
          "approverId",
          "approved",
          "timestamp"
        ],
        "type": "object",
        "properties": {
          "approverId": {
            "type": "string"
          },
          "approverReference": {
            "type": [
              "null",
              "string"
            ]
          },
          "approved": {
            "type": "boolean"
          },
          "reason": {
            "type": [
              "null",
              "string"
            ]
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "PartnerUpdateChanges": {
        "type": "object",
        "properties": {
          "businessDetails": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PartnerBusinessDetailsChanges"
              }
            ]
          },
          "setPinned": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "requestRemoval": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "removalReason": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "PartnerUpdateChangesRequest": {
        "type": "object",
        "properties": {
          "businessDetails": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "description": "Changes to partner business details.",
                "$ref": "#/components/schemas/UpdatePartnerBusinessDetailsRequest"
              }
            ],
            "description": "Changes to partner business details."
          },
          "setPinned": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Sets the pinned status of the partner account."
          },
          "requestRemoval": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Whether to request soft deletion of the partner and all its descendants."
          },
          "removalReason": {
            "type": [
              "null",
              "string"
            ],
            "description": "Reason for the removal request."
          }
        },
        "description": "Represents the changes to be applied to a partner record."
      },
      "PartnerUpdateRequestResponse": {
        "required": [
          "requestId",
          "partnerId",
          "status",
          "requesterId",
          "createdAt",
          "effectiveAt",
          "precedence",
          "approvals"
        ],
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "The unique ID of the update request."
          },
          "partnerId": {
            "type": "string",
            "description": "The ID of the partner this request applies to."
          },
          "clientReference": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional client reference for external tracking."
          },
          "status": {
            "description": "The current status of the request.",
            "$ref": "#/components/schemas/PartnerUpdateRequestStatus"
          },
          "requesterId": {
            "type": "string",
            "description": "The ID of the user who created this request."
          },
          "createdAt": {
            "type": "string",
            "description": "The timestamp when the request was created.",
            "format": "date-time"
          },
          "submittedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "The timestamp when the request was submitted for approval.",
            "format": "date-time"
          },
          "effectiveAt": {
            "type": "string",
            "description": "When this update should take effect.",
            "format": "date-time"
          },
          "expiresAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "When this update should expire and be reverted (optional).",
            "format": "date-time"
          },
          "precedence": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Precedence level for handling overlapping time windows.",
            "format": "int32"
          },
          "changes": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "description": "The changes to be applied to the partner.",
                "$ref": "#/components/schemas/PartnerUpdateChanges"
              }
            ],
            "description": "The changes to be applied to the partner."
          },
          "justification": {
            "type": [
              "null",
              "string"
            ],
            "description": "Justification for the changes."
          },
          "approvals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartnerUpdateApproval"
            },
            "description": "Collection of approvals/rejections for this request."
          },
          "approvedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "The timestamp when the request was approved.",
            "format": "date-time"
          },
          "rejectedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "The timestamp when the request was rejected.",
            "format": "date-time"
          },
          "appliedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "The timestamp when the changes were applied to the partner.",
            "format": "date-time"
          },
          "expiredAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "The timestamp when the changes expired and were reverted.",
            "format": "date-time"
          },
          "cancelledAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "The timestamp when the request was cancelled.",
            "format": "date-time"
          }
        },
        "description": "Response for partner update request operations."
      },
      "PartnerUpdateRequestStatus": {
        "enum": [
          "draft",
          "submitted",
          "approved",
          "rejected",
          "applied",
          "expired",
          "cancelled"
        ],
        "x-enumNames": [
          "Draft",
          "Submitted",
          "Approved",
          "Rejected",
          "Applied",
          "Expired",
          "Cancelled"
        ]
      },
      "PartnerUpdateRequestStatusResponse": {
        "required": [
          "requestId",
          "status"
        ],
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "The unique ID of the update request."
          },
          "status": {
            "description": "The current status of the request.",
            "$ref": "#/components/schemas/PartnerUpdateRequestStatus"
          },
          "timestamp": {
            "type": [
              "null",
              "string"
            ],
            "description": "The timestamp when the status changed.",
            "format": "date-time"
          },
          "reason": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional reason for rejection or cancellation."
          }
        },
        "description": "Simplified response for quick status updates."
      },
      "PartnerWebhookEventType": {
        "enum": [
          "applicationSigned",
          "applicationReviewed",
          "merchantBoarded",
          "applicationViewed",
          "settlementHeld"
        ],
        "x-enumNames": [
          "ApplicationSigned",
          "ApplicationReviewed",
          "MerchantBoarded",
          "ApplicationViewed",
          "SettlementHeld"
        ]
      },
      "Payment": {
        "required": [
          "terminalId",
          "reqCurrencyId",
          "amounts",
          "paymentCode",
          "statusCode",
          "payCurrencyId",
          "emailReceipt",
          "smsReceipt",
          "cartItems",
          "transactions",
          "conversions",
          "paymentActions",
          "paymentNotifications",
          "webhookUrls",
          "fundsReturnedReceiptTransferIds",
          "voltageRoutedToSuspenseWallet"
        ],
        "type": "object",
        "properties": {
          "terminalId": {
            "maxLength": 24,
            "minLength": 24,
            "type": "string"
          },
          "batchId": {
            "type": [
              "null",
              "string"
            ]
          },
          "payoutId": {
            "type": [
              "null",
              "string"
            ]
          },
          "paymentCode": {
            "type": "string"
          },
          "trackingId": {
            "type": [
              "null",
              "string"
            ]
          },
          "statusCode": {
            "$ref": "#/components/schemas/PaymentStatus"
          },
          "capturedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "reqCurrencyId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "payCurrencyId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "tenderType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/TenderType"
              }
            ]
          },
          "bridgeTransfer": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BridgeTransferInfo"
              }
            ]
          },
          "amounts": {
            "$ref": "#/components/schemas/PaymentAmounts"
          },
          "reference": {
            "type": [
              "null",
              "string"
            ]
          },
          "originalSenderAddress": {
            "type": [
              "null",
              "string"
            ]
          },
          "paymentAddress": {
            "type": [
              "null",
              "string"
            ],
            "description": "The gateway deposit address (or Lightning invoice) the customer pays to. The durable payment↔address\nlink behind cache-miss fallback lookups and stuck-payment reconciliation (PS-680)."
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "customerId": {
            "type": [
              "null",
              "string"
            ]
          },
          "emailReceipt": {
            "type": "boolean"
          },
          "smsReceipt": {
            "type": "boolean"
          },
          "cartItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CartItem"
            }
          },
          "expiration": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "quoteExpiration": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "redirectUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoTransaction"
            }
          },
          "conversions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Conversion"
            }
          },
          "paymentActions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentAction"
            }
          },
          "paymentNotifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentNotification"
            }
          },
          "webhookUrls": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "fundsReturnedReceiptTransferIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Bridge transfer IDs for which a Funds Returned receipt has already been sent, guarding against duplicates."
          },
          "refundEmail": {
            "type": [
              "null",
              "string"
            ]
          },
          "refundLifecycleStatus": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RefundLifecycleStatus"
              }
            ]
          },
          "refundInitiatedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "refundCompletedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "refundFailureReason": {
            "type": [
              "null",
              "string"
            ]
          },
          "paymentSource": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PaymentSource"
              }
            ]
          },
          "voltageRoutedToSuspenseWallet": {
            "type": "boolean"
          },
          "voltageRoutedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "voltageRoutingTransactionId": {
            "type": [
              "null",
              "string"
            ]
          },
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "created": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          },
          "updated": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          }
        }
      },
      "PaymentAction": {
        "required": [
          "actionType",
          "dateTime"
        ],
        "type": "object",
        "properties": {
          "actionType": {
            "$ref": "#/components/schemas/PaymentActionType"
          },
          "dateTime": {
            "type": "string",
            "format": "date-time"
          },
          "refererUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "ipAddress": {
            "type": [
              "null",
              "string"
            ]
          },
          "country": {
            "type": [
              "null",
              "string"
            ]
          },
          "city": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "PaymentActionType": {
        "enum": [
          "initPaymentPage",
          "requestQuote",
          "requestReceiptFromHpp",
          "requestRefundFromHpp",
          "refreshStatusFromHpp"
        ],
        "x-enumNames": [
          "InitPaymentPage",
          "RequestQuote",
          "RequestReceiptFromHpp",
          "RequestRefundFromHpp",
          "RefreshStatusFromHpp"
        ]
      },
      "PaymentAmountDetails": {
        "required": [
          "inPaymentCurrency"
        ],
        "type": "object",
        "properties": {
          "inPaymentCurrency": {
            "$ref": "#/components/schemas/AmountInfo"
          }
        }
      },
      "PaymentAmountDetailsWithCurrency": {
        "required": [
          "inPaymentCurrency"
        ],
        "type": "object",
        "properties": {
          "inPaymentCurrency": {
            "$ref": "#/components/schemas/AmountInfoWithCurrency"
          }
        }
      },
      "PaymentAmounts": {
        "required": [
          "requested",
          "paid",
          "settleableAmount",
          "partnerFees"
        ],
        "type": "object",
        "properties": {
          "requested": {
            "$ref": "#/components/schemas/RequestedAmountDetails"
          },
          "paid": {
            "$ref": "#/components/schemas/PaymentAmountDetails"
          },
          "settleableAmount": {
            "$ref": "#/components/schemas/AmountInfo"
          },
          "partnerFees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OwnedFee"
            }
          },
          "rebate": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RebateInfo"
              }
            ]
          }
        }
      },
      "PaymentAmountsWithCurrency": {
        "required": [
          "requested",
          "paid",
          "settleableAmount",
          "partnerFees"
        ],
        "type": "object",
        "properties": {
          "requested": {
            "$ref": "#/components/schemas/RequestedAmountDetailsWithCurrency"
          },
          "paid": {
            "$ref": "#/components/schemas/PaymentAmountDetailsWithCurrency"
          },
          "settleableAmount": {
            "$ref": "#/components/schemas/AmountInfoWithCurrency"
          },
          "partnerFees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OwnedFee"
            }
          }
        }
      },
      "PaymentBatchResponse": {
        "required": [
          "id",
          "merchantId",
          "status",
          "type",
          "networkTypes",
          "totalFees",
          "grossFundableAmount",
          "netFundableAmount",
          "transactionCount",
          "paymentIds",
          "batchPeriod"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "merchantId": {
            "type": "string"
          },
          "status": {
            "description": "The batch's current status. Orderable.",
            "$ref": "#/components/schemas/PaymentBatchStatus"
          },
          "type": {
            "description": "Whether the batch settles fiat or crypto. Orderable.",
            "$ref": "#/components/schemas/CurrencyType"
          },
          "networkTypes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The batch's compatible network / funding-family grouping (e.g. CitconKlarna vs CitconUniversalQr),\nmore precise than CurrencyType PaymentBatchResponse.Type."
          },
          "totalFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Orderable.",
            "format": "double"
          },
          "grossFundableAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Orderable.",
            "format": "double"
          },
          "netFundableAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "transactionCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Orderable.",
            "format": "int32"
          },
          "paymentIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "batchPeriod": {
            "type": "string",
            "description": "Orderable.",
            "format": "date"
          },
          "settlementId": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "PaymentBatchStatus": {
        "enum": [
          "open",
          "closed",
          "hold"
        ],
        "x-enumNames": [
          "Open",
          "Closed",
          "Hold"
        ]
      },
      "PaymentGatewayType": {
        "enum": [
          "crypto",
          "card"
        ],
        "x-enumNames": [
          "Crypto",
          "Card"
        ]
      },
      "PaymentInfo": {
        "required": [
          "terminalId",
          "reqCurrencyId",
          "amounts",
          "terminalName",
          "paymentCode",
          "statusCode",
          "payCurrencyId",
          "emailReceipt",
          "smsReceipt",
          "cartItems",
          "transactions",
          "conversions",
          "paymentNotifications",
          "webhookUrls"
        ],
        "type": "object",
        "properties": {
          "externalId": {
            "type": [
              "null",
              "string"
            ]
          },
          "terminalId": {
            "maxLength": 24,
            "minLength": 24,
            "type": "string"
          },
          "terminalName": {
            "type": "string"
          },
          "paymentCode": {
            "type": "string"
          },
          "batchId": {
            "type": [
              "null",
              "string"
            ]
          },
          "settlementId": {
            "type": [
              "null",
              "string"
            ]
          },
          "batchStatus": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PaymentBatchStatus"
              }
            ]
          },
          "trackingId": {
            "type": [
              "null",
              "string"
            ]
          },
          "statusCode": {
            "description": "The payment's current status. Orderable.",
            "$ref": "#/components/schemas/PaymentStatus"
          },
          "reqCurrencyId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "payCurrencyId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "amounts": {
            "$ref": "#/components/schemas/PaymentAmountsWithCurrency"
          },
          "reference": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "customerId": {
            "type": [
              "null",
              "string"
            ]
          },
          "emailReceipt": {
            "type": "boolean"
          },
          "smsReceipt": {
            "type": "boolean"
          },
          "cartItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CartItem"
            }
          },
          "expiration": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          },
          "quoteExpiration": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          },
          "paymentAddress": {
            "type": [
              "null",
              "string"
            ]
          },
          "redirectUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoTransaction"
            }
          },
          "conversions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Conversion"
            }
          },
          "paymentNotifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentNotification"
            }
          },
          "webhookUrls": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "refundEmail": {
            "type": [
              "null",
              "string"
            ]
          },
          "merchantLocation": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MerchantLocationDto"
              }
            ]
          },
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "created": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          },
          "updated": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          }
        }
      },
      "PaymentLimit": {
        "required": [
          "currencyId",
          "amountLimit"
        ],
        "type": "object",
        "properties": {
          "currencyId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "amountLimit": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "PaymentNoteResponse": {
        "required": [
          "id",
          "paymentId",
          "text",
          "authorEmail",
          "date"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "paymentId": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "authorEmail": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "description": "Orderable.",
            "format": "date-time"
          }
        }
      },
      "PaymentNotification": {
        "required": [
          "type",
          "email",
          "status"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/PaymentNotificationType"
          },
          "email": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/PaymentNotificationStatus"
          },
          "notificationTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "PaymentNotificationStatus": {
        "enum": [
          "pending",
          "sent"
        ],
        "x-enumNames": [
          "Pending",
          "Sent"
        ]
      },
      "PaymentNotificationType": {
        "enum": [
          "firstBlockReached",
          "desiredBlockReached",
          "settlementFinished"
        ],
        "x-enumNames": [
          "FirstBlockReached",
          "DesiredBlockReached",
          "SettlementFinished"
        ]
      },
      "PaymentPage": {
        "required": [
          "paymentId",
          "expireAt",
          "requestedTenderTypes"
        ],
        "type": "object",
        "properties": {
          "expireAt": {
            "type": "string",
            "format": "date-time"
          },
          "paymentId": {
            "maxLength": 24,
            "minLength": 24,
            "type": "string"
          },
          "sessionKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "requestedTenderTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TenderType"
            }
          },
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "created": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          },
          "updated": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          }
        }
      },
      "PaymentPageInitResponse": {
        "required": [
          "paymentCurrencies",
          "terminalType",
          "shortMerchant",
          "requestedAmountInfo",
          "customer",
          "emailReceipt",
          "smsReceipt"
        ],
        "type": "object",
        "properties": {
          "terminalType": {
            "$ref": "#/components/schemas/TerminalType"
          },
          "shortMerchant": {
            "$ref": "#/components/schemas/ShortMerchantResponse"
          },
          "paymentCurrencies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CurrencyResponse"
            }
          },
          "requestedAmountInfo": {
            "$ref": "#/components/schemas/AmountInfoResponse"
          },
          "customer": {
            "$ref": "#/components/schemas/CustomerResponse"
          },
          "emailReceipt": {
            "type": "boolean"
          },
          "smsReceipt": {
            "type": "boolean"
          },
          "redirectUrl": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "PaymentPageReceiptRequest": {
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "email": {
            "maxLength": 128,
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          },
          "phone": {
            "maxLength": 32,
            "pattern": "^\\+?[\\d\\s\\-().]*\\d[\\d\\s\\-().]*$",
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "PaymentProcessor": {
        "required": [
          "name",
          "type",
          "supportedCurrencyIds",
          "paymentLimits",
          "isEnabled"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 32,
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/PaymentGatewayType"
          },
          "supportedCurrencyIds": {
            "type": "array",
            "items": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          "paymentLimits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentLimit"
            }
          },
          "isEnabled": {
            "type": "boolean"
          },
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "created": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          },
          "updated": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          }
        }
      },
      "PaymentProviderApplicationResponse": {
        "required": [
          "status",
          "tenderTypes"
        ],
        "type": "object",
        "properties": {
          "tenderTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TenderType"
            },
            "description": "The tender types this application boards the merchant for."
          },
          "status": {
            "type": "string"
          },
          "errorMessage": {
            "type": [
              "null",
              "string"
            ]
          },
          "businessId": {
            "type": [
              "null",
              "string"
            ]
          },
          "walletId": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "PaymentResponse": {
        "required": [
          "id",
          "terminalId",
          "terminalName",
          "locationName",
          "merchantId",
          "paymentCode",
          "tenderType",
          "transferType",
          "created",
          "updated",
          "statusCode",
          "amounts",
          "conversions"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "terminalId": {
            "type": "string"
          },
          "terminalName": {
            "type": "string"
          },
          "locationId": {
            "type": [
              "null",
              "string"
            ]
          },
          "locationName": {
            "type": "string"
          },
          "merchantId": {
            "type": "string"
          },
          "paymentCode": {
            "type": "string"
          },
          "settlementId": {
            "type": [
              "null",
              "string"
            ]
          },
          "batchId": {
            "type": [
              "null",
              "string"
            ]
          },
          "batchPeriod": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "batchStatus": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PaymentBatchStatus"
              }
            ]
          },
          "tenderType": {
            "$ref": "#/components/schemas/TenderType"
          },
          "transferType": {
            "$ref": "#/components/schemas/TransferType"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "description": "Orderable.",
            "format": "date-time"
          },
          "statusCode": {
            "description": "The payment's current status. Orderable.",
            "$ref": "#/components/schemas/PaymentStatus"
          },
          "amounts": {
            "$ref": "#/components/schemas/PaymentAmountsWithCurrency"
          },
          "reference": {
            "type": [
              "null",
              "string"
            ]
          },
          "originalSenderAddress": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "customerId": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CustomerResponse"
              }
            ]
          },
          "conversions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentResponseConversion"
            }
          },
          "refundLifecycleStatus": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RefundLifecycleStatus"
              }
            ]
          },
          "refundInitiatedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "refundCompletedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "refundFailureReason": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "PaymentResponseConversion": {
        "required": [
          "statusCode",
          "quotedExchangeRate",
          "presentedExchangeRate",
          "executedExchangeRate",
          "conversionFee",
          "conversionTime"
        ],
        "type": "object",
        "properties": {
          "statusCode": {
            "$ref": "#/components/schemas/ConversionTransactionStatus"
          },
          "quotedExchangeRate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "presentedExchangeRate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "executedExchangeRate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "conversionFee": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "conversionTime": {
            "type": "string",
            "format": "date-time"
          }
        },
        "description": "Receipt-facing view of a currency conversion on a payment. Carries only the exchange-rate fields a\nconsumer needs to render a compliant crypto-to-fiat receipt; internal trade/quote/instruction\nidentifiers and settlement-internal amounts are deliberately excluded."
      },
      "PaymentRisk": {
        "required": [
          "sourceWalletAddress",
          "level",
          "assessmentDate",
          "isSkipped"
        ],
        "type": "object",
        "properties": {
          "sourceWalletAddress": {
            "type": "string"
          },
          "level": {
            "$ref": "#/components/schemas/RiskLevel"
          },
          "assessmentDate": {
            "type": "string",
            "format": "date-time"
          },
          "isSkipped": {
            "type": "boolean"
          },
          "reviewerEmail": {
            "type": [
              "null",
              "string"
            ]
          },
          "reviewId": {
            "type": [
              "null",
              "string"
            ]
          },
          "decisionDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "PaymentSource": {
        "required": [
          "externalSystemType",
          "currencyId",
          "paymentMethod"
        ],
        "type": "object",
        "properties": {
          "externalSystemType": {
            "$ref": "#/components/schemas/ExternalSystemType"
          },
          "currencyId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "paymentMethod": {
            "type": "string"
          }
        }
      },
      "PaymentStatus": {
        "enum": [
          "created",
          "processing",
          "completed",
          "underpaid",
          "overpaid",
          "fullyRefunded",
          "partiallyRefunded",
          "expired",
          "invalid",
          "cancelled"
        ],
        "x-enumNames": [
          "Created",
          "Processing",
          "Completed",
          "Underpaid",
          "Overpaid",
          "FullyRefunded",
          "PartiallyRefunded",
          "Expired",
          "Invalid",
          "Cancelled"
        ]
      },
      "PaymentStatusResponse": {
        "required": [
          "paymentCode",
          "statusCode",
          "amounts"
        ],
        "type": "object",
        "properties": {
          "paymentCode": {
            "type": "string"
          },
          "statusCode": {
            "$ref": "#/components/schemas/PaymentStatus"
          },
          "amounts": {
            "$ref": "#/components/schemas/PaymentUpdatePaymentAmounts"
          },
          "reference": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "receivedTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "PaymentTrackingAmounts": {
        "required": [
          "requested",
          "paid",
          "settleableAmount"
        ],
        "type": "object",
        "properties": {
          "requested": {
            "$ref": "#/components/schemas/RequestedAmountDetails"
          },
          "paid": {
            "$ref": "#/components/schemas/PaymentAmountDetails"
          },
          "settleableAmount": {
            "$ref": "#/components/schemas/AmountInfo"
          }
        }
      },
      "PaymentTrackingResponse": {
        "required": [
          "terminalId",
          "paymentCode",
          "statusCode",
          "reqCurrencyId",
          "payCurrencyId",
          "amounts",
          "emailReceipt",
          "smsReceipt",
          "cartItems",
          "transactions",
          "conversions"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "created": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "updated": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "terminalId": {
            "type": "string"
          },
          "paymentCode": {
            "type": "string"
          },
          "trackingId": {
            "type": [
              "null",
              "string"
            ]
          },
          "statusCode": {
            "$ref": "#/components/schemas/PaymentStatus"
          },
          "reqCurrencyId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "payCurrencyId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "tenderType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/TenderType"
              }
            ]
          },
          "amounts": {
            "$ref": "#/components/schemas/PaymentTrackingAmounts"
          },
          "reference": {
            "type": [
              "null",
              "string"
            ]
          },
          "originalSenderAddress": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "emailReceipt": {
            "type": "boolean"
          },
          "smsReceipt": {
            "type": "boolean"
          },
          "cartItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CartItem"
            }
          },
          "expiration": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "quoteExpiration": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "redirectUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CryptoTransaction"
            }
          },
          "conversions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Conversion"
            }
          }
        }
      },
      "PaymentUpdateAmountInfo": {
        "required": [
          "amount"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "format": "double"
          },
          "currency": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PaymentUpdateCurrency"
              }
            ]
          }
        }
      },
      "PaymentUpdateConversion": {
        "required": [
          "statusCode",
          "quotedExchangeRate",
          "presentedExchangeRate",
          "executedExchangeRate",
          "conversionFee",
          "conversionTime"
        ],
        "type": "object",
        "properties": {
          "statusCode": {
            "$ref": "#/components/schemas/ConversionTransactionStatus"
          },
          "quotedExchangeRate": {
            "format": "double"
          },
          "presentedExchangeRate": {
            "format": "double"
          },
          "executedExchangeRate": {
            "format": "double"
          },
          "conversionFee": {
            "format": "double"
          },
          "conversionTime": {
            "type": "string",
            "format": "date-time"
          }
        },
        "description": "Receipt-facing view of a currency conversion for the payment update webhook. Carries only the\nexchange-rate fields integrators need to render a compliant crypto-to-fiat receipt; internal\ntrade/quote/instruction identifiers are deliberately excluded."
      },
      "PaymentUpdateCurrency": {
        "required": [
          "id",
          "code",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "symbol": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "PaymentUpdatePayload": {
        "required": [
          "paymentId",
          "trackingId",
          "paymentCode",
          "statusCode",
          "amounts",
          "terminalId",
          "merchantId",
          "conversions"
        ],
        "type": "object",
        "properties": {
          "paymentId": {
            "type": "string"
          },
          "trackingId": {
            "type": "string"
          },
          "paymentCode": {
            "type": "string"
          },
          "statusCode": {
            "$ref": "#/components/schemas/PaymentStatus"
          },
          "tenderType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/TenderType"
              }
            ]
          },
          "amounts": {
            "$ref": "#/components/schemas/PaymentUpdatePaymentAmounts"
          },
          "reference": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "receivedTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "terminalId": {
            "type": "string"
          },
          "merchantId": {
            "type": "string"
          },
          "errorMessage": {
            "type": [
              "null",
              "string"
            ]
          },
          "originalSenderAddress": {
            "type": [
              "null",
              "string"
            ]
          },
          "conversions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentUpdateConversion"
            }
          }
        }
      },
      "PaymentUpdatePaymentAmountDetails": {
        "required": [
          "inPaymentCurrency"
        ],
        "type": "object",
        "properties": {
          "inPaymentCurrency": {
            "$ref": "#/components/schemas/PaymentUpdateAmountInfo"
          }
        }
      },
      "PaymentUpdatePaymentAmounts": {
        "required": [
          "requested",
          "paid"
        ],
        "type": "object",
        "properties": {
          "requested": {
            "$ref": "#/components/schemas/PaymentUpdateRequestedAmountDetails"
          },
          "paid": {
            "$ref": "#/components/schemas/PaymentUpdatePaymentAmountDetails"
          }
        }
      },
      "PaymentUpdateRequestedAmountDetails": {
        "required": [
          "inPaymentCurrency",
          "inRequestedCurrency"
        ],
        "type": "object",
        "properties": {
          "inPaymentCurrency": {
            "$ref": "#/components/schemas/PaymentUpdateAmountInfo"
          },
          "inRequestedCurrency": {
            "$ref": "#/components/schemas/PaymentUpdateAmountInfo"
          }
        }
      },
      "PendingBillingAddress": {
        "type": "object",
        "properties": {
          "street": {
            "type": [
              "null",
              "string"
            ]
          },
          "street2": {
            "type": [
              "null",
              "string"
            ]
          },
          "city": {
            "type": [
              "null",
              "string"
            ]
          },
          "state": {
            "type": [
              "null",
              "string"
            ]
          },
          "zip": {
            "type": [
              "null",
              "string"
            ]
          },
          "country": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "PendingConsumerInfo": {
        "required": [
          "id",
          "reference"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "reference": {
            "type": "string"
          },
          "firstName": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastName": {
            "type": [
              "null",
              "string"
            ]
          },
          "phone": {
            "type": [
              "null",
              "string"
            ]
          },
          "email": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "PendingPaymentInfo": {
        "required": [
          "countryCode",
          "currency",
          "totalAmount",
          "autoCapture",
          "client"
        ],
        "type": "object",
        "properties": {
          "countryCode": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "totalAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "autoCapture": {
            "type": "boolean"
          },
          "client": {
            "type": "string"
          }
        }
      },
      "PendingSdkInfo": {
        "required": [
          "environment",
          "debug",
          "consumerID",
          "urls"
        ],
        "type": "object",
        "properties": {
          "environment": {
            "type": "string"
          },
          "debug": {
            "type": "boolean"
          },
          "consumerID": {
            "type": "string"
          },
          "urls": {
            "$ref": "#/components/schemas/PendingSdkUrls"
          }
        }
      },
      "PendingSdkUrls": {
        "required": [
          "ipn",
          "mobile",
          "success",
          "cancel",
          "fail"
        ],
        "type": "object",
        "properties": {
          "ipn": {
            "type": "string"
          },
          "mobile": {
            "type": "string"
          },
          "success": {
            "type": "string"
          },
          "cancel": {
            "type": "string"
          },
          "fail": {
            "type": "string"
          }
        }
      },
      "PendingTransactionResponse": {
        "required": [
          "payment",
          "sdk",
          "paymentMethods",
          "selectedPaymentMethod"
        ],
        "type": "object",
        "properties": {
          "transactionId": {
            "type": [
              "null",
              "string"
            ]
          },
          "transactionReference": {
            "type": [
              "null",
              "string"
            ]
          },
          "paymentCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "chargeToken": {
            "type": [
              "null",
              "string"
            ]
          },
          "accessToken": {
            "type": [
              "null",
              "string"
            ]
          },
          "redirectUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "url": {
            "type": [
              "null",
              "string"
            ]
          },
          "qrCodeContent": {
            "type": [
              "null",
              "string"
            ]
          },
          "result": {
            "type": [
              "null",
              "string"
            ]
          },
          "paymentMethod": {
            "type": [
              "null",
              "string"
            ]
          },
          "payment": {
            "$ref": "#/components/schemas/PendingPaymentInfo"
          },
          "consumer": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PendingConsumerInfo"
              }
            ]
          },
          "billingAddress": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PendingBillingAddress"
              }
            ]
          },
          "sdk": {
            "$ref": "#/components/schemas/PendingSdkInfo"
          },
          "paymentMethods": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "selectedPaymentMethod": {
            "type": "string"
          }
        }
      },
      "PercentageFee": {
        "required": [
          "sellRate",
          "isBilledByPartner"
        ],
        "type": "object",
        "properties": {
          "sellRate": {
            "maximum": 100,
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "isBilledByPartner": {
            "type": "boolean"
          }
        }
      },
      "PermissionsResponse": {
        "required": [
          "permissions"
        ],
        "type": "object",
        "properties": {
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "Person": {
        "required": [
          "email",
          "firstName",
          "lastName",
          "address",
          "city",
          "state",
          "countryCode",
          "birthday",
          "identificationNumbers"
        ],
        "type": "object",
        "properties": {
          "email": {
            "maxLength": 128,
            "type": "string"
          },
          "phone": {
            "maxLength": 32,
            "type": [
              "null",
              "string"
            ]
          },
          "firstName": {
            "maxLength": 128,
            "type": [
              "null",
              "string"
            ]
          },
          "lastName": {
            "maxLength": 128,
            "type": [
              "null",
              "string"
            ]
          },
          "middleName": {
            "maxLength": 128,
            "type": [
              "null",
              "string"
            ]
          },
          "address": {
            "maxLength": 512,
            "type": [
              "null",
              "string"
            ]
          },
          "address2": {
            "maxLength": 512,
            "type": [
              "null",
              "string"
            ]
          },
          "city": {
            "maxLength": 128,
            "type": [
              "null",
              "string"
            ]
          },
          "state": {
            "maxLength": 128,
            "type": [
              "null",
              "string"
            ]
          },
          "countryCode": {
            "maxLength": 128,
            "type": [
              "null",
              "string"
            ]
          },
          "postalCode": {
            "maxLength": 32,
            "type": [
              "null",
              "string"
            ]
          },
          "birthday": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "citizenship": {
            "maxLength": 128,
            "type": [
              "null",
              "string"
            ]
          },
          "identificationNumbers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersonIdNumber"
            }
          },
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "created": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          },
          "updated": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          }
        }
      },
      "PersonAdditionalData": {
        "type": "object"
      },
      "PersonBasic": {
        "required": [
          "firstName",
          "lastName",
          "email",
          "phoneNumber"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "maxLength": 50,
            "type": "string"
          },
          "lastName": {
            "maxLength": 50,
            "type": "string"
          },
          "middleName": {
            "type": [
              "null",
              "string"
            ]
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "phoneNumber": {
            "type": "string"
          }
        }
      },
      "PersonIdNumber": {
        "required": [
          "issuingCountryCode",
          "identificationNumber",
          "issueDate",
          "expirationDate",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/PersonIdNumberType"
          },
          "issuingCountryCode": {
            "type": "string"
          },
          "identificationNumber": {
            "type": "string"
          },
          "issueDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "expirationDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "PersonIdNumberEntity": {
        "required": [
          "type",
          "issuingCountryCode",
          "identificationNumber",
          "issueDate",
          "expirationDate"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/PersonIdNumberType"
          },
          "issuingCountryCode": {
            "type": "string"
          },
          "identificationNumber": {
            "type": "string"
          },
          "issueDate": {
            "type": "string",
            "format": "date-time"
          },
          "expirationDate": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "PersonIdNumberType": {
        "enum": [
          "driversLicense",
          "passport",
          "passportCard",
          "residenceCard",
          "socialSecurityNumber",
          "taxIdentificationNumber",
          "identificationCard"
        ],
        "x-enumNames": [
          "DriversLicense",
          "Passport",
          "PassportCard",
          "ResidenceCard",
          "SocialSecurityNumber",
          "TaxIdentificationNumber",
          "IdentificationCard"
        ]
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": [
              "null",
              "string"
            ]
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "detail": {
            "type": [
              "null",
              "string"
            ]
          },
          "instance": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ProofOfAddressType": {
        "enum": [
          "utilityBill",
          "bankStatement",
          "other"
        ],
        "x-enumNames": [
          "UtilityBill",
          "BankStatement",
          "Other"
        ]
      },
      "ProofOfBankAccountType": {
        "enum": [
          "colorizedVoidCheck",
          "bankLetter"
        ],
        "x-enumNames": [
          "ColorizedVoidCheck",
          "BankLetter"
        ]
      },
      "ProofOfBusinessType": {
        "enum": [
          "businessLicense",
          "articlesOfIncorporation"
        ],
        "x-enumNames": [
          "BusinessLicense",
          "ArticlesOfIncorporation"
        ]
      },
      "QuoteRequest": {
        "required": [
          "paymentCurrencyId",
          "sessionKey"
        ],
        "type": "object",
        "properties": {
          "paymentCurrencyId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "The unique identifier for the currency in which the payment is being made.",
            "format": "int32"
          },
          "sessionKey": {
            "minLength": 10,
            "type": "string",
            "description": "The session key associated with the transaction. Must be at least 10 characters long."
          },
          "customer": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "description": "Information related to the customer involved in the transaction.",
                "$ref": "#/components/schemas/CustomerRequest"
              }
            ],
            "description": "Information related to the customer involved in the transaction."
          },
          "returnBaseUrl": {
            "type": [
              "null",
              "string"
            ],
            "description": "Base URL to use for hosted payment page provider redirects."
          },
          "deviceOs": {
            "type": [
              "null",
              "string"
            ],
            "description": "Operating system of the payer's device (`ios` or `android`) when the page is opened in a mobile\nbrowser. Drives the wallet app-switch flow for Citcon alternative tenders; omit for desktop (QR) payers."
          }
        }
      },
      "QuoteResponse": {
        "required": [
          "paymentCode",
          "requestedAmountDetails",
          "paymentAddress",
          "qrTemplate",
          "exchangeRate",
          "expiration"
        ],
        "type": "object",
        "properties": {
          "paymentCode": {
            "type": "string"
          },
          "requestedAmountDetails": {
            "$ref": "#/components/schemas/RequestedAmountDetails"
          },
          "paymentAddress": {
            "type": "string"
          },
          "qrTemplate": {
            "type": "string"
          },
          "exchangeRate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "expiration": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "RebateDistributionBlockedReason": {
        "enum": [
          "partnerNetNotPositive",
          "representingMerchantNotFound",
          "representingMerchantInactive",
          "missingBankDetails",
          "unsupportedBankAccountType",
          "originationRejected",
          "originationAmbiguous",
          "payoutReturned"
        ],
        "x-enumNames": [
          "PartnerNetNotPositive",
          "RepresentingMerchantNotFound",
          "RepresentingMerchantInactive",
          "MissingBankDetails",
          "UnsupportedBankAccountType",
          "OriginationRejected",
          "OriginationAmbiguous",
          "PayoutReturned"
        ]
      },
      "RebateDistributionStatus": {
        "enum": [
          "assessed",
          "paying",
          "paid",
          "blocked",
          "cancelled"
        ],
        "x-enumNames": [
          "Assessed",
          "Paying",
          "Paid",
          "Blocked",
          "Cancelled"
        ]
      },
      "RebateDistributionSummaryReportAccountRow": {
        "required": [
          "accountId",
          "accountType",
          "enrolledMerchantCount",
          "rebateCount",
          "regularCount",
          "rebateAmount"
        ],
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string"
          },
          "accountType": {
            "$ref": "#/components/schemas/ReportAccountType"
          },
          "accountName": {
            "type": [
              "null",
              "string"
            ]
          },
          "enrolledMerchantCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Merchants under the account currently enrolled in the rebate program; 0 or 1 for merchant rows.",
            "format": "int32"
          },
          "rebateCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of rebate payments in range.",
            "format": "int32"
          },
          "regularCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of non-rebate payments in range.",
            "format": "int32"
          },
          "rebateAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Sum of consumer-paid totals across the rebate payments (USD).",
            "format": "double"
          }
        },
        "description": "Participation aggregates for one account (direct sub-partner or merchant)."
      },
      "RebateDistributionSummaryReportAccountSummaryResult": {
        "required": [
          "data",
          "totalEnrolledMerchants",
          "totalRebateCount",
          "totalRegularCount",
          "totalRebateAmount"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RebateDistributionSummaryReportAccountRow"
            },
            "description": "One row per direct child with rebate enrollment or payment activity: sub-partners aggregate their whole\nsubtree, merchants are the partner's own. Partners sort first, then merchants, by name."
          },
          "totalEnrolledMerchants": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalRebateCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalRegularCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "totalRebateAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        },
        "description": "Rebate program participation rolled up per account one level below the requested partner: which merchants\nare enrolled, and rebate vs regular payment volumes. Volumes count payments of any status in range unless a\nstatus filter is applied."
      },
      "RebateDistributionSummaryReportColumn": {
        "enum": [
          "period",
          "merchantId",
          "merchantName",
          "paymentCount",
          "total",
          "targetRebate",
          "merchantPortion",
          "rebateFee",
          "partnerNet"
        ],
        "x-enumNames": [
          "Period",
          "MerchantId",
          "MerchantName",
          "PaymentCount",
          "Total",
          "TargetRebate",
          "MerchantPortion",
          "RebateFee",
          "PartnerNet"
        ]
      },
      "RebateDistributionSummaryReportDistributionRow": {
        "required": [
          "partnerId",
          "cutoffDate",
          "status",
          "assessedAt",
          "totalTargetRebate",
          "totalRebateFees",
          "totalPartnerNet",
          "totalAdjustments",
          "netPayable"
        ],
        "type": "object",
        "properties": {
          "cutoffDate": {
            "type": "string",
            "description": "Business date the assessment ran on; the distribution covers the settlements funded before\n            it that no earlier distribution carried.",
            "format": "date"
          },
          "partnerId": {
            "type": "string"
          },
          "partnerName": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/RebateDistributionStatus"
          },
          "blockedReason": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RebateDistributionBlockedReason"
              }
            ]
          },
          "assessedAt": {
            "type": "string",
            "format": "date-time"
          },
          "totalTargetRebate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalRebateFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalPartnerNet": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Assessed amount payable: TotalTargetRebate − TotalRebateFees. Never rewritten.",
            "format": "double"
          },
          "totalAdjustments": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Sum of signed post-assessment corrections (e.g. a refund that landed after assessment).",
            "format": "double"
          },
          "netPayable": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "What the payout actually credits: TotalPartnerNet plus adjustments.",
            "format": "double"
          }
        },
        "description": "One partner's distribution: the assessed snapshot plus post-assessment corrections."
      },
      "RebateDistributionSummaryReportPeriodRow": {
        "required": [
          "periodStart",
          "periodEnd",
          "count",
          "total",
          "targetRebate",
          "merchantPortion",
          "rebateFee",
          "partnerNet"
        ],
        "type": "object",
        "properties": {
          "periodStart": {
            "type": "string",
            "description": "First day of the bucket in the configured business time zone, clamped to the requested range.",
            "format": "date"
          },
          "periodEnd": {
            "type": "string",
            "description": "Last day of the bucket (inclusive), clamped to the requested range.",
            "format": "date"
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of assessable rebate payments in the bucket.",
            "format": "int32"
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "targetRebate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "merchantPortion": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "rebateFee": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "partnerNet": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "effectiveRebateRatio": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "description": "TargetRebate / Total for the bucket, rounded to 4 decimals; null when there is no volume.",
            "format": "double"
          }
        },
        "description": "Aggregates for one period bucket of the rebate distribution summary report."
      },
      "RebateDistributionSummaryReportPeriodSummaryResult": {
        "required": [
          "interval",
          "data",
          "totalCount",
          "totalAmount",
          "totalTargetRebate",
          "totalMerchantPortion",
          "totalRebateFees",
          "totalPartnerNet"
        ],
        "type": "object",
        "properties": {
          "interval": {
            "$ref": "#/components/schemas/ReportInterval"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RebateDistributionSummaryReportPeriodRow"
            },
            "description": "One row per period bucket with activity, newest first."
          },
          "totalCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of assessable rebate payments across all buckets.",
            "format": "int32"
          },
          "totalAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalTargetRebate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalMerchantPortion": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalRebateFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalPartnerNet": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "effectiveRebateRatio": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "description": "TotalTargetRebate / TotalAmount, rounded to 4 decimals; null when there is no volume.",
            "format": "double"
          }
        },
        "description": "Rebate distribution summary report bucketed by period: funded rebate volume over time. All amounts are the\nexact USD values snapshotted at payment creation, attributed to the settlement funding date."
      },
      "RebateDistributionSummaryReportResult": {
        "required": [
          "totalAmount",
          "totalTargetRebate",
          "totalMerchantPortion",
          "totalRebateFees",
          "totalPartnerNet",
          "distributions",
          "data",
          "total",
          "page"
        ],
        "type": "object",
        "properties": {
          "totalAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Sum of consumer totals across all matching rows (USD).",
            "format": "double"
          },
          "totalTargetRebate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Sum of Target Rebate across all matching rows (USD).",
            "format": "double"
          },
          "totalMerchantPortion": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Sum of Merchant Portion across all matching rows (USD).",
            "format": "double"
          },
          "totalRebateFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Sum of rebate fees across all matching rows (USD).",
            "format": "double"
          },
          "totalPartnerNet": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Sum of partner net across all matching rows (USD).",
            "format": "double"
          },
          "distributions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RebateDistributionSummaryReportDistributionRow"
            },
            "description": "The distributions generated for the partners and periods in range — the payee-level statements the\nmerchant rows reconcile against. A distribution spans all of its partner's merchants, so these figures\nare unaffected by the merchant filter and are never summed into the row totals above."
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RebateDistributionSummaryReportRow"
            }
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "RebateDistributionSummaryReportRow": {
        "required": [
          "period",
          "merchantId",
          "paymentCount",
          "total",
          "targetRebate",
          "merchantPortion",
          "rebateFee",
          "partnerNet"
        ],
        "type": "object",
        "properties": {
          "period": {
            "type": "string",
            "description": "Report month, \"yyyy-MM\": the calendar month, in the configured business time zone, that the\n            payments' settlements were funded in."
          },
          "merchantId": {
            "type": "string"
          },
          "merchantName": {
            "type": [
              "null",
              "string"
            ]
          },
          "paymentCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of assessable rebate payments.",
            "format": "int32"
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Sum of the totals consumers paid.",
            "format": "double"
          },
          "targetRebate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Sum of Target Rebate (= Total − Merchant Portion under the locked identity).",
            "format": "double"
          },
          "merchantPortion": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Sum of the amounts settled to the merchant.",
            "format": "double"
          },
          "rebateFee": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Sum of rebate fees, deducted from Target Rebate at distribution.",
            "format": "double"
          },
          "partnerNet": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "TargetRebate − RebateFee.",
            "format": "double"
          }
        },
        "description": "One merchant's share of one report month. Amounts are sums of the exact USD values snapshotted at\npayment creation, over the month's assessable payments (rebate payments in settlements funded within the\nmonth, excluding refunded ones) — the same population the distribution assessment uses."
      },
      "RebateInfo": {
        "required": [
          "total",
          "targetRebate",
          "merchantPortion",
          "rebateFee"
        ],
        "type": "object",
        "properties": {
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "targetRebate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "merchantPortion": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "rebateFee": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "RebateRequest": {
        "type": "object",
        "properties": {
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "description": "The total amount the consumer pays. Must exactly equal the requested amount.",
            "format": "double"
          },
          "targetRebate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "description": "The rebate amount to withhold at settlement for later distribution to the partner.\nMust exactly equal Total minus MerchantPortion.",
            "format": "double"
          },
          "merchantPortion": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "description": "The exact amount to settle to the merchant daily.",
            "format": "double"
          }
        },
        "description": "Caller-provided rebate program amounts. When present, all three amounts are required."
      },
      "RebateTransactionReportColumn": {
        "enum": [
          "date",
          "time",
          "merchantName",
          "paymentCode",
          "status",
          "total",
          "targetRebate",
          "merchantPortion",
          "batchId",
          "settlementId"
        ],
        "x-enumNames": [
          "Date",
          "Time",
          "MerchantName",
          "PaymentCode",
          "Status",
          "Total",
          "TargetRebate",
          "MerchantPortion",
          "BatchId",
          "SettlementId"
        ]
      },
      "RebateTransactionReportResult": {
        "required": [
          "totalAmount",
          "totalTargetRebate",
          "totalMerchantPortion",
          "data",
          "total",
          "page"
        ],
        "type": "object",
        "properties": {
          "totalAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Sum of consumer totals across all matching rows (USD).",
            "format": "double"
          },
          "totalTargetRebate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Sum of Target Rebate across all matching rows (USD).",
            "format": "double"
          },
          "totalMerchantPortion": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Sum of Merchant Portion across all matching rows (USD).",
            "format": "double"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RebateTransactionReportRow"
            }
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "RebateTransactionReportRow": {
        "required": [
          "id",
          "paymentCode",
          "activityDate",
          "status",
          "total",
          "targetRebate",
          "merchantPortion"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "activityDate": {
            "type": "string",
            "description": "UTC timestamp the payment was created.",
            "format": "date-time"
          },
          "paymentCode": {
            "type": "string"
          },
          "status": {
            "description": "Payment status; FullyRefunded and PartiallyRefunded rows are excluded from month-end\n            rebate distribution.",
            "$ref": "#/components/schemas/PaymentStatus"
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "The total amount the consumer pays.",
            "format": "double"
          },
          "targetRebate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "The rebate amount withheld at settlement for later distribution to the partner.",
            "format": "double"
          },
          "merchantPortion": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "The exact amount settled to the merchant.",
            "format": "double"
          },
          "batchId": {
            "type": [
              "null",
              "string"
            ]
          },
          "settlementId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Settlement the payment's batch rolled into; null until the batch is settled."
          },
          "merchantId": {
            "type": [
              "null",
              "string"
            ]
          },
          "merchantName": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "description": "One rebate payment in the rebate transaction detail report. Amounts are the exact USD values\n            snapshotted at payment creation."
      },
      "ReceiptMethodRequest": {
        "required": [
          "sendViaSms",
          "sendViaEmail"
        ],
        "type": "object",
        "properties": {
          "sendViaSms": {
            "type": "boolean"
          },
          "sendViaEmail": {
            "type": "boolean"
          }
        }
      },
      "ReceiptPaymentStatus": {
        "enum": [
          "expired",
          "underpaid",
          "overpaid",
          "invalid",
          "cancelled"
        ],
        "x-enumNames": [
          "Expired",
          "Underpaid",
          "Overpaid",
          "Invalid",
          "Cancelled"
        ]
      },
      "ReceiptSummary": {
        "required": [
          "merchant_name",
          "payment_status",
          "payment_date",
          "payment_code",
          "total_price",
          "amount_due",
          "sender_address",
          "amount_sent",
          "refund_amount"
        ],
        "type": "object",
        "properties": {
          "merchant_name": {
            "type": "string"
          },
          "payment_status": {
            "$ref": "#/components/schemas/ReceiptPaymentStatus"
          },
          "payment_date": {
            "type": "string"
          },
          "payment_code": {
            "type": "string"
          },
          "total_price": {
            "type": "string"
          },
          "amount_due": {
            "type": "string"
          },
          "sender_address": {
            "type": "string",
            "description": "Sender wallet address, already shortened to first-4…last-4. The full address is never exposed."
          },
          "amount_sent": {
            "type": "string"
          },
          "refund_amount": {
            "type": "string"
          }
        },
        "description": "Redacted, display-ready payment receipt for the unauthenticated refund-claim flow. Every field is\nrendered as the customer should see it; the sender address arrives pre-shortened and the full\naddress is never included."
      },
      "Refund": {
        "required": [
          "paymentId",
          "amountInfo",
          "refundType",
          "statusCode",
          "currencyId",
          "refundAmounts"
        ],
        "type": "object",
        "properties": {
          "paymentId": {
            "type": "string"
          },
          "statusCode": {
            "$ref": "#/components/schemas/RefundStatus"
          },
          "refundCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "amountInfo": {
            "$ref": "#/components/schemas/AmountInfo"
          },
          "refundType": {
            "$ref": "#/components/schemas/RefundType"
          },
          "originalPaymentStatus": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "description": "Payment status at claim time (Underpaid, Overpaid, Invalid, …), frozen here because\n            completing the refund rewrites the payment to Partially/FullyRefunded. Null on refunds created\n            before it was captured.",
                "$ref": "#/components/schemas/PaymentStatus"
              }
            ],
            "description": "Payment status at claim time (Underpaid, Overpaid, Invalid, …), frozen here because\n            completing the refund rewrites the payment to Partially/FullyRefunded. Null on refunds created\n            before it was captured."
          },
          "customerEmail": {
            "maxLength": 128,
            "type": [
              "null",
              "string"
            ]
          },
          "customerPhone": {
            "maxLength": 32,
            "type": [
              "null",
              "string"
            ]
          },
          "remarks": {
            "type": [
              "null",
              "string"
            ]
          },
          "url": {
            "type": [
              "null",
              "string"
            ]
          },
          "pin": {
            "type": [
              "null",
              "string"
            ]
          },
          "processed": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "quoteId": {
            "type": [
              "null",
              "string"
            ]
          },
          "transferId": {
            "type": [
              "null",
              "string"
            ]
          },
          "transactionHash": {
            "type": [
              "null",
              "string"
            ],
            "description": "On-chain hash of the claim transfer, captured when the gateway reports the refund complete."
          },
          "claimCost": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "description": "Network cost of the claim transfer, denominated like AmountInfo Refund.AmountInfo.",
                "$ref": "#/components/schemas/AmountInfo"
              }
            ],
            "description": "Network cost of the claim transfer, denominated like AmountInfo Refund.AmountInfo."
          },
          "walletAddress": {
            "type": [
              "null",
              "string"
            ]
          },
          "currencyId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "customerId": {
            "type": [
              "null",
              "string"
            ]
          },
          "fee": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "refundAmounts": {
            "$ref": "#/components/schemas/RefundAmounts"
          },
          "risk": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PaymentRisk"
              }
            ]
          },
          "kyc": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RefundKycResult"
              }
            ]
          },
          "personalInfo": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RefundPersonalInfo"
              }
            ]
          },
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "created": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          },
          "updated": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          }
        }
      },
      "RefundAmounts": {
        "required": [
          "feeAmount",
          "inLiabilityCurrency"
        ],
        "type": "object",
        "properties": {
          "feeAmount": {
            "$ref": "#/components/schemas/AmountInfo"
          },
          "inLiabilityCurrency": {
            "$ref": "#/components/schemas/AmountInfo"
          }
        }
      },
      "RefundClaimStatus": {
        "enum": [
          "eligible",
          "fee_acceptance_required",
          "pending_approval",
          "processing",
          "completed",
          "expired",
          "rejected",
          "invalid_or_claimed"
        ],
        "x-enumNames": [
          "Eligible",
          "FeeAcceptanceRequired",
          "PendingApproval",
          "Processing",
          "Completed",
          "Expired",
          "Rejected",
          "InvalidOrClaimed"
        ]
      },
      "RefundKycResult": {
        "required": [
          "level",
          "assessmentDate",
          "isSkipped"
        ],
        "type": "object",
        "properties": {
          "level": {
            "$ref": "#/components/schemas/RiskLevel"
          },
          "assessmentDate": {
            "type": "string",
            "format": "date-time"
          },
          "isSkipped": {
            "type": "boolean"
          }
        }
      },
      "RefundLifecycleStatus": {
        "enum": [
          "notStarted",
          "emailSent",
          "customerClaimed",
          "processing",
          "completed",
          "failed",
          "rejected"
        ],
        "x-enumNames": [
          "NotStarted",
          "EmailSent",
          "CustomerClaimed",
          "Processing",
          "Completed",
          "Failed",
          "Rejected"
        ]
      },
      "RefundPersonalInfo": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastName": {
            "type": [
              "null",
              "string"
            ]
          },
          "address": {
            "type": [
              "null",
              "string"
            ]
          },
          "address2": {
            "type": [
              "null",
              "string"
            ]
          },
          "country": {
            "type": [
              "null",
              "string"
            ]
          },
          "city": {
            "type": [
              "null",
              "string"
            ]
          },
          "state": {
            "type": [
              "null",
              "string"
            ]
          },
          "zip": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "RefundQuoteResponse": {
        "required": [
          "fee",
          "expires_at",
          "asset"
        ],
        "type": "object",
        "properties": {
          "fee": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          },
          "asset": {
            "type": "string"
          }
        }
      },
      "RefundReceiptBridgeTransfer": {
        "required": [
          "bridge_transfer_id",
          "customer_name",
          "submitted",
          "incoming_funds",
          "outgoing_funds",
          "destination"
        ],
        "type": "object",
        "properties": {
          "bridge_transfer_id": {
            "type": "string"
          },
          "customer_name": {
            "type": "string",
            "description": "The merchant's Bridge legal entity, on whose behalf the transfer was made."
          },
          "submitted": {
            "type": "string"
          },
          "incoming_funds": {
            "type": "string"
          },
          "outgoing_funds": {
            "type": "string"
          },
          "destination": {
            "type": "string",
            "description": "Claim wallet address, already shortened to first-4…last-4."
          }
        },
        "description": "Display-ready Bridge transfer block for a refund disbursed through Bridge. Mirrors the email's\n            `BridgeTransferCardModel` field for field and is mapped to it by convention."
      },
      "RefundReceiptResponse": {
        "required": [
          "status",
          "merchant_name",
          "claim_type",
          "date",
          "payment_code",
          "network",
          "claim_address",
          "claim_cost",
          "funds_claimed",
          "amount_returned",
          "claim_cost_deducted"
        ],
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "merchant_name": {
            "type": "string"
          },
          "claim_type": {
            "type": "string",
            "description": "What the customer claimed against, as receipt-ready wording: \"underpayment\",\n            \"overpayment\", \"invalid payment\", … — \"refund\" for legacy refunds that predate the snapshot."
          },
          "date": {
            "type": "string"
          },
          "payment_code": {
            "type": "string"
          },
          "network": {
            "type": "string"
          },
          "claim_address": {
            "type": "string",
            "description": "Claim wallet address, already shortened to first-4…last-4. The full address is never exposed."
          },
          "tx_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "tx_url": {
            "type": [
              "null",
              "string"
            ]
          },
          "claim_cost": {
            "type": "string",
            "description": "Network cost of the claim, pre-formatted with its currency code (e.g. \"0.0001 BTC\")."
          },
          "funds_claimed": {
            "type": "string",
            "description": "Gross claim amount before the claim cost, pre-formatted with its currency code.\n            Presented as \"Claim Amount\"; the name is kept for the existing claim-flow contract."
          },
          "amount_returned": {
            "type": "string",
            "description": "What was sent to the customer's wallet, pre-formatted with its currency code. Presented as\n            \"Amount Sent\"; named to keep it distinct from `ReceiptSummary.AmountSent`, which is what the\n            customer originally paid in."
          },
          "claim_cost_deducted": {
            "type": "boolean",
            "description": "True when the rail funds the claim cost out of the amount sent (Bridge), so\n            string RefundReceiptResponse.AmountReturned is the claim amount less the cost. Voltage pays the network fee on top\n            and sends the full claim amount."
          },
          "bridge_transfer": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "description": "Bridge transfer details, present only when the refund was disbursed through Bridge.",
                "$ref": "#/components/schemas/RefundReceiptBridgeTransfer"
              }
            ],
            "description": "Bridge transfer details, present only when the refund was disbursed through Bridge."
          }
        },
        "description": "Redacted, display-ready receipt for a completed refund claim. The same data backs both the success\nscreen's Claim Receipt view and the emailed receipt, so the two can never diverge."
      },
      "RefundStatus": {
        "enum": [
          "created",
          "pendingApproval",
          "processing",
          "completed",
          "cancelled",
          "invalid",
          "pendingVerification"
        ],
        "x-enumNames": [
          "Created",
          "PendingApproval",
          "Processing",
          "Completed",
          "Cancelled",
          "Invalid",
          "PendingVerification"
        ]
      },
      "RefundType": {
        "enum": [
          "full",
          "partial",
          "underpaid",
          "overpaid",
          "late"
        ],
        "x-enumNames": [
          "Full",
          "Partial",
          "Underpaid",
          "Overpaid",
          "Late"
        ]
      },
      "RegisterWebhookRequest": {
        "required": [
          "endpointUrl",
          "eventTypes"
        ],
        "type": "object",
        "properties": {
          "endpointUrl": {
            "type": "string",
            "format": "uri"
          },
          "eventTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartnerWebhookEventType"
            }
          }
        }
      },
      "RegisterWebhookResponse": {
        "required": [
          "eventTypes",
          "partnerId",
          "endpointUrl",
          "isEnabled",
          "webhookSecret"
        ],
        "type": "object",
        "properties": {
          "partnerId": {
            "type": "string"
          },
          "endpointUrl": {
            "type": "string"
          },
          "isEnabled": {
            "type": "boolean"
          },
          "webhookSecret": {
            "type": "string"
          },
          "eventTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartnerWebhookEventType"
            }
          }
        }
      },
      "ReportAccountType": {
        "enum": [
          "partner",
          "merchant"
        ],
        "x-enumNames": [
          "Partner",
          "Merchant"
        ]
      },
      "ReportInterval": {
        "enum": [
          "daily",
          "weekly",
          "monthly"
        ],
        "x-enumNames": [
          "Daily",
          "Weekly",
          "Monthly"
        ]
      },
      "RequestedAmountDetails": {
        "required": [
          "inPaymentCurrency",
          "inRequestedCurrency"
        ],
        "type": "object",
        "properties": {
          "inPaymentCurrency": {
            "$ref": "#/components/schemas/AmountInfo"
          },
          "inRequestedCurrency": {
            "$ref": "#/components/schemas/AmountInfo"
          }
        }
      },
      "RequestedAmountDetailsWithCurrency": {
        "required": [
          "inPaymentCurrency",
          "inRequestedCurrency"
        ],
        "type": "object",
        "properties": {
          "inPaymentCurrency": {
            "$ref": "#/components/schemas/AmountInfoWithCurrency"
          },
          "inRequestedCurrency": {
            "$ref": "#/components/schemas/AmountInfoWithCurrency"
          }
        }
      },
      "RiskLevel": {
        "enum": [
          "low",
          "medium",
          "high",
          "veryHigh"
        ],
        "x-enumNames": [
          "Low",
          "Medium",
          "High",
          "VeryHigh"
        ]
      },
      "SetEnabledRequest": {
        "required": [
          "isEnabled"
        ],
        "type": "object",
        "properties": {
          "isEnabled": {
            "type": "boolean"
          }
        }
      },
      "SetMonthlyMaintenanceFeeRequest": {
        "required": [
          "sellRate"
        ],
        "type": "object",
        "properties": {
          "sellRate": {
            "maximum": 99999,
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        },
        "description": "Request to set a partner's monthly maintenance fee (the SaaS fee rate billed per boarded merchant)."
      },
      "SettlementBeneficiary": {
        "required": [
          "type",
          "partnerId"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/SettlementBeneficiaryType"
          },
          "partnerId": {
            "type": "string"
          }
        }
      },
      "SettlementBeneficiaryType": {
        "enum": [
          "self",
          "partner"
        ],
        "x-enumNames": [
          "Self",
          "Partner"
        ]
      },
      "SettlementReportAccountRow": {
        "required": [
          "accountId",
          "accountType",
          "count",
          "grossAmount",
          "transactionFees",
          "depositFees",
          "adjustments",
          "netAmount"
        ],
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string"
          },
          "accountType": {
            "$ref": "#/components/schemas/ReportAccountType"
          },
          "accountName": {
            "type": [
              "null",
              "string"
            ]
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of settlements under the account.",
            "format": "int32"
          },
          "grossAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "transactionFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "depositFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "adjustments": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "netAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        },
        "description": "Aggregates for one account (direct sub-partner or merchant) of the settlement report."
      },
      "SettlementReportAccountSummaryResult": {
        "required": [
          "data",
          "totalCount",
          "totalGrossAmount",
          "totalTransactionFees",
          "totalDepositFees",
          "totalAdjustments",
          "totalNetAmount"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SettlementReportAccountRow"
            },
            "description": "One row per direct child with activity: sub-partners aggregate their whole subtree, merchants are the\npartner's own. Partners sort first, then merchants, by name."
          },
          "totalCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of settlements across all rows.",
            "format": "int32"
          },
          "totalGrossAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalTransactionFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalDepositFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalAdjustments": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalNetAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        },
        "description": "Settlement report rolled up per account one level below the requested partner. All amounts are USD payable\nfigures."
      },
      "SettlementReportColumn": {
        "enum": [
          "date",
          "time",
          "merchantName",
          "status",
          "type",
          "batchCount",
          "grossAmount",
          "transactionFees",
          "depositFees",
          "adjustments",
          "netAmount",
          "settlementDate",
          "targetRebate",
          "rebateTransactionCount"
        ],
        "x-enumNames": [
          "Date",
          "Time",
          "MerchantName",
          "Status",
          "Type",
          "BatchCount",
          "GrossAmount",
          "TransactionFees",
          "DepositFees",
          "Adjustments",
          "NetAmount",
          "SettlementDate",
          "TargetRebate",
          "RebateTransactionCount"
        ]
      },
      "SettlementReportPeriodRow": {
        "required": [
          "periodStart",
          "periodEnd",
          "count",
          "grossAmount",
          "transactionFees",
          "depositFees",
          "adjustments",
          "netAmount"
        ],
        "type": "object",
        "properties": {
          "periodStart": {
            "type": "string",
            "description": "First UTC day of the bucket, clamped to the requested range.",
            "format": "date"
          },
          "periodEnd": {
            "type": "string",
            "description": "Last UTC day of the bucket (inclusive), clamped to the requested range.",
            "format": "date"
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of settlements in the bucket.",
            "format": "int32"
          },
          "grossAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "transactionFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "depositFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "adjustments": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "netAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        },
        "description": "Aggregates for one period bucket of the settlement report."
      },
      "SettlementReportPeriodSummaryResult": {
        "required": [
          "interval",
          "data",
          "totalCount",
          "totalGrossAmount",
          "totalTransactionFees",
          "totalDepositFees",
          "totalAdjustments",
          "totalNetAmount"
        ],
        "type": "object",
        "properties": {
          "interval": {
            "$ref": "#/components/schemas/ReportInterval"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SettlementReportPeriodRow"
            },
            "description": "One row per period bucket with activity, newest first."
          },
          "totalCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of settlements across all buckets.",
            "format": "int32"
          },
          "totalGrossAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalTransactionFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalDepositFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalAdjustments": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalNetAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        },
        "description": "Settlement report bucketed by period. All amounts are USD payable figures."
      },
      "SettlementReportResult": {
        "required": [
          "totalGrossAmount",
          "totalTransactionFees",
          "totalDepositFees",
          "totalAdjustments",
          "totalNetAmount",
          "data",
          "total",
          "page"
        ],
        "type": "object",
        "properties": {
          "totalGrossAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Sums across all matching rows (not just the returned page), in USD.",
            "format": "double"
          },
          "totalTransactionFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalDepositFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalAdjustments": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "totalNetAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SettlementReportRow"
            }
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "page": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "SettlementReportRow": {
        "required": [
          "id",
          "activityDate",
          "status",
          "type",
          "batchCount",
          "grossAmount",
          "transactionFees",
          "depositFees",
          "adjustments",
          "netAmount",
          "targetRebate",
          "rebateTransactionCount"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "activityDate": {
            "type": "string",
            "description": "UTC timestamp the settlement was created.",
            "format": "date-time"
          },
          "status": {
            "$ref": "#/components/schemas/SettlementState"
          },
          "type": {
            "description": "Currency type of the payments funding the settlement.",
            "$ref": "#/components/schemas/CurrencyType"
          },
          "batchCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of payment batches rolled up into the settlement.",
            "format": "int32"
          },
          "grossAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "transactionFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "depositFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "adjustments": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Net effect of manual adjustments; positive raises the payable amount, negative lowers it.",
            "format": "double"
          },
          "netAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Net payable amount.",
            "format": "double"
          },
          "targetRebate": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Sum of Target Rebate across the settlement's rebate payments; not part of the payable math.",
            "format": "double"
          },
          "rebateTransactionCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Number of rebate payments in the settlement.",
            "format": "int32"
          },
          "settlementDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "UTC date the settlement was funded; null while it is still pending or held.",
            "format": "date-time"
          },
          "merchantId": {
            "type": [
              "null",
              "string"
            ]
          },
          "merchantName": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "description": "One settlement in the settlement report. All amounts are USD payable figures."
      },
      "SettlementResponse": {
        "required": [
          "id",
          "merchantId",
          "type",
          "status",
          "networkTypes",
          "batchIds",
          "batchCount",
          "grossFundableAmount",
          "totalTransactionFees",
          "depositFees",
          "totalFees",
          "adjustments",
          "netAdjustmentTotal",
          "netFundableAmount",
          "outgoingAchIds",
          "created",
          "updated"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "merchantId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "description": "Orderable."
          },
          "networkTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "type": "string",
            "description": "Orderable."
          },
          "holdReason": {
            "type": [
              "null",
              "string"
            ],
            "description": "Why the settlement is on hold; null unless string SettlementResponse.Status is Hold."
          },
          "batchIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "batchCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "Orderable.",
            "format": "int32"
          },
          "payoutId": {
            "type": [
              "null",
              "string"
            ]
          },
          "grossFundableAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Orderable.",
            "format": "double"
          },
          "totalTransactionFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Orderable.",
            "format": "double"
          },
          "depositFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Orderable.",
            "format": "double"
          },
          "totalFees": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Transaction and deposit fees combined, as a positive amount. Orderable.",
            "format": "double"
          },
          "adjustments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Adjustment"
            }
          },
          "netAdjustmentTotal": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Orderable.",
            "format": "double"
          },
          "netFundableAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Orderable.",
            "format": "double"
          },
          "outgoingAchIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "settlementDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          },
          "created": {
            "type": "string",
            "description": "Orderable.",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "description": "Orderable.",
            "format": "date-time"
          }
        }
      },
      "SettlementState": {
        "enum": [
          "cleared",
          "hold",
          "dispatched",
          "paid"
        ],
        "x-enumNames": [
          "Cleared",
          "Hold",
          "Dispatched",
          "Paid"
        ]
      },
      "ShortMerchantResponse": {
        "required": [
          "companyName",
          "displayLogo"
        ],
        "type": "object",
        "properties": {
          "companyName": {
            "type": "string"
          },
          "companyLogoPath": {
            "type": [
              "null",
              "string"
            ]
          },
          "displayLogo": {
            "type": "boolean"
          }
        }
      },
      "ShortOwnerInfo": {
        "required": [
          "lastName",
          "firstName",
          "email",
          "phoneNumber"
        ],
        "type": "object",
        "properties": {
          "lastName": {
            "maxLength": 26,
            "type": "string"
          },
          "firstName": {
            "maxLength": 26,
            "type": "string"
          },
          "email": {
            "pattern": "^[a-zA-Z0-9._%+'-]+@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.[a-zA-Z]{2,}$",
            "type": "string"
          },
          "phoneNumber": {
            "type": "string"
          }
        }
      },
      "SmsTemplate": {
        "required": [
          "name",
          "description",
          "template"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 32,
            "type": "string"
          },
          "description": {
            "maxLength": 256,
            "type": "string"
          },
          "template": {
            "maxLength": 512,
            "type": "string"
          },
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "created": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          },
          "updated": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          }
        }
      },
      "SortDirection": {
        "enum": [
          "asc",
          "desc"
        ],
        "x-enumNames": [
          "Asc",
          "Desc"
        ]
      },
      "Stakeholder": {
        "required": [
          "lastName",
          "firstName",
          "dateOfBirth",
          "citizenship",
          "ownershipType",
          "idType",
          "idNumber",
          "countryOfIssuance",
          "taxIdType",
          "taxIdNumber",
          "proofOfIdentityType",
          "proofOfAddressType",
          "address",
          "email",
          "phoneNumber",
          "jobTitle",
          "isApplicationSigner"
        ],
        "type": "object",
        "properties": {
          "lastName": {
            "maxLength": 26,
            "type": "string"
          },
          "firstName": {
            "maxLength": 26,
            "type": "string"
          },
          "middleName": {
            "type": [
              "null",
              "string"
            ]
          },
          "suffix": {
            "type": [
              "null",
              "string"
            ]
          },
          "dateOfBirth": {
            "type": "string",
            "format": "date-time"
          },
          "citizenship": {
            "type": "string"
          },
          "ownershipPercentage": {
            "maximum": 100,
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "ownershipType": {
            "$ref": "#/components/schemas/OwnershipType"
          },
          "idType": {
            "$ref": "#/components/schemas/IdType"
          },
          "idNumber": {
            "type": "string"
          },
          "countryOfIssuance": {
            "type": "string"
          },
          "taxIdType": {
            "$ref": "#/components/schemas/TaxIdType"
          },
          "taxIdNumber": {
            "pattern": "^(?!000|666|9\\d{2})\\d{3}(?!00)\\d{2}(?!0000)\\d{4}$",
            "type": "string"
          },
          "proofOfIdentityType": {
            "$ref": "#/components/schemas/IdType"
          },
          "proofOfAddressType": {
            "$ref": "#/components/schemas/ProofOfAddressType"
          },
          "address": {
            "$ref": "#/components/schemas/MailingAddress"
          },
          "email": {
            "pattern": "^[a-zA-Z0-9._%+'-]+@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.[a-zA-Z]{2,}$",
            "type": "string"
          },
          "phoneNumber": {
            "type": "string"
          },
          "jobTitle": {
            "type": "string"
          },
          "isApplicationSigner": {
            "type": "boolean"
          }
        }
      },
      "StakeholderRequest": {
        "required": [
          "lastName",
          "firstName",
          "dateOfBirth",
          "citizenship",
          "ownershipPercentage",
          "ownershipType",
          "idType",
          "idNumber",
          "countryOfIssuance",
          "taxIdType",
          "taxIdNumber",
          "proofOfIdentityType",
          "proofOfAddressType",
          "address",
          "email",
          "phoneNumber",
          "jobTitle",
          "isApplicationSigner"
        ],
        "type": "object",
        "properties": {
          "lastName": {
            "maxLength": 26,
            "type": "string"
          },
          "firstName": {
            "maxLength": 26,
            "type": "string"
          },
          "middleName": {
            "type": [
              "null",
              "string"
            ]
          },
          "suffix": {
            "type": [
              "null",
              "string"
            ]
          },
          "dateOfBirth": {
            "type": "string",
            "format": "date-time"
          },
          "citizenship": {
            "type": "string"
          },
          "ownershipPercentage": {
            "maximum": 100,
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "ownershipType": {
            "$ref": "#/components/schemas/OwnershipType"
          },
          "idType": {
            "$ref": "#/components/schemas/IdType"
          },
          "idNumber": {
            "type": "string"
          },
          "countryOfIssuance": {
            "type": "string"
          },
          "taxIdType": {
            "$ref": "#/components/schemas/TaxIdType"
          },
          "taxIdNumber": {
            "pattern": "^(?!000|666|9\\d{2})\\d{3}(?!00)\\d{2}(?!0000)\\d{4}$",
            "type": "string"
          },
          "proofOfIdentityType": {
            "$ref": "#/components/schemas/IdType"
          },
          "proofOfAddressType": {
            "$ref": "#/components/schemas/ProofOfAddressType"
          },
          "address": {
            "$ref": "#/components/schemas/MailingAddress"
          },
          "email": {
            "pattern": "^[a-zA-Z0-9._%+'-]+@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.[a-zA-Z]{2,}$",
            "type": "string"
          },
          "phoneNumber": {
            "type": "string"
          },
          "jobTitle": {
            "type": "string"
          },
          "isApplicationSigner": {
            "type": "boolean"
          }
        }
      },
      "StartRefundRequest": {
        "required": [
          "payment_code",
          "email_id",
          "wallet_address"
        ],
        "type": "object",
        "properties": {
          "payment_code": {
            "type": "string"
          },
          "email_id": {
            "type": "string"
          },
          "claim_token": {
            "type": [
              "null",
              "string"
            ],
            "description": "The emailed refund-claim token; required — it is the possession factor for the payout path."
          },
          "wallet_address": {
            "type": "string"
          },
          "amount_info": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/AmountInfo"
              }
            ]
          },
          "remarks": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "StartRefundResponse": {
        "required": [
          "refund",
          "addressMatched",
          "feeAcceptanceRequired"
        ],
        "type": "object",
        "properties": {
          "refund": {
            "$ref": "#/components/schemas/Refund"
          },
          "addressMatched": {
            "type": "boolean",
            "description": "True when the entered wallet address matches the payment's original sender address. The claim UI\n            branches on this: matched → refund review, mismatched → personal-info flow."
          },
          "feeAcceptanceRequired": {
            "type": "boolean",
            "description": "True when the projected claim fee exceeds the fee-acceptance threshold, so the claim UI must\n            route to the fee-acceptance screen and wait for the customer's explicit confirm. False lets it confirm\n            without the fee step."
          },
          "kycSessionKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "Server-minted Sardine session key for the payor KYC device session; present only when the\n            address mismatched and payor KYC is enabled. Surfaced solely on this claim-token-gated response — the\n            refund payload never serializes it."
          }
        }
      },
      "StringSegment": {
        "required": [
          "offset",
          "length",
          "hasValue"
        ],
        "type": "object",
        "properties": {
          "buffer": {
            "type": [
              "null",
              "string"
            ]
          },
          "offset": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "length": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "value": {
            "type": [
              "null",
              "string"
            ]
          },
          "hasValue": {
            "type": "boolean"
          }
        }
      },
      "SubmitRefundPersonalInfoRequest": {
        "required": [
          "firstName",
          "lastName",
          "address",
          "country",
          "city",
          "state",
          "zip"
        ],
        "type": "object",
        "properties": {
          "claim_token": {
            "type": [
              "null",
              "string"
            ],
            "description": "The emailed refund-claim token; required — it is the possession factor for the payout path."
          },
          "firstName": {
            "maxLength": 128,
            "type": "string"
          },
          "lastName": {
            "maxLength": 128,
            "type": "string"
          },
          "address": {
            "maxLength": 256,
            "type": "string"
          },
          "address2": {
            "maxLength": 256,
            "type": [
              "null",
              "string"
            ]
          },
          "country": {
            "maxLength": 128,
            "type": "string"
          },
          "city": {
            "maxLength": 128,
            "type": "string"
          },
          "state": {
            "maxLength": 128,
            "type": "string"
          },
          "zip": {
            "maxLength": 32,
            "type": "string"
          }
        }
      },
      "TaxIdType": {
        "enum": [
          "ein",
          "ssn",
          "itin"
        ],
        "x-enumNames": [
          "Ein",
          "Ssn",
          "Itin"
        ]
      },
      "TenderClassification": {
        "enum": [
          "bitcoinLightning",
          "stablecoins",
          "paypal",
          "alipay",
          "klarna",
          "venmo",
          "weChatPay",
          "cashApp",
          "ethereum",
          "usdC_Ethereum",
          "usdC_Polygon",
          "usdtEthereum",
          "usdtTron",
          "usdtPolygon",
          "usdtBinance"
        ],
        "x-enumNames": [
          "BitcoinLightning",
          "Stablecoins",
          "Paypal",
          "Alipay",
          "Klarna",
          "Venmo",
          "WeChatPay",
          "CashApp",
          "Ethereum",
          "USDC_Ethereum",
          "USDC_Polygon",
          "UsdtEthereum",
          "UsdtTron",
          "UsdtPolygon",
          "UsdtBinance"
        ]
      },
      "TenderType": {
        "enum": [
          "ethereum",
          "bitcoin",
          "bitcoin_Lightning",
          "usdC_Polygon",
          "usdC_Ethereum",
          "pockyt_USD",
          "paypal",
          "alipay",
          "klarna",
          "venmo",
          "weChatPay",
          "usdcBase",
          "usdcSolana",
          "cashApp",
          "usdtEthereum",
          "usdtTron",
          "usdtPolygon",
          "usdtBinance"
        ],
        "x-enumNames": [
          "Ethereum",
          "Bitcoin",
          "Bitcoin_Lightning",
          "USDC_Polygon",
          "USDC_Ethereum",
          "Pockyt_USD",
          "Paypal",
          "Alipay",
          "Klarna",
          "Venmo",
          "WeChatPay",
          "UsdcBase",
          "UsdcSolana",
          "CashApp",
          "UsdtEthereum",
          "UsdtTron",
          "UsdtPolygon",
          "UsdtBinance"
        ]
      },
      "TerminalApiKey": {
        "required": [
          "secret",
          "maskedSecret"
        ],
        "type": "object",
        "properties": {
          "secret": {
            "type": [
              "null",
              "string"
            ]
          },
          "maskedSecret": {
            "type": "string"
          }
        }
      },
      "TerminalResponse": {
        "required": [
          "id",
          "name",
          "description",
          "merchantId",
          "merchantStatus",
          "type",
          "merchantLocationId",
          "merchantLocation",
          "displayLogo",
          "isEnabled",
          "extendRedirectUrl",
          "tenderTypes",
          "created",
          "updated",
          "apiKey",
          "useSandboxSharedWallet"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "Orderable."
          },
          "description": {
            "type": "string",
            "description": "Orderable."
          },
          "merchantId": {
            "type": "string"
          },
          "merchantStatus": {
            "$ref": "#/components/schemas/MerchantStatus"
          },
          "type": {
            "$ref": "#/components/schemas/TerminalType"
          },
          "merchantLocationId": {
            "type": "string"
          },
          "merchantLocation": {
            "$ref": "#/components/schemas/MerchantLocationDto"
          },
          "displayLogo": {
            "type": "boolean"
          },
          "webhookUrl": {
            "type": [
              "null",
              "string"
            ]
          },
          "isEnabled": {
            "type": "boolean"
          },
          "extendRedirectUrl": {
            "type": "boolean"
          },
          "tenderTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TenderType"
            }
          },
          "created": {
            "type": "string",
            "description": "Orderable.",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "description": "Orderable.",
            "format": "date-time"
          },
          "maxTransactionAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "description": "Orderable.",
            "format": "double"
          },
          "apiKey": {
            "$ref": "#/components/schemas/TerminalApiKey"
          },
          "useSandboxSharedWallet": {
            "type": "boolean"
          }
        }
      },
      "TerminalType": {
        "enum": [
          "virtual",
          "physical"
        ],
        "x-enumNames": [
          "Virtual",
          "Physical"
        ]
      },
      "TransferType": {
        "enum": [
          "sale",
          "refund",
          "chargeback"
        ],
        "x-enumNames": [
          "Sale",
          "Refund",
          "Chargeback"
        ]
      },
      "UpdateMerchantBusinessDetailsRequest": {
        "required": [
          "legalName",
          "registrationDate",
          "otherLegalEntity",
          "naicsCode",
          "merchantCategoryCode",
          "isSeasonal",
          "operationalMonths"
        ],
        "type": "object",
        "properties": {
          "legalName": {
            "type": [
              "null",
              "string"
            ]
          },
          "dbaName": {
            "type": [
              "null",
              "string"
            ]
          },
          "mailingAddress": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MailingAddress"
              }
            ]
          },
          "registrationDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date"
          },
          "legalEntityType": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LegalEntityType"
              }
            ]
          },
          "otherLegalEntity": {
            "type": [
              "null",
              "string"
            ]
          },
          "naicsCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "merchantCategoryCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "additionalMerchantCategoryCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "isSeasonal": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "operationalMonths": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/Month"
            }
          },
          "grossAnnualRevenue": {
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "highestMonthlyVolume": {
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "averageTicketSize": {
            "exclusiveMinimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "maxTicketSize": {
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "businessMailingAddress": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MailingAddress"
              }
            ]
          },
          "mainPointOfContact": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ShortOwnerInfo"
              }
            ]
          },
          "bankInfo": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BankInfo"
              }
            ]
          }
        }
      },
      "UpdateMerchantContactDetailsRequest": {
        "type": "object",
        "properties": {
          "mainPointOfContact": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ShortOwnerInfo"
              }
            ]
          }
        }
      },
      "UpdateMerchantLocationRequest": {
        "required": [
          "name",
          "address",
          "businessType",
          "merchantCategoryCode",
          "additionalMerchantCategoryCodes",
          "descriptionOfServices",
          "grossAnnualVolume",
          "averageTicketSize",
          "maximumTicketSize",
          "contactPhone",
          "contactEmail"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "externalId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional. An identifier for external reference and identification of the merchant location."
          },
          "address": {
            "description": "The mailing address for the location.",
            "$ref": "#/components/schemas/MailingAddress"
          },
          "businessType": {
            "$ref": "#/components/schemas/LocationBusinessType"
          },
          "merchantCategoryCode": {
            "type": "string"
          },
          "additionalMerchantCategoryCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "descriptionOfServices": {
            "type": "string"
          },
          "grossAnnualVolume": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "highestMonthlyVolume": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "averageTicketSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "maximumTicketSize": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "contactPhone": {
            "type": "string",
            "description": "The contact phone number for the location."
          },
          "contactEmail": {
            "type": "string"
          },
          "website": {
            "type": [
              "null",
              "string"
            ],
            "description": "The website URL that represents the merchant location. Required when the location's business type is \"Virtual\"."
          },
          "tenderTypes": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TenderType"
            }
          }
        }
      },
      "UpdateMerchantNoteDetailsRequest": {
        "required": [
          "notes"
        ],
        "type": "object",
        "properties": {
          "notes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeneralNote"
            }
          }
        }
      },
      "UpdateMerchantRequest": {
        "required": [
          "companyName",
          "taxNumberType",
          "taxNumber"
        ],
        "type": "object",
        "properties": {
          "companyName": {
            "maxLength": 256,
            "type": "string"
          },
          "description": {
            "maxLength": 1024,
            "type": [
              "null",
              "string"
            ]
          },
          "taxNumberType": {
            "$ref": "#/components/schemas/TaxIdType"
          },
          "taxNumber": {
            "maxLength": 64,
            "type": "string"
          }
        }
      },
      "UpdateMerchantStakeholderDetailsRequest": {
        "required": [
          "stakeholders"
        ],
        "type": "object",
        "properties": {
          "stakeholders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Stakeholder"
            }
          }
        }
      },
      "UpdatePartnerApiKeyCommand": {
        "required": [
          "name",
          "note"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "note": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "UpdatePartnerBusinessDetailsRequest": {
        "required": [
          "status",
          "dbaName",
          "legalEntityType",
          "registrationDate",
          "federalTaxIdType",
          "federalTaxIdNumber",
          "naicsCode",
          "mccCode",
          "additionalMccCodes"
        ],
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/PartnerStatus"
          },
          "dbaName": {
            "type": "string"
          },
          "legalEntityType": {
            "$ref": "#/components/schemas/LegalEntityType"
          },
          "registrationDate": {
            "type": "string",
            "format": "date-time"
          },
          "federalTaxIdType": {
            "$ref": "#/components/schemas/BusinessTaxIdType"
          },
          "federalTaxIdNumber": {
            "type": "string"
          },
          "naicsCode": {
            "type": "string"
          },
          "mccCode": {
            "type": "string"
          },
          "additionalMccCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "businessDescription": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "UpdatePartnerContactDetailsRequest": {
        "type": "object",
        "properties": {
          "mainPointOfContact": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PersonBasic"
              }
            ]
          },
          "businessContact": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BusinessContact"
              }
            ]
          }
        }
      },
      "UpdatePartnerNotesRequest": {
        "required": [
          "notes"
        ],
        "type": "object",
        "properties": {
          "notes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeneralNote"
            }
          }
        }
      },
      "UpdatePartnerRequest": {
        "required": [
          "name",
          "feeInfo",
          "tenderTypes"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 256,
            "type": "string"
          },
          "email": {
            "maxLength": 128,
            "type": [
              "null",
              "string"
            ],
            "format": "email"
          },
          "phoneNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "feeInfo": {
            "$ref": "#/components/schemas/FeeInfo"
          },
          "tenderTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TenderType"
            }
          },
          "maxTransactionAmount": {
            "exclusiveMinimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "UpdatePartnerStakeholdersRequest": {
        "required": [
          "stakeholders"
        ],
        "type": "object",
        "properties": {
          "stakeholders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessStakeholder"
            }
          }
        }
      },
      "UpdatePaymentNoteRequest": {
        "required": [
          "text"
        ],
        "type": "object",
        "properties": {
          "text": {
            "type": "string"
          }
        }
      },
      "UpdateTerminalRequest": {
        "required": [
          "name",
          "description",
          "displayLogo",
          "isEnabled"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 32,
            "type": "string"
          },
          "tenderTypes": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TenderType"
            }
          },
          "description": {
            "maxLength": 256,
            "type": "string"
          },
          "displayLogo": {
            "type": "boolean"
          },
          "isEnabled": {
            "type": "boolean"
          },
          "extendRedirectUrl": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "maxTransactionAmount": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "UploadedDocumentRef": {
        "required": [
          "attachmentId",
          "fileName",
          "documentCategory",
          "uploadedAt"
        ],
        "type": "object",
        "properties": {
          "attachmentId": {
            "type": "string"
          },
          "fileName": {
            "type": "string"
          },
          "documentCategory": {
            "$ref": "#/components/schemas/MerchantOnboardingDocumentCategory"
          },
          "uploadedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "UploadLinkContext": {
        "required": [
          "applicationId",
          "status",
          "expiresAt",
          "uploadedDocuments"
        ],
        "type": "object",
        "properties": {
          "applicationId": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/UploadLinkStatus"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "uploadedDocuments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UploadedDocumentRef"
            }
          }
        },
        "description": "State an anonymous upload page needs before a merchant uploads: the resolved link status and the\ndocuments already collected via the link. Returned even for expired/revoked links so the page can\nexplain why it is closed."
      },
      "UploadLinkResponse": {
        "required": [
          "id",
          "applicationId",
          "expiresAt",
          "isRevoked",
          "uploadedDocuments"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "applicationId": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "isRevoked": {
            "type": "boolean"
          },
          "createdBy": {
            "type": [
              "null",
              "string"
            ]
          },
          "revokedBy": {
            "type": [
              "null",
              "string"
            ]
          },
          "revokedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "uploadedDocuments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UploadedDocumentRef"
            }
          }
        },
        "description": "Upload link metadata for the partner-facing list endpoint. Never carries the token."
      },
      "UploadLinkStatus": {
        "enum": [
          "active",
          "expired",
          "revoked",
          "applicationNotDraft"
        ],
        "x-enumNames": [
          "Active",
          "Expired",
          "Revoked",
          "ApplicationNotDraft"
        ]
      },
      "User": {
        "required": [
          "email",
          "issuerId"
        ],
        "type": "object",
        "properties": {
          "email": {
            "maxLength": 128,
            "type": "string"
          },
          "issuerId": {
            "type": "string"
          },
          "firstName": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastName": {
            "type": [
              "null",
              "string"
            ]
          },
          "id": {
            "type": [
              "null",
              "string"
            ]
          },
          "created": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          },
          "updated": {
            "type": [
              "null",
              "string"
            ],
            "description": "Orderable.",
            "format": "date-time"
          }
        }
      },
      "ValidateRefundClaimTokenRequest": {
        "required": [
          "token"
        ],
        "type": "object",
        "properties": {
          "token": {
            "type": "string"
          }
        }
      },
      "ValidateRefundClaimTokenResponse": {
        "required": [
          "status"
        ],
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/RefundClaimStatus"
          },
          "is_refundable": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Whether the claimable amount can actually disburse — false when it is below the payment\n            vendor's transfer minimum, so the frontend can show a not-eligible screen without re-deriving vendor\n            limits. Set only on RefundClaimStatus.Eligible responses."
          },
          "email_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "payment": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/IsPaymentValidForRefundResponse"
              }
            ]
          },
          "refund_id": {
            "type": [
              "null",
              "string"
            ],
            "description": "Identifies the refund behind a pending, in-flight, or finished claim, so a reloaded page can\n            resume it without the id the frontend held in memory. Absent when no refund record backs the status —\n            or, for a pending claim, when the refund is past confirmation (e.g. held for manual verification)."
          },
          "payment_code": {
            "type": [
              "null",
              "string"
            ]
          },
          "network": {
            "type": [
              "null",
              "string"
            ]
          },
          "currency_code": {
            "type": [
              "null",
              "string"
            ]
          },
          "currency_symbol": {
            "type": [
              "null",
              "string"
            ]
          },
          "amount": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/AmountInfo"
              }
            ]
          },
          "claim_address": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ValidationProblemDetails": {
        "required": [
          "errors"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": [
              "null",
              "string"
            ]
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "detail": {
            "type": [
              "null",
              "string"
            ]
          },
          "instance": {
            "type": [
              "null",
              "string"
            ]
          },
          "errors": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        }
      },
      "VoltageBillEnvironment": {
        "enum": [
          "current",
          "other"
        ],
        "x-enumNames": [
          "Current",
          "Other"
        ]
      },
      "VoltageBillRecordResponse": {
        "required": [
          "id",
          "billId",
          "lineOfCreditId",
          "walletId",
          "amountUsd",
          "windowStartUtc",
          "windowEndUtc",
          "environment"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "billId": {
            "type": "string",
            "description": "The Voltage bill the line belongs to — also the payout's SourceReportFileId. Orderable."
          },
          "lineOfCreditId": {
            "type": "string"
          },
          "walletId": {
            "type": "string",
            "description": "Orderable."
          },
          "amountUsd": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "Gross USD received by the wallet in the bill window. Orderable.",
            "format": "double"
          },
          "windowStartUtc": {
            "type": "string",
            "description": "Orderable.",
            "format": "date-time"
          },
          "windowEndUtc": {
            "type": "string",
            "description": "Orderable.",
            "format": "date-time"
          },
          "environment": {
            "description": "Whether the wallet belongs to this environment (`Current`) or another (`Other`). Orderable.",
            "$ref": "#/components/schemas/VoltageBillEnvironment"
          },
          "merchantId": {
            "type": [
              "null",
              "string"
            ],
            "description": "The local merchant owning the wallet; null when the line is another environment's. Orderable."
          }
        },
        "description": "One wallet-level line of a processed Voltage Payout bill."
      },
      "WebhookSetResponse": {
        "required": [
          "url",
          "signingSecret"
        ],
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "signingSecret": {
            "type": "string"
          }
        }
      },
      "WebhookUrl": {
        "required": [
          "url"
        ],
        "type": "object",
        "properties": {
          "url": {
            "maxLength": 512,
            "type": "string",
            "format": "uri"
          }
        }
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "oauth2",
        "description": "Bearer Authentication",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://identity.beadpay.io/realms/nonprod/protocol/openid-connect/auth?audience=bead-platform",
            "tokenUrl": "https://identity.beadpay.io/realms/nonprod/protocol/openid-connect/token",
            "refreshUrl": "https://identity.beadpay.io/realms/nonprod/protocol/openid-connect/token",
            "scopes": {
              "openid": "",
              "profile": "Basic profile information",
              "email": "Email and verification information",
              "offline_access": "Requests a refresh token to be included in the response"
            },
            "x-usePkce": "SHA-256"
          }
        }
      },
      "ApiKey": {
        "type": "apiKey",
        "description": "API Key Authentication",
        "name": "X-Api-Key",
        "in": "header"
      }
    }
  },
  "security": [
    { }
  ],
  "tags": [
    {
      "name": "Accounts"
    },
    {
      "name": "AdminNonstableBillingRecords"
    },
    {
      "name": "Batches"
    },
    {
      "name": "Currencies"
    },
    {
      "name": "Customers"
    },
    {
      "name": "Deposits"
    },
    {
      "name": "Locations"
    },
    {
      "name": "MerchantAgreementTypes"
    },
    {
      "name": "MerchantOnboarding"
    },
    {
      "name": "Merchants"
    },
    {
      "name": "Naics"
    },
    {
      "name": "OnboardingPages"
    },
    {
      "name": "Partners"
    },
    {
      "name": "PaymentCaptures"
    },
    {
      "name": "PaymentNotes"
    },
    {
      "name": "PaymentPages"
    },
    {
      "name": "PaymentProcessors"
    },
    {
      "name": "PaymentRefunds"
    },
    {
      "name": "Payments"
    },
    {
      "name": "Reports"
    },
    {
      "name": "Settlements"
    },
    {
      "name": "SmsTemplates"
    },
    {
      "name": "Terminals"
    },
    {
      "name": "Users"
    }
  ]
}