{
  "openapi": "3.1.0",
  "info": {
    "title": "Gr4vy",
    "description": "The Gr4vy API.",
    "version": "1.0.0"
  },
  "paths": {
    "/account-updater/jobs": {
      "post": {
        "tags": [
          "Account updater"
        ],
        "summary": "Create account updater job",
        "description": "Schedule one or more stored cards for an account update.",
        "operationId": "create_account_updater_job",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountUpdaterJobCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "A scheduled account updater job when one or more payment methods were scheduled for update.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountUpdaterJob"
                }
              }
            }
          },
          "204": {
            "description": "Empty response when no payment methods were scheduled for update."
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "account-updater.jobs",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.accountUpdater.jobs.create({\n    paymentMethodIds: [\n      \"ef9496d8-53a5-4aad-8ca2-00eb68334389\",\n      \"f29e886e-93cc-4714-b4a3-12b7a718e595\",\n    ],\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.account_updater.jobs.create(payment_method_ids=[\n        \"ef9496d8-53a5-4aad-8ca2-00eb68334389\",\n        \"f29e886e-93cc-4714-b4a3-12b7a718e595\",\n    ])\n\n    assert res is not None\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.AccountUpdater.Jobs.Create(ctx, components.AccountUpdaterJobCreate{\n        PaymentMethodIds: []string{\n            \"ef9496d8-53a5-4aad-8ca2-00eb68334389\",\n            \"f29e886e-93cc-4714-b4a3-12b7a718e595\",\n        },\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$accountUpdaterJobCreate = new Gr4vy\\AccountUpdaterJobCreate(\n    paymentMethodIds: [\n        'ef9496d8-53a5-4aad-8ca2-00eb68334389',\n        'f29e886e-93cc-4714-b4a3-12b7a718e595',\n    ],\n);\n\n$response = $sdk->accountUpdater->jobs->create(\n    accountUpdaterJobCreate: $accountUpdaterJobCreate\n);\n\nif ($response->accountUpdaterJob !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.AccountUpdaterJobCreate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreateAccountUpdaterJobResponse;\nimport java.lang.Exception;\nimport java.util.List;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        CreateAccountUpdaterJobResponse res = sdk.accountUpdater().jobs().create()\n                .accountUpdaterJobCreate(AccountUpdaterJobCreate.builder()\n                    .paymentMethodIds(List.of(\n                        \"ef9496d8-53a5-4aad-8ca2-00eb68334389\",\n                        \"f29e886e-93cc-4714-b4a3-12b7a718e595\"))\n                    .build())\n                .call();\n\n        if (res.accountUpdaterJob().isPresent()) {\n            System.out.println(res.accountUpdaterJob().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing System.Collections.Generic;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.AccountUpdater.Jobs.CreateAsync(accountUpdaterJobCreate: new AccountUpdaterJobCreate() {\n    PaymentMethodIds = new List<string>() {\n        \"ef9496d8-53a5-4aad-8ca2-00eb68334389\",\n        \"f29e886e-93cc-4714-b4a3-12b7a718e595\",\n    },\n});\n\n// handle response"
          }
        ]
      }
    },
    "/api-key-pairs": {
      "get": {
        "tags": [
          "API key pairs"
        ],
        "summary": "List all API key pairs",
        "description": "List all API key pairs.",
        "operationId": "list_api_key_pairs",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A pointer to the page of results to return.",
              "examples": [
                "ZXhhbXBsZTE"
              ],
              "title": "Cursor"
            },
            "description": "A pointer to the page of results to return."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "The maximum number of items that are returned.",
              "examples": [
                20
              ],
              "default": 20,
              "title": "Limit"
            },
            "description": "The maximum number of items that are returned."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Collection_APIKeyPair_"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "api-key-pairs",
        "x-speakeasy-pagination": {
          "type": "cursor",
          "inputs": [
            {
              "name": "cursor",
              "in": "parameters",
              "type": "cursor"
            }
          ],
          "outputs": {
            "nextCursor": "$.next_cursor"
          }
        },
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.apiKeyPairs.list();\n\n  for await (const page of result) {\n    console.log(page);\n  }\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n):\n\n    res = g_client.api_key_pairs.list(limit=20)\n\n    while res is not None:\n        # Handle items\n\n        res = res.next()"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.APIKeyPairs.List(ctx, nil, gr4vygo.Pointer[int64](20))\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        for {\n            // handle items\n\n            res, err = res.Next()\n\n            if err != nil {\n                // handle error\n            }\n\n            if res == nil {\n                break\n            }\n        }\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$responses = $sdk->apiKeyPairs->list(\n    limit: 20\n);\n\n\nforeach ($responses as $response) {\n    if ($response->statusCode === 200) {\n        // handle response\n    }\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListApiKeyPairsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n\n        sdk.apiKeyPairs().list()\n                .limit(20L)\n                .callAsStream()\n                .forEach((ListApiKeyPairsResponse item) -> {\n                   // handle page\n                });\n\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing Gr4vy.Models.Requests;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nListApiKeyPairsResponse? res = await sdk.ApiKeyPairs.ListAsync(limit: 20);\n\nwhile(res != null)\n{\n    // handle items\n\n    res = await res.Next!();\n}"
          }
        ]
      },
      "post": {
        "tags": [
          "API key pairs"
        ],
        "summary": "Create an API key pair",
        "description": "Create a new API key pair.",
        "operationId": "create_api_key_pair",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/APIKeyPairCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APIKeyPair"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "api-key-pairs",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.apiKeyPairs.create({\n    displayName: \"Production key\",\n    roleIds: [\n      \"8f4b8c1a-1b2c-4d3e-9f5a-6b7c8d9e0f1a\",\n    ],\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n):\n\n    res = g_client.api_key_pairs.create(display_name=\"Production key\", role_ids=[\n        \"8f4b8c1a-1b2c-4d3e-9f5a-6b7c8d9e0f1a\",\n    ], active=True)\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.APIKeyPairs.Create(ctx, components.APIKeyPairCreate{\n        DisplayName: \"Production key\",\n        RoleIds: []string{\n            \"8f4b8c1a-1b2c-4d3e-9f5a-6b7c8d9e0f1a\",\n        },\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$request = new Gr4vy\\APIKeyPairCreate(\n    displayName: 'Production key',\n    roleIds: [\n        '8f4b8c1a-1b2c-4d3e-9f5a-6b7c8d9e0f1a',\n    ],\n);\n\n$response = $sdk->apiKeyPairs->create(\n    request: $request\n);\n\nif ($response->apiKeyPair !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.APIKeyPairCreate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreateApiKeyPairResponse;\nimport java.lang.Exception;\nimport java.util.List;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        APIKeyPairCreate req = APIKeyPairCreate.builder()\n                .displayName(\"Production key\")\n                .roleIds(List.of(\n                    \"8f4b8c1a-1b2c-4d3e-9f5a-6b7c8d9e0f1a\"))\n                .build();\n\n        CreateApiKeyPairResponse res = sdk.apiKeyPairs().create()\n                .request(req)\n                .call();\n\n        if (res.apiKeyPair().isPresent()) {\n            System.out.println(res.apiKeyPair().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing System.Collections.Generic;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nAPIKeyPairCreate req = new APIKeyPairCreate() {\n    DisplayName = \"Production key\",\n    RoleIds = new List<string>() {\n        \"8f4b8c1a-1b2c-4d3e-9f5a-6b7c8d9e0f1a\",\n    },\n};\n\nvar res = await sdk.ApiKeyPairs.CreateAsync(req);\n\n// handle response"
          }
        ]
      }
    },
    "/api-key-pairs/{api_key_pair_id}": {
      "get": {
        "tags": [
          "API key pairs"
        ],
        "summary": "Get an API key pair",
        "description": "Fetches an API key pair by its ID.",
        "operationId": "get_api_key_pair",
        "parameters": [
          {
            "name": "api_key_pair_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the API key pair.",
              "examples": [
                "fe26475d-ec3e-4884-9553-f7356683f7f9"
              ],
              "title": "Api Key Pair Id"
            },
            "description": "The ID of the API key pair."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APIKeyPair"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "get",
        "x-speakeasy-group": "api-key-pairs",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.apiKeyPairs.get(\"fe26475d-ec3e-4884-9553-f7356683f7f9\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n):\n\n    res = g_client.api_key_pairs.get(api_key_pair_id=\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.APIKeyPairs.Get(ctx, \"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->apiKeyPairs->get(\n    apiKeyPairId: 'fe26475d-ec3e-4884-9553-f7356683f7f9'\n);\n\nif ($response->apiKeyPair !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.GetApiKeyPairResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        GetApiKeyPairResponse res = sdk.apiKeyPairs().get()\n                .apiKeyPairId(\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n                .call();\n\n        if (res.apiKeyPair().isPresent()) {\n            System.out.println(res.apiKeyPair().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.ApiKeyPairs.GetAsync(apiKeyPairId: \"fe26475d-ec3e-4884-9553-f7356683f7f9\");\n\n// handle response"
          }
        ]
      },
      "put": {
        "tags": [
          "API key pairs"
        ],
        "summary": "Update an API key pair",
        "description": "Updates an API key pair.",
        "operationId": "update_api_key_pair",
        "parameters": [
          {
            "name": "api_key_pair_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the API key pair.",
              "examples": [
                "fe26475d-ec3e-4884-9553-f7356683f7f9"
              ],
              "title": "Api Key Pair Id"
            },
            "description": "The ID of the API key pair."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/APIKeyPairUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APIKeyPair"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "update",
        "x-speakeasy-group": "api-key-pairs",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.apiKeyPairs.update({}, \"fe26475d-ec3e-4884-9553-f7356683f7f9\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n):\n\n    res = g_client.api_key_pairs.update(api_key_pair_id=\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.APIKeyPairs.Update(ctx, \"fe26475d-ec3e-4884-9553-f7356683f7f9\", components.APIKeyPairUpdate{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$apiKeyPairUpdate = new Gr4vy\\APIKeyPairUpdate();\n\n$response = $sdk->apiKeyPairs->update(\n    apiKeyPairId: 'fe26475d-ec3e-4884-9553-f7356683f7f9',\n    apiKeyPairUpdate: $apiKeyPairUpdate\n\n);\n\nif ($response->apiKeyPair !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.APIKeyPairUpdate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.UpdateApiKeyPairResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        UpdateApiKeyPairResponse res = sdk.apiKeyPairs().update()\n                .apiKeyPairId(\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n                .apiKeyPairUpdate(APIKeyPairUpdate.builder()\n                    .build())\n                .call();\n\n        if (res.apiKeyPair().isPresent()) {\n            System.out.println(res.apiKeyPair().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.ApiKeyPairs.UpdateAsync(\n    apiKeyPairId: \"fe26475d-ec3e-4884-9553-f7356683f7f9\",\n    apiKeyPairUpdate: new APIKeyPairUpdate() {}\n);\n\n// handle response"
          }
        ]
      },
      "delete": {
        "tags": [
          "API key pairs"
        ],
        "summary": "Delete an API key pair",
        "description": "Permanently removes an API key pair.",
        "operationId": "delete_api_key_pair",
        "parameters": [
          {
            "name": "api_key_pair_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the API key pair.",
              "examples": [
                "fe26475d-ec3e-4884-9553-f7356683f7f9"
              ],
              "title": "Api Key Pair Id"
            },
            "description": "The ID of the API key pair."
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "delete",
        "x-speakeasy-group": "api-key-pairs",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  await gr4vy.apiKeyPairs.delete(\"fe26475d-ec3e-4884-9553-f7356683f7f9\");\n\n\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n):\n\n    g_client.api_key_pairs.delete(api_key_pair_id=\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n\n    # Use the SDK ..."
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    err := s.APIKeyPairs.Delete(ctx, \"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n    if err != nil {\n        log.Fatal(err)\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->apiKeyPairs->delete(\n    apiKeyPairId: 'fe26475d-ec3e-4884-9553-f7356683f7f9'\n);\n\nif ($response->statusCode === 200) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.DeleteApiKeyPairResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        DeleteApiKeyPairResponse res = sdk.apiKeyPairs().delete()\n                .apiKeyPairId(\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n                .call();\n\n        // handle response\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nawait sdk.ApiKeyPairs.DeleteAsync(apiKeyPairId: \"fe26475d-ec3e-4884-9553-f7356683f7f9\");\n\n// handle response"
          }
        ]
      }
    },
    "/buyers/payment-methods": {
      "get": {
        "tags": [
          "Buyers - Payment methods"
        ],
        "summary": "List payment methods for a buyer",
        "description": "List all the stored payment methods for a specific buyer.",
        "operationId": "list_buyer_payment_methods",
        "parameters": [
          {
            "name": "buyer_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "description": "The ID of the buyer to query payment methods for.",
              "examples": [
                "fe26475d-ec3e-4884-9553-f7356683f7f9"
              ],
              "title": "Buyer Id"
            },
            "description": "The ID of the buyer to query payment methods for."
          },
          {
            "name": "buyer_external_identifier",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "The external identifier of the buyer to query payment methods for.",
              "examples": [
                "buyer-12345"
              ],
              "title": "Buyer External Identifier"
            },
            "description": "The external identifier of the buyer to query payment methods for."
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "const": "last_used_at",
                  "type": "string"
                },
                {
                  "const": "usage_count",
                  "type": "string"
                },
                {
                  "const": "cit_last_used_at",
                  "type": "string"
                },
                {
                  "const": "cit_usage_count",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "The field to sort the payment methods by.",
              "examples": [
                "last_used_at"
              ],
              "title": "Sort By"
            },
            "description": "The field to sort the payment methods by."
          },
          {
            "name": "order_by",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "description": "The direction to sort the payment methods in.",
              "examples": [
                "desc"
              ],
              "default": "desc",
              "title": "Order By",
              "x-speakeasy-unknown-values": "allow"
            },
            "description": "The direction to sort the payment methods in."
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^[A-Z]{2}$",
                  "examples": [
                    "DE",
                    "GB",
                    "US"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "description": "The country code to filter payment methods by. This only applies to payment methods with a `country` value.",
              "examples": [
                "US"
              ],
              "title": "Country"
            },
            "description": "The country code to filter payment methods by. This only applies to payment methods with a `country` value."
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^[A-Z]{3}$",
                  "examples": [
                    "EUR",
                    "GBP",
                    "USD"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "description": "The currency code to filter payment methods by. This only applies to payment methods with a `currency` value.",
              "examples": [
                "USD"
              ],
              "title": "Currency"
            },
            "description": "The currency code to filter payment methods by. This only applies to payment methods with a `currency` value."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentMethodSummaries"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "buyers.payment-methods",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.buyers.paymentMethods.list();\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.buyers.payment_methods.list(buyer_id=\"fe26475d-ec3e-4884-9553-f7356683f7f9\", buyer_external_identifier=\"buyer-12345\", sort_by=\"last_used_at\", order_by=\"desc\", country=\"US\", currency=\"USD\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Buyers.PaymentMethods.List(ctx, operations.ListBuyerPaymentMethodsRequest{\n        BuyerID: gr4vygo.Pointer(\"fe26475d-ec3e-4884-9553-f7356683f7f9\"),\n        BuyerExternalIdentifier: gr4vygo.Pointer(\"buyer-12345\"),\n        SortBy: operations.ListBuyerPaymentMethodsSortByLastUsedAt.ToPointer(),\n        Country: gr4vygo.Pointer(\"US\"),\n        Currency: gr4vygo.Pointer(\"USD\"),\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$request = new Gr4vy\\ListBuyerPaymentMethodsRequest(\n    buyerId: 'fe26475d-ec3e-4884-9553-f7356683f7f9',\n    buyerExternalIdentifier: 'buyer-12345',\n    sortBy: Gr4vy\\ListBuyerPaymentMethodsSortBy::LastUsedAt,\n    country: 'US',\n    currency: 'USD',\n);\n\n$response = $sdk->buyers->paymentMethods->list(\n    request: $request\n);\n\nif ($response->paymentMethodSummaries !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.*;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        ListBuyerPaymentMethodsRequest req = ListBuyerPaymentMethodsRequest.builder()\n                .buyerId(\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n                .buyerExternalIdentifier(\"buyer-12345\")\n                .sortBy(ListBuyerPaymentMethodsSortBy.LAST_USED_AT)\n                .country(\"US\")\n                .currency(\"USD\")\n                .build();\n\n        ListBuyerPaymentMethodsResponse res = sdk.buyers().paymentMethods().list()\n                .request(req)\n                .call();\n\n        if (res.paymentMethodSummaries().isPresent()) {\n            System.out.println(res.paymentMethodSummaries().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing Gr4vy.Models.Requests;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nListBuyerPaymentMethodsRequest req = new ListBuyerPaymentMethodsRequest() {\n    BuyerId = \"fe26475d-ec3e-4884-9553-f7356683f7f9\",\n    BuyerExternalIdentifier = \"buyer-12345\",\n    SortBy = ListBuyerPaymentMethodsSortBy.LastUsedAt,\n    Country = \"US\",\n    Currency = \"USD\",\n};\n\nvar res = await sdk.Buyers.PaymentMethods.ListAsync(req);\n\n// handle response"
          }
        ]
      }
    },
    "/payment-methods": {
      "get": {
        "tags": [
          "Payment methods"
        ],
        "summary": "List all payment methods",
        "description": "List all stored payment method.",
        "operationId": "list_payment_methods",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A pointer to the page of results to return.",
              "examples": [
                "ZXhhbXBsZTE"
              ],
              "title": "Cursor"
            },
            "description": "A pointer to the page of results to return."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "The maximum number of items that are at returned.",
              "examples": [
                20
              ],
              "default": 20,
              "title": "Limit"
            },
            "description": "The maximum number of items that are at returned."
          },
          {
            "name": "buyer_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "description": "The ID of the buyer to filter payment methods by.",
              "examples": [
                "fe26475d-ec3e-4884-9553-f7356683f7f9"
              ],
              "title": "Buyer Id"
            },
            "description": "The ID of the buyer to filter payment methods by."
          },
          {
            "name": "buyer_external_identifier",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "The external identifier of the buyer to filter payment methods by.",
              "examples": [
                "buyer-12345"
              ],
              "title": "Buyer External Identifier"
            },
            "description": "The external identifier of the buyer to filter payment methods by."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "processing",
                      "buyer_approval_required",
                      "succeeded",
                      "failed",
                      "paused"
                    ],
                    "title": "PaymentMethodStatus",
                    "x-speakeasy-unknown-values": "allow"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status"
            }
          },
          {
            "name": "external_identifier",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "The external identifier of the payment method to filter by.",
              "examples": [
                "payment-method-12345"
              ],
              "title": "External Identifier"
            },
            "description": "The external identifier of the payment method to filter by."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentMethods"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "payment-methods",
        "x-speakeasy-pagination": {
          "type": "cursor",
          "inputs": [
            {
              "name": "cursor",
              "in": "parameters",
              "type": "cursor"
            }
          ],
          "outputs": {
            "nextCursor": "$.next_cursor"
          }
        },
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentMethods.list();\n\n  for await (const page of result) {\n    console.log(page);\n  }\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payment_methods.list(cursor=\"ZXhhbXBsZTE\", limit=20, buyer_id=\"fe26475d-ec3e-4884-9553-f7356683f7f9\", buyer_external_identifier=\"buyer-12345\", external_identifier=\"payment-method-12345\")\n\n    while res is not None:\n        # Handle items\n\n        res = res.next()"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.PaymentMethods.List(ctx, operations.ListPaymentMethodsRequest{\n        Cursor: gr4vygo.Pointer(\"ZXhhbXBsZTE\"),\n        BuyerID: gr4vygo.Pointer(\"fe26475d-ec3e-4884-9553-f7356683f7f9\"),\n        BuyerExternalIdentifier: gr4vygo.Pointer(\"buyer-12345\"),\n        ExternalIdentifier: gr4vygo.Pointer(\"payment-method-12345\"),\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        for {\n            // handle items\n\n            res, err = res.Next()\n\n            if err != nil {\n                // handle error\n            }\n\n            if res == nil {\n                break\n            }\n        }\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$request = new Gr4vy\\ListPaymentMethodsRequest(\n    cursor: 'ZXhhbXBsZTE',\n    buyerId: 'fe26475d-ec3e-4884-9553-f7356683f7f9',\n    buyerExternalIdentifier: 'buyer-12345',\n    externalIdentifier: 'payment-method-12345',\n);\n\n$responses = $sdk->paymentMethods->list(\n    request: $request\n);\n\n\nforeach ($responses as $response) {\n    if ($response->statusCode === 200) {\n        // handle response\n    }\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListPaymentMethodsRequest;\nimport com.gr4vy.sdk.models.operations.ListPaymentMethodsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        ListPaymentMethodsRequest req = ListPaymentMethodsRequest.builder()\n                .cursor(\"ZXhhbXBsZTE\")\n                .buyerId(\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n                .buyerExternalIdentifier(\"buyer-12345\")\n                .externalIdentifier(\"payment-method-12345\")\n                .build();\n\n\n        sdk.paymentMethods().list()\n                .callAsStream()\n                .forEach((ListPaymentMethodsResponse item) -> {\n                   // handle page\n                });\n\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing Gr4vy.Models.Requests;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nListPaymentMethodsRequest req = new ListPaymentMethodsRequest() {\n    Cursor = \"ZXhhbXBsZTE\",\n    BuyerId = \"fe26475d-ec3e-4884-9553-f7356683f7f9\",\n    BuyerExternalIdentifier = \"buyer-12345\",\n    ExternalIdentifier = \"payment-method-12345\",\n};\n\nListPaymentMethodsResponse? res = await sdk.PaymentMethods.ListAsync(req);\n\nwhile(res != null)\n{\n    // handle items\n\n    res = await res.Next!();\n}"
          }
        ]
      },
      "post": {
        "tags": [
          "Payment methods"
        ],
        "summary": "Create payment method",
        "description": "Store a new payment method.",
        "operationId": "create_payment_method",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/CardPaymentMethodCreate"
                  },
                  {
                    "$ref": "#/components/schemas/RedirectPaymentMethodCreate"
                  },
                  {
                    "$ref": "#/components/schemas/CheckoutSessionPaymentMethodCreate"
                  },
                  {
                    "$ref": "#/components/schemas/PlaidPaymentMethodCreate"
                  },
                  {
                    "$ref": "#/components/schemas/ACHBankPaymentMethodCreate"
                  },
                  {
                    "$ref": "#/components/schemas/BACSBankPaymentMethodCreate"
                  },
                  {
                    "$ref": "#/components/schemas/SEPABankPaymentMethodCreate"
                  }
                ],
                "title": "Body"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentMethod"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "payment-methods",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentMethods.create({\n    method: \"checkout-session\",\n    id: \"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\",\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payment_methods.create(request_body={\n        \"method\": \"checkout-session\",\n        \"id\": \"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\",\n    })\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"github.com/gr4vy/gr4vy-go/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.PaymentMethods.Create(ctx, operations.CreateBodyCheckoutSessionPaymentMethodCreate(\n        components.CheckoutSessionPaymentMethodCreate{\n            ID: \"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\",\n        },\n    ))\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->paymentMethods->create(\n    requestBody: new Gr4vy\\CheckoutSessionPaymentMethodCreate(\n        id: '4137b1cf-39ac-42a8-bad6-1c680d5dab6b',\n    )\n);\n\nif ($response->paymentMethod !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.CheckoutSessionPaymentMethodCreate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.Body;\nimport com.gr4vy.sdk.models.operations.CreatePaymentMethodResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        CreatePaymentMethodResponse res = sdk.paymentMethods().create()\n                .requestBody(Body.of(CheckoutSessionPaymentMethodCreate.builder()\n                    .id(\"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\")\n                    .build()))\n                .call();\n\n        if (res.paymentMethod().isPresent()) {\n            System.out.println(res.paymentMethod().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing Gr4vy.Models.Requests;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.PaymentMethods.CreateAsync(requestBody: Body.CreateCheckoutSessionPaymentMethodCreate(\n    new CheckoutSessionPaymentMethodCreate() {\n        Id = \"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\",\n    }\n));\n\n// handle response"
          }
        ]
      }
    },
    "/payment-methods/{payment_method_id}": {
      "get": {
        "tags": [
          "Payment methods"
        ],
        "summary": "Get payment method",
        "description": "Retrieve a payment method.",
        "operationId": "get_payment_method",
        "parameters": [
          {
            "name": "payment_method_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the payment method",
              "examples": [
                "ef9496d8-53a5-4aad-8ca2-00eb68334389"
              ],
              "title": "Payment Method Id"
            },
            "description": "The ID of the payment method"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentMethod"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "get",
        "x-speakeasy-group": "payment-methods",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentMethods.get(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payment_methods.get(payment_method_id=\"ef9496d8-53a5-4aad-8ca2-00eb68334389\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.PaymentMethods.Get(ctx, \"ef9496d8-53a5-4aad-8ca2-00eb68334389\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->paymentMethods->get(\n    paymentMethodId: 'ef9496d8-53a5-4aad-8ca2-00eb68334389'\n);\n\nif ($response->paymentMethod !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.GetPaymentMethodResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        GetPaymentMethodResponse res = sdk.paymentMethods().get()\n                .paymentMethodId(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\")\n                .call();\n\n        if (res.paymentMethod().isPresent()) {\n            System.out.println(res.paymentMethod().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.PaymentMethods.GetAsync(paymentMethodId: \"ef9496d8-53a5-4aad-8ca2-00eb68334389\");\n\n// handle response"
          }
        ]
      },
      "put": {
        "tags": [
          "Payment methods"
        ],
        "summary": "Update payment method",
        "description": "Update the details of a stored payment method.",
        "operationId": "update_payment_method",
        "parameters": [
          {
            "name": "payment_method_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the payment method",
              "examples": [
                "ef9496d8-53a5-4aad-8ca2-00eb68334389"
              ],
              "title": "Payment Method Id"
            },
            "description": "The ID of the payment method"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentMethodUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentMethod"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "update",
        "x-speakeasy-group": "payment-methods",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentMethods.update({}, \"ef9496d8-53a5-4aad-8ca2-00eb68334389\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payment_methods.update(payment_method_id=\"ef9496d8-53a5-4aad-8ca2-00eb68334389\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.PaymentMethods.Update(ctx, \"ef9496d8-53a5-4aad-8ca2-00eb68334389\", components.PaymentMethodUpdate{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$paymentMethodUpdate = new Gr4vy\\PaymentMethodUpdate();\n\n$response = $sdk->paymentMethods->update(\n    paymentMethodId: 'ef9496d8-53a5-4aad-8ca2-00eb68334389',\n    paymentMethodUpdate: $paymentMethodUpdate\n\n);\n\nif ($response->paymentMethod !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.PaymentMethodUpdate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.UpdatePaymentMethodResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        UpdatePaymentMethodResponse res = sdk.paymentMethods().update()\n                .paymentMethodId(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\")\n                .paymentMethodUpdate(PaymentMethodUpdate.builder()\n                    .build())\n                .call();\n\n        if (res.paymentMethod().isPresent()) {\n            System.out.println(res.paymentMethod().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.PaymentMethods.UpdateAsync(\n    paymentMethodId: \"ef9496d8-53a5-4aad-8ca2-00eb68334389\",\n    paymentMethodUpdate: new PaymentMethodUpdate() {}\n);\n\n// handle response"
          }
        ]
      },
      "delete": {
        "tags": [
          "Payment methods"
        ],
        "summary": "Delete payment method",
        "description": "Delete a payment method.",
        "operationId": "delete_payment_method",
        "parameters": [
          {
            "name": "payment_method_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the payment method",
              "examples": [
                "ef9496d8-53a5-4aad-8ca2-00eb68334389"
              ],
              "title": "Payment Method Id"
            },
            "description": "The ID of the payment method"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "delete",
        "x-speakeasy-group": "payment-methods",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  await gr4vy.paymentMethods.delete(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\");\n\n\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    g_client.payment_methods.delete(payment_method_id=\"ef9496d8-53a5-4aad-8ca2-00eb68334389\")\n\n    # Use the SDK ..."
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    err := s.PaymentMethods.Delete(ctx, \"ef9496d8-53a5-4aad-8ca2-00eb68334389\")\n    if err != nil {\n        log.Fatal(err)\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->paymentMethods->delete(\n    paymentMethodId: 'ef9496d8-53a5-4aad-8ca2-00eb68334389'\n);\n\nif ($response->statusCode === 200) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.DeletePaymentMethodResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        DeletePaymentMethodResponse res = sdk.paymentMethods().delete()\n                .paymentMethodId(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\")\n                .call();\n\n        // handle response\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nawait sdk.PaymentMethods.DeleteAsync(paymentMethodId: \"ef9496d8-53a5-4aad-8ca2-00eb68334389\");\n\n// handle response"
          }
        ]
      }
    },
    "/payment-methods/{payment_method_id}/payment-service-tokens": {
      "get": {
        "tags": [
          "Payment methods - Payment service tokens"
        ],
        "summary": "List payment service tokens",
        "description": "List all gateway tokens stored for a payment method.",
        "operationId": "list_payment_method_payment_service_tokens",
        "parameters": [
          {
            "name": "payment_method_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the payment method",
              "examples": [
                "ef9496d8-53a5-4aad-8ca2-00eb68334389"
              ],
              "title": "Payment Method Id"
            },
            "description": "The ID of the payment method"
          },
          {
            "name": "payment_service_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "description": "The ID of the payment service",
              "examples": [
                "fffd152a-9532-4087-9a4f-de58754210f0"
              ],
              "title": "Payment Service Id"
            },
            "description": "The ID of the payment service"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentServiceTokens"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "payment-methods.payment-service-tokens",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentMethods.paymentServiceTokens.list(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payment_methods.payment_service_tokens.list(payment_method_id=\"ef9496d8-53a5-4aad-8ca2-00eb68334389\", payment_service_id=\"fffd152a-9532-4087-9a4f-de58754210f0\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.PaymentMethods.PaymentServiceTokens.List(ctx, \"ef9496d8-53a5-4aad-8ca2-00eb68334389\", gr4vygo.Pointer(\"fffd152a-9532-4087-9a4f-de58754210f0\"))\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->paymentMethods->paymentServiceTokens->list(\n    paymentMethodId: 'ef9496d8-53a5-4aad-8ca2-00eb68334389',\n    paymentServiceId: 'fffd152a-9532-4087-9a4f-de58754210f0'\n\n);\n\nif ($response->paymentServiceTokens !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListPaymentMethodPaymentServiceTokensResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        ListPaymentMethodPaymentServiceTokensResponse res = sdk.paymentMethods().paymentServiceTokens().list()\n                .paymentMethodId(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\")\n                .paymentServiceId(\"fffd152a-9532-4087-9a4f-de58754210f0\")\n                .call();\n\n        if (res.paymentServiceTokens().isPresent()) {\n            System.out.println(res.paymentServiceTokens().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.PaymentMethods.PaymentServiceTokens.ListAsync(\n    paymentMethodId: \"ef9496d8-53a5-4aad-8ca2-00eb68334389\",\n    paymentServiceId: \"fffd152a-9532-4087-9a4f-de58754210f0\"\n);\n\n// handle response"
          }
        ]
      },
      "post": {
        "tags": [
          "Payment methods - Payment service tokens"
        ],
        "summary": "Create payment service token",
        "description": "Create a gateway tokens for a payment method.",
        "operationId": "create_payment_method_payment_service_token",
        "parameters": [
          {
            "name": "payment_method_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the payment method",
              "examples": [
                "ef9496d8-53a5-4aad-8ca2-00eb68334389"
              ],
              "title": "Payment Method Id"
            },
            "description": "The ID of the payment method"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentServiceTokenCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentServiceToken"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "payment-methods.payment-service-tokens",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentMethods.paymentServiceTokens.create({\n    paymentServiceId: \"fffd152a-9532-4087-9a4f-de58754210f0\",\n    redirectUrl: \"https://example.com/callback\",\n  }, \"ef9496d8-53a5-4aad-8ca2-00eb68334389\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payment_methods.payment_service_tokens.create(payment_method_id=\"ef9496d8-53a5-4aad-8ca2-00eb68334389\", payment_service_id=\"fffd152a-9532-4087-9a4f-de58754210f0\", redirect_url=\"https://example.com/callback\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.PaymentMethods.PaymentServiceTokens.Create(ctx, \"ef9496d8-53a5-4aad-8ca2-00eb68334389\", components.PaymentServiceTokenCreate{\n        PaymentServiceID: \"fffd152a-9532-4087-9a4f-de58754210f0\",\n        RedirectURL: \"https://example.com/callback\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$paymentServiceTokenCreate = new Gr4vy\\PaymentServiceTokenCreate(\n    paymentServiceId: 'fffd152a-9532-4087-9a4f-de58754210f0',\n    redirectUrl: 'https://example.com/callback',\n);\n\n$response = $sdk->paymentMethods->paymentServiceTokens->create(\n    paymentMethodId: 'ef9496d8-53a5-4aad-8ca2-00eb68334389',\n    paymentServiceTokenCreate: $paymentServiceTokenCreate\n\n);\n\nif ($response->paymentServiceToken !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.PaymentServiceTokenCreate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreatePaymentMethodPaymentServiceTokenResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        CreatePaymentMethodPaymentServiceTokenResponse res = sdk.paymentMethods().paymentServiceTokens().create()\n                .paymentMethodId(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\")\n                .paymentServiceTokenCreate(PaymentServiceTokenCreate.builder()\n                    .paymentServiceId(\"fffd152a-9532-4087-9a4f-de58754210f0\")\n                    .redirectUrl(\"https://example.com/callback\")\n                    .build())\n                .call();\n\n        if (res.paymentServiceToken().isPresent()) {\n            System.out.println(res.paymentServiceToken().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.PaymentMethods.PaymentServiceTokens.CreateAsync(\n    paymentMethodId: \"ef9496d8-53a5-4aad-8ca2-00eb68334389\",\n    paymentServiceTokenCreate: new PaymentServiceTokenCreate() {\n        PaymentServiceId = \"fffd152a-9532-4087-9a4f-de58754210f0\",\n        RedirectUrl = \"https://example.com/callback\",\n    }\n);\n\n// handle response"
          }
        ]
      }
    },
    "/payment-methods/{payment_method_id}/payment-service-tokens/{payment_service_token_id}": {
      "delete": {
        "tags": [
          "Payment methods - Payment service tokens"
        ],
        "summary": "Delete payment service token",
        "description": "Delete a gateway tokens for a payment method.",
        "operationId": "delete_payment_method_payment_service_token",
        "parameters": [
          {
            "name": "payment_method_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the payment method",
              "examples": [
                "ef9496d8-53a5-4aad-8ca2-00eb68334389"
              ],
              "title": "Payment Method Id"
            },
            "description": "The ID of the payment method"
          },
          {
            "name": "payment_service_token_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the payment service token",
              "examples": [
                "703f2d99-3fd1-44bc-9cbd-a25a2d597886"
              ],
              "title": "Payment Service Token Id"
            },
            "description": "The ID of the payment service token"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "delete",
        "x-speakeasy-group": "payment-methods.payment-service-tokens",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  await gr4vy.paymentMethods.paymentServiceTokens.delete(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\", \"703f2d99-3fd1-44bc-9cbd-a25a2d597886\");\n\n\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    g_client.payment_methods.payment_service_tokens.delete(payment_method_id=\"ef9496d8-53a5-4aad-8ca2-00eb68334389\", payment_service_token_id=\"703f2d99-3fd1-44bc-9cbd-a25a2d597886\")\n\n    # Use the SDK ..."
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    err := s.PaymentMethods.PaymentServiceTokens.Delete(ctx, \"ef9496d8-53a5-4aad-8ca2-00eb68334389\", \"703f2d99-3fd1-44bc-9cbd-a25a2d597886\")\n    if err != nil {\n        log.Fatal(err)\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->paymentMethods->paymentServiceTokens->delete(\n    paymentMethodId: 'ef9496d8-53a5-4aad-8ca2-00eb68334389',\n    paymentServiceTokenId: '703f2d99-3fd1-44bc-9cbd-a25a2d597886'\n\n);\n\nif ($response->statusCode === 200) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.DeletePaymentMethodPaymentServiceTokenResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        DeletePaymentMethodPaymentServiceTokenResponse res = sdk.paymentMethods().paymentServiceTokens().delete()\n                .paymentMethodId(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\")\n                .paymentServiceTokenId(\"703f2d99-3fd1-44bc-9cbd-a25a2d597886\")\n                .call();\n\n        // handle response\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nawait sdk.PaymentMethods.PaymentServiceTokens.DeleteAsync(\n    paymentMethodId: \"ef9496d8-53a5-4aad-8ca2-00eb68334389\",\n    paymentServiceTokenId: \"703f2d99-3fd1-44bc-9cbd-a25a2d597886\"\n);\n\n// handle response"
          }
        ]
      }
    },
    "/payment-methods/{payment_method_id}/network-tokens": {
      "get": {
        "tags": [
          "Payment methods - Network tokens"
        ],
        "summary": "List network tokens",
        "description": "List all network tokens stored for a payment method.",
        "operationId": "list_payment_method_network_tokens",
        "parameters": [
          {
            "name": "payment_method_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the payment method",
              "examples": [
                "ef9496d8-53a5-4aad-8ca2-00eb68334389"
              ],
              "title": "Payment Method Id"
            },
            "description": "The ID of the payment method"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkTokens"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "payment-methods.network-tokens",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentMethods.networkTokens.list(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payment_methods.network_tokens.list(payment_method_id=\"ef9496d8-53a5-4aad-8ca2-00eb68334389\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.PaymentMethods.NetworkTokens.List(ctx, \"ef9496d8-53a5-4aad-8ca2-00eb68334389\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->paymentMethods->networkTokens->list(\n    paymentMethodId: 'ef9496d8-53a5-4aad-8ca2-00eb68334389'\n);\n\nif ($response->networkTokens !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListPaymentMethodNetworkTokensResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        ListPaymentMethodNetworkTokensResponse res = sdk.paymentMethods().networkTokens().list()\n                .paymentMethodId(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\")\n                .call();\n\n        if (res.networkTokens().isPresent()) {\n            System.out.println(res.networkTokens().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.PaymentMethods.NetworkTokens.ListAsync(paymentMethodId: \"ef9496d8-53a5-4aad-8ca2-00eb68334389\");\n\n// handle response"
          }
        ]
      },
      "post": {
        "tags": [
          "Payment methods - Network tokens"
        ],
        "summary": "Provision network token",
        "description": "Provision a network token for a payment method.",
        "operationId": "create_payment_method_network_token",
        "parameters": [
          {
            "name": "payment_method_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the payment method",
              "examples": [
                "ef9496d8-53a5-4aad-8ca2-00eb68334389"
              ],
              "title": "Payment Method Id"
            },
            "description": "The ID of the payment method"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NetworkTokenCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkToken"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "payment-methods.network-tokens",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentMethods.networkTokens.create({\n    merchantInitiated: false,\n    isSubsequentPayment: false,\n  }, \"ef9496d8-53a5-4aad-8ca2-00eb68334389\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payment_methods.network_tokens.create(payment_method_id=\"ef9496d8-53a5-4aad-8ca2-00eb68334389\", merchant_initiated=False, is_subsequent_payment=False)\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.PaymentMethods.NetworkTokens.Create(ctx, \"ef9496d8-53a5-4aad-8ca2-00eb68334389\", components.NetworkTokenCreate{\n        MerchantInitiated: false,\n        IsSubsequentPayment: false,\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$networkTokenCreate = new Gr4vy\\NetworkTokenCreate(\n    merchantInitiated: false,\n    isSubsequentPayment: false,\n);\n\n$response = $sdk->paymentMethods->networkTokens->create(\n    paymentMethodId: 'ef9496d8-53a5-4aad-8ca2-00eb68334389',\n    networkTokenCreate: $networkTokenCreate\n\n);\n\nif ($response->networkToken !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.NetworkTokenCreate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreatePaymentMethodNetworkTokenResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        CreatePaymentMethodNetworkTokenResponse res = sdk.paymentMethods().networkTokens().create()\n                .paymentMethodId(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\")\n                .networkTokenCreate(NetworkTokenCreate.builder()\n                    .merchantInitiated(false)\n                    .isSubsequentPayment(false)\n                    .build())\n                .call();\n\n        if (res.networkToken().isPresent()) {\n            System.out.println(res.networkToken().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.PaymentMethods.NetworkTokens.CreateAsync(\n    paymentMethodId: \"ef9496d8-53a5-4aad-8ca2-00eb68334389\",\n    networkTokenCreate: new NetworkTokenCreate() {\n        MerchantInitiated = false,\n        IsSubsequentPayment = false,\n    }\n);\n\n// handle response"
          }
        ]
      }
    },
    "/payment-methods/{payment_method_id}/network-tokens/{network_token_id}/cryptogram": {
      "post": {
        "tags": [
          "Payment methods - Network tokens"
        ],
        "summary": "Provision network token cryptogram",
        "description": "Provision a cryptogram for a network token.",
        "operationId": "create_payment_method_network_token_cryptogram",
        "parameters": [
          {
            "name": "payment_method_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the payment method",
              "examples": [
                "ef9496d8-53a5-4aad-8ca2-00eb68334389"
              ],
              "title": "Payment Method Id"
            },
            "description": "The ID of the payment method"
          },
          {
            "name": "network_token_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the network token",
              "examples": [
                "f8dd5cfc-7834-4847-95dc-f75a360e2298"
              ],
              "title": "Network Token Id"
            },
            "description": "The ID of the network token"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CryptogramCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cryptogram"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "payment-methods.network-tokens.cryptogram",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentMethods.networkTokens.cryptogram.create({\n    merchantInitiated: false,\n  }, \"ef9496d8-53a5-4aad-8ca2-00eb68334389\", \"f8dd5cfc-7834-4847-95dc-f75a360e2298\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payment_methods.network_tokens.cryptogram.create(payment_method_id=\"ef9496d8-53a5-4aad-8ca2-00eb68334389\", network_token_id=\"f8dd5cfc-7834-4847-95dc-f75a360e2298\", merchant_initiated=False)\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.PaymentMethods.NetworkTokens.Cryptogram.Create(ctx, \"ef9496d8-53a5-4aad-8ca2-00eb68334389\", \"f8dd5cfc-7834-4847-95dc-f75a360e2298\", components.CryptogramCreate{\n        MerchantInitiated: false,\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$cryptogramCreate = new Gr4vy\\CryptogramCreate(\n    merchantInitiated: false,\n);\n\n$response = $sdk->paymentMethods->networkTokens->cryptogram->create(\n    paymentMethodId: 'ef9496d8-53a5-4aad-8ca2-00eb68334389',\n    networkTokenId: 'f8dd5cfc-7834-4847-95dc-f75a360e2298',\n    cryptogramCreate: $cryptogramCreate\n\n);\n\nif ($response->cryptogram !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.CryptogramCreate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreatePaymentMethodNetworkTokenCryptogramResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        CreatePaymentMethodNetworkTokenCryptogramResponse res = sdk.paymentMethods().networkTokens().cryptogram().create()\n                .paymentMethodId(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\")\n                .networkTokenId(\"f8dd5cfc-7834-4847-95dc-f75a360e2298\")\n                .cryptogramCreate(CryptogramCreate.builder()\n                    .merchantInitiated(false)\n                    .build())\n                .call();\n\n        if (res.cryptogram().isPresent()) {\n            System.out.println(res.cryptogram().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.PaymentMethods.NetworkTokens.Cryptogram.CreateAsync(\n    paymentMethodId: \"ef9496d8-53a5-4aad-8ca2-00eb68334389\",\n    networkTokenId: \"f8dd5cfc-7834-4847-95dc-f75a360e2298\",\n    cryptogramCreate: new CryptogramCreate() {\n        MerchantInitiated = false,\n    }\n);\n\n// handle response"
          }
        ]
      }
    },
    "/payment-methods/{payment_method_id}/network-tokens/{network_token_id}/suspend": {
      "post": {
        "tags": [
          "Payment methods - Network tokens"
        ],
        "summary": "Suspend network token",
        "description": "Suspend a network token for a payment method.",
        "operationId": "suspend_payment_method_network_token",
        "parameters": [
          {
            "name": "payment_method_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the payment method",
              "examples": [
                "ef9496d8-53a5-4aad-8ca2-00eb68334389"
              ],
              "title": "Payment Method Id"
            },
            "description": "The ID of the payment method"
          },
          {
            "name": "network_token_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the network token",
              "examples": [
                "f8dd5cfc-7834-4847-95dc-f75a360e2298"
              ],
              "title": "Network Token Id"
            },
            "description": "The ID of the network token"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkToken"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "suspend",
        "x-speakeasy-group": "payment-methods.network-tokens",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentMethods.networkTokens.suspend(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\", \"f8dd5cfc-7834-4847-95dc-f75a360e2298\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payment_methods.network_tokens.suspend(payment_method_id=\"ef9496d8-53a5-4aad-8ca2-00eb68334389\", network_token_id=\"f8dd5cfc-7834-4847-95dc-f75a360e2298\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.PaymentMethods.NetworkTokens.Suspend(ctx, \"ef9496d8-53a5-4aad-8ca2-00eb68334389\", \"f8dd5cfc-7834-4847-95dc-f75a360e2298\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->paymentMethods->networkTokens->suspend(\n    paymentMethodId: 'ef9496d8-53a5-4aad-8ca2-00eb68334389',\n    networkTokenId: 'f8dd5cfc-7834-4847-95dc-f75a360e2298'\n\n);\n\nif ($response->networkToken !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.SuspendPaymentMethodNetworkTokenResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        SuspendPaymentMethodNetworkTokenResponse res = sdk.paymentMethods().networkTokens().suspend()\n                .paymentMethodId(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\")\n                .networkTokenId(\"f8dd5cfc-7834-4847-95dc-f75a360e2298\")\n                .call();\n\n        if (res.networkToken().isPresent()) {\n            System.out.println(res.networkToken().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.PaymentMethods.NetworkTokens.SuspendAsync(\n    paymentMethodId: \"ef9496d8-53a5-4aad-8ca2-00eb68334389\",\n    networkTokenId: \"f8dd5cfc-7834-4847-95dc-f75a360e2298\"\n);\n\n// handle response"
          }
        ]
      }
    },
    "/payment-methods/{payment_method_id}/network-tokens/{network_token_id}/resume": {
      "post": {
        "tags": [
          "Payment methods - Network tokens"
        ],
        "summary": "Resume network token",
        "description": "Resume a suspended network token for a payment method.",
        "operationId": "resume_payment_method_network_token",
        "parameters": [
          {
            "name": "payment_method_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the payment method",
              "examples": [
                "ef9496d8-53a5-4aad-8ca2-00eb68334389"
              ],
              "title": "Payment Method Id"
            },
            "description": "The ID of the payment method"
          },
          {
            "name": "network_token_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the network token",
              "examples": [
                "f8dd5cfc-7834-4847-95dc-f75a360e2298"
              ],
              "title": "Network Token Id"
            },
            "description": "The ID of the network token"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkToken"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "resume",
        "x-speakeasy-group": "payment-methods.network-tokens",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentMethods.networkTokens.resume(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\", \"f8dd5cfc-7834-4847-95dc-f75a360e2298\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payment_methods.network_tokens.resume(payment_method_id=\"ef9496d8-53a5-4aad-8ca2-00eb68334389\", network_token_id=\"f8dd5cfc-7834-4847-95dc-f75a360e2298\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.PaymentMethods.NetworkTokens.Resume(ctx, \"ef9496d8-53a5-4aad-8ca2-00eb68334389\", \"f8dd5cfc-7834-4847-95dc-f75a360e2298\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->paymentMethods->networkTokens->resume(\n    paymentMethodId: 'ef9496d8-53a5-4aad-8ca2-00eb68334389',\n    networkTokenId: 'f8dd5cfc-7834-4847-95dc-f75a360e2298'\n\n);\n\nif ($response->networkToken !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ResumePaymentMethodNetworkTokenResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        ResumePaymentMethodNetworkTokenResponse res = sdk.paymentMethods().networkTokens().resume()\n                .paymentMethodId(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\")\n                .networkTokenId(\"f8dd5cfc-7834-4847-95dc-f75a360e2298\")\n                .call();\n\n        if (res.networkToken().isPresent()) {\n            System.out.println(res.networkToken().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.PaymentMethods.NetworkTokens.ResumeAsync(\n    paymentMethodId: \"ef9496d8-53a5-4aad-8ca2-00eb68334389\",\n    networkTokenId: \"f8dd5cfc-7834-4847-95dc-f75a360e2298\"\n);\n\n// handle response"
          }
        ]
      }
    },
    "/payment-methods/{payment_method_id}/network-tokens/{network_token_id}": {
      "delete": {
        "tags": [
          "Payment methods - Network tokens"
        ],
        "summary": "Delete network token",
        "description": "Delete a network token for a payment method.",
        "operationId": "delete_payment_method_network_token",
        "parameters": [
          {
            "name": "payment_method_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the payment method",
              "examples": [
                "ef9496d8-53a5-4aad-8ca2-00eb68334389"
              ],
              "title": "Payment Method Id"
            },
            "description": "The ID of the payment method"
          },
          {
            "name": "network_token_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the network token",
              "examples": [
                "f8dd5cfc-7834-4847-95dc-f75a360e2298"
              ],
              "title": "Network Token Id"
            },
            "description": "The ID of the network token"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "delete",
        "x-speakeasy-group": "payment-methods.network-tokens",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  await gr4vy.paymentMethods.networkTokens.delete(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\", \"f8dd5cfc-7834-4847-95dc-f75a360e2298\");\n\n\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    g_client.payment_methods.network_tokens.delete(payment_method_id=\"ef9496d8-53a5-4aad-8ca2-00eb68334389\", network_token_id=\"f8dd5cfc-7834-4847-95dc-f75a360e2298\")\n\n    # Use the SDK ..."
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    err := s.PaymentMethods.NetworkTokens.Delete(ctx, \"ef9496d8-53a5-4aad-8ca2-00eb68334389\", \"f8dd5cfc-7834-4847-95dc-f75a360e2298\")\n    if err != nil {\n        log.Fatal(err)\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->paymentMethods->networkTokens->delete(\n    paymentMethodId: 'ef9496d8-53a5-4aad-8ca2-00eb68334389',\n    networkTokenId: 'f8dd5cfc-7834-4847-95dc-f75a360e2298'\n\n);\n\nif ($response->statusCode === 200) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.DeletePaymentMethodNetworkTokenResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        DeletePaymentMethodNetworkTokenResponse res = sdk.paymentMethods().networkTokens().delete()\n                .paymentMethodId(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\")\n                .networkTokenId(\"f8dd5cfc-7834-4847-95dc-f75a360e2298\")\n                .call();\n\n        // handle response\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nawait sdk.PaymentMethods.NetworkTokens.DeleteAsync(\n    paymentMethodId: \"ef9496d8-53a5-4aad-8ca2-00eb68334389\",\n    networkTokenId: \"f8dd5cfc-7834-4847-95dc-f75a360e2298\"\n);\n\n// handle response"
          }
        ]
      }
    },
    "/gift-cards/balances": {
      "post": {
        "tags": [
          "Gift cards"
        ],
        "summary": "List gift card balances",
        "description": "Fetch the balances for one or more gift cards.",
        "operationId": "list_gift_card_balances",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GiftCardBalanceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GiftCardSummaries"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "gift-cards.balances",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.giftCards.balances.list({\n    items: [\n      {\n        id: \"356d56e5-fe16-42ae-97ee-8d55d846ae2e\",\n      },\n      {\n        id: \"356d56e5-fe16-42ae-97ee-8d55d846ae2e\",\n      },\n      {\n        number: \"4123455541234561234\",\n        pin: \"1234\",\n      },\n    ],\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.gift_cards.balances.list(items=[\n        {\n            \"id\": \"356d56e5-fe16-42ae-97ee-8d55d846ae2e\",\n        },\n        {\n            \"id\": \"356d56e5-fe16-42ae-97ee-8d55d846ae2e\",\n        },\n        {\n            \"number\": \"4123455541234561234\",\n            \"pin\": \"1234\",\n        },\n    ])\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.GiftCards.Balances.List(ctx, components.GiftCardBalanceRequest{\n        Items: []components.Item{\n            components.CreateItemGiftCardStoredRequest(\n                components.GiftCardStoredRequest{\n                    ID: \"356d56e5-fe16-42ae-97ee-8d55d846ae2e\",\n                },\n            ),\n            components.CreateItemGiftCardStoredRequest(\n                components.GiftCardStoredRequest{\n                    ID: \"356d56e5-fe16-42ae-97ee-8d55d846ae2e\",\n                },\n            ),\n            components.CreateItemGiftCardRequest(\n                components.GiftCardRequest{\n                    Number: \"4123455541234561234\",\n                    Pin: \"1234\",\n                },\n            ),\n        },\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$giftCardBalanceRequest = new Gr4vy\\GiftCardBalanceRequest(\n    items: [\n        new Gr4vy\\GiftCardStoredRequest(\n            id: '356d56e5-fe16-42ae-97ee-8d55d846ae2e',\n        ),\n        new Gr4vy\\GiftCardStoredRequest(\n            id: '356d56e5-fe16-42ae-97ee-8d55d846ae2e',\n        ),\n        new Gr4vy\\GiftCardRequest(\n            number: '4123455541234561234',\n            pin: '1234',\n        ),\n    ],\n);\n\n$response = $sdk->giftCards->balances->list(\n    giftCardBalanceRequest: $giftCardBalanceRequest\n);\n\nif ($response->giftCardSummaries !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.*;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListGiftCardBalancesResponse;\nimport java.lang.Exception;\nimport java.util.List;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        ListGiftCardBalancesResponse res = sdk.giftCards().balances().list()\n                .giftCardBalanceRequest(GiftCardBalanceRequest.builder()\n                    .items(List.of(\n                        Item.of(GiftCardStoredRequest.builder()\n                            .id(\"356d56e5-fe16-42ae-97ee-8d55d846ae2e\")\n                            .build()),\n                        Item.of(GiftCardStoredRequest.builder()\n                            .id(\"356d56e5-fe16-42ae-97ee-8d55d846ae2e\")\n                            .build()),\n                        Item.of(GiftCardRequest.builder()\n                            .number(\"4123455541234561234\")\n                            .pin(\"1234\")\n                            .build())))\n                    .build())\n                .call();\n\n        if (res.giftCardSummaries().isPresent()) {\n            System.out.println(res.giftCardSummaries().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing System.Collections.Generic;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.GiftCards.Balances.ListAsync(giftCardBalanceRequest: new GiftCardBalanceRequest() {\n    Items = new List<Item>() {\n        Item.CreateGiftCardStoredRequest(\n            new GiftCardStoredRequest() {\n                Id = \"356d56e5-fe16-42ae-97ee-8d55d846ae2e\",\n            }\n        ),\n        Item.CreateGiftCardStoredRequest(\n            new GiftCardStoredRequest() {\n                Id = \"356d56e5-fe16-42ae-97ee-8d55d846ae2e\",\n            }\n        ),\n        Item.CreateGiftCardRequest(\n            new GiftCardRequest() {\n                Number = \"4123455541234561234\",\n                Pin = \"1234\",\n            }\n        ),\n    },\n});\n\n// handle response"
          }
        ]
      }
    },
    "/gift-cards/{gift_card_id}": {
      "get": {
        "tags": [
          "Gift cards"
        ],
        "summary": "Get gift card",
        "description": "Fetch details about a gift card.",
        "operationId": "get_gift_card",
        "parameters": [
          {
            "name": "gift_card_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the gift card.",
              "examples": [
                "356d56e5-fe16-42ae-97ee-8d55d846ae2e"
              ],
              "title": "Gift Card Id"
            },
            "description": "The ID of the gift card."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GiftCard"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "get",
        "x-speakeasy-group": "gift-cards",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.giftCards.get(\"356d56e5-fe16-42ae-97ee-8d55d846ae2e\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.gift_cards.get(gift_card_id=\"356d56e5-fe16-42ae-97ee-8d55d846ae2e\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.GiftCards.Get(ctx, \"356d56e5-fe16-42ae-97ee-8d55d846ae2e\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->giftCards->get(\n    giftCardId: '356d56e5-fe16-42ae-97ee-8d55d846ae2e'\n);\n\nif ($response->giftCard !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.GetGiftCardResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        GetGiftCardResponse res = sdk.giftCards().get()\n                .giftCardId(\"356d56e5-fe16-42ae-97ee-8d55d846ae2e\")\n                .call();\n\n        if (res.giftCard().isPresent()) {\n            System.out.println(res.giftCard().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.GiftCards.GetAsync(giftCardId: \"356d56e5-fe16-42ae-97ee-8d55d846ae2e\");\n\n// handle response"
          }
        ]
      },
      "delete": {
        "tags": [
          "Buyers - Gift cards"
        ],
        "summary": "Delete a gift card",
        "description": "Removes a gift card from our system.",
        "operationId": "delete_gift_card",
        "parameters": [
          {
            "name": "gift_card_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the gift card.",
              "examples": [
                "356d56e5-fe16-42ae-97ee-8d55d846ae2e"
              ],
              "title": "Gift Card Id"
            },
            "description": "The ID of the gift card."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "delete",
        "x-speakeasy-group": "gift-cards",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  await gr4vy.giftCards.delete(\"356d56e5-fe16-42ae-97ee-8d55d846ae2e\");\n\n\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    g_client.gift_cards.delete(gift_card_id=\"356d56e5-fe16-42ae-97ee-8d55d846ae2e\")\n\n    # Use the SDK ..."
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    err := s.GiftCards.Delete(ctx, \"356d56e5-fe16-42ae-97ee-8d55d846ae2e\")\n    if err != nil {\n        log.Fatal(err)\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->giftCards->delete(\n    giftCardId: '356d56e5-fe16-42ae-97ee-8d55d846ae2e'\n);\n\nif ($response->statusCode === 200) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.DeleteGiftCardResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        DeleteGiftCardResponse res = sdk.giftCards().delete()\n                .giftCardId(\"356d56e5-fe16-42ae-97ee-8d55d846ae2e\")\n                .call();\n\n        // handle response\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nawait sdk.GiftCards.DeleteAsync(giftCardId: \"356d56e5-fe16-42ae-97ee-8d55d846ae2e\");\n\n// handle response"
          }
        ]
      }
    },
    "/gift-cards": {
      "post": {
        "tags": [
          "Gift cards"
        ],
        "summary": "Create gift card",
        "description": "Store a new gift card in the vault.",
        "operationId": "create_gift_card",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GiftCardCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GiftCard"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "gift-cards",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.giftCards.create({\n    number: \"4123455541234561234\",\n    pin: \"1234\",\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.gift_cards.create(number=\"4123455541234561234\", pin=\"1234\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.GiftCards.Create(ctx, components.GiftCardCreate{\n        Number: \"4123455541234561234\",\n        Pin: \"1234\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$giftCardCreate = new Gr4vy\\GiftCardCreate(\n    number: '4123455541234561234',\n    pin: '1234',\n);\n\n$response = $sdk->giftCards->create(\n    giftCardCreate: $giftCardCreate\n);\n\nif ($response->giftCard !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.GiftCardCreate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreateGiftCardResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        CreateGiftCardResponse res = sdk.giftCards().create()\n                .giftCardCreate(GiftCardCreate.builder()\n                    .number(\"4123455541234561234\")\n                    .pin(\"1234\")\n                    .build())\n                .call();\n\n        if (res.giftCard().isPresent()) {\n            System.out.println(res.giftCard().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.GiftCards.CreateAsync(giftCardCreate: new GiftCardCreate() {\n    Number = \"4123455541234561234\",\n    Pin = \"1234\",\n});\n\n// handle response"
          }
        ]
      },
      "get": {
        "tags": [
          "Gift cards"
        ],
        "summary": "List gift cards",
        "description": "Browser all gift cards.",
        "operationId": "list_gift_cards",
        "parameters": [
          {
            "name": "buyer_external_identifier",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Buyer External Identifier"
            }
          },
          {
            "name": "buyer_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Buyer Id"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "default": 20,
              "title": "Limit"
            }
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GiftCards"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "gift-cards",
        "x-speakeasy-pagination": {
          "type": "cursor",
          "inputs": [
            {
              "name": "cursor",
              "in": "parameters",
              "type": "cursor"
            }
          ],
          "outputs": {
            "nextCursor": "$.next_cursor"
          }
        },
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.giftCards.list();\n\n  for await (const page of result) {\n    console.log(page);\n  }\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.gift_cards.list(limit=20)\n\n    while res is not None:\n        # Handle items\n\n        res = res.next()"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.GiftCards.List(ctx, operations.ListGiftCardsRequest{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        for {\n            // handle items\n\n            res, err = res.Next()\n\n            if err != nil {\n                // handle error\n            }\n\n            if res == nil {\n                break\n            }\n        }\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$request = new Gr4vy\\ListGiftCardsRequest();\n\n$responses = $sdk->giftCards->list(\n    request: $request\n);\n\n\nforeach ($responses as $response) {\n    if ($response->statusCode === 200) {\n        // handle response\n    }\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListGiftCardsRequest;\nimport com.gr4vy.sdk.models.operations.ListGiftCardsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        ListGiftCardsRequest req = ListGiftCardsRequest.builder()\n                .build();\n\n\n        sdk.giftCards().list()\n                .callAsStream()\n                .forEach((ListGiftCardsResponse item) -> {\n                   // handle page\n                });\n\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing Gr4vy.Models.Requests;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nListGiftCardsRequest req = new ListGiftCardsRequest() {};\n\nListGiftCardsResponse? res = await sdk.GiftCards.ListAsync(req);\n\nwhile(res != null)\n{\n    // handle items\n\n    res = await res.Next!();\n}"
          }
        ]
      }
    },
    "/gift-cards/activations": {
      "post": {
        "tags": [
          "Gift cards"
        ],
        "summary": "Activate a gift card",
        "description": "Activate a physical gift card through the primary gift card service. Set `store` to `true` to also store the activated gift card.",
        "operationId": "activate_gift_card",
        "parameters": [
          {
            "name": "idempotency-key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A unique key that identifies this request. If supported by the gift card service, the value will be forwarded to make the activation idempotent. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions.",
              "title": "Idempotency-Key"
            },
            "description": "A unique key that identifies this request. If supported by the gift card service, the value will be forwarded to make the activation idempotent. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GiftCardActivationCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GiftCard"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "gift-cards.activations",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.giftCards.activations.create({\n    number: \"4123455541234561234\",\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.gift_cards.activations.create(number=\"4123455541234561234\", store=False)\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.GiftCards.Activations.Create(ctx, components.GiftCardActivationCreate{\n        Number: \"4123455541234561234\",\n    }, nil)\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$giftCardActivationCreate = new Gr4vy\\GiftCardActivationCreate(\n    number: '4123455541234561234',\n);\n\n$response = $sdk->giftCards->activations->create(\n    giftCardActivationCreate: $giftCardActivationCreate\n);\n\nif ($response->giftCard !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.GiftCardActivationCreate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ActivateGiftCardResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        ActivateGiftCardResponse res = sdk.giftCards().activations().create()\n                .giftCardActivationCreate(GiftCardActivationCreate.builder()\n                    .number(\"4123455541234561234\")\n                    .build())\n                .call();\n\n        if (res.giftCard().isPresent()) {\n            System.out.println(res.giftCard().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.GiftCards.Activations.CreateAsync(giftCardActivationCreate: new GiftCardActivationCreate() {\n    Number = \"4123455541234561234\",\n});\n\n// handle response"
          }
        ]
      }
    },
    "/gift-cards/issuances": {
      "post": {
        "tags": [
          "Gift cards"
        ],
        "summary": "Issue a gift card",
        "description": "Issue a new virtual gift card through the primary gift card service.",
        "operationId": "issue_gift_card",
        "parameters": [
          {
            "name": "idempotency-key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A unique key forwarded to the gift card service to make the issuance idempotent.",
              "title": "Idempotency-Key"
            },
            "description": "A unique key forwarded to the gift card service to make the issuance idempotent."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GiftCardIssuanceCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GiftCardIssuance"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "gift-cards.issuances",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.giftCards.issuances.create({\n    theme: \"031111372\",\n    amount: 5000,\n    currency: \"EUR\",\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.gift_cards.issuances.create(theme=\"031111372\", amount=5000, currency=\"EUR\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.GiftCards.Issuances.Create(ctx, components.GiftCardIssuanceCreate{\n        Theme: \"031111372\",\n        Amount: 5000,\n        Currency: \"EUR\",\n    }, nil)\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$giftCardIssuanceCreate = new Gr4vy\\GiftCardIssuanceCreate(\n    theme: '031111372',\n    amount: 5000,\n    currency: 'EUR',\n);\n\n$response = $sdk->giftCards->issuances->create(\n    giftCardIssuanceCreate: $giftCardIssuanceCreate\n);\n\nif ($response->giftCardIssuance !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.GiftCardIssuanceCreate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.IssueGiftCardResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        IssueGiftCardResponse res = sdk.giftCards().issuances().create()\n                .giftCardIssuanceCreate(GiftCardIssuanceCreate.builder()\n                    .theme(\"031111372\")\n                    .amount(5000L)\n                    .currency(\"EUR\")\n                    .build())\n                .call();\n\n        if (res.giftCardIssuance().isPresent()) {\n            System.out.println(res.giftCardIssuance().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.GiftCards.Issuances.CreateAsync(giftCardIssuanceCreate: new GiftCardIssuanceCreate() {\n    Theme = \"031111372\",\n    Amount = 5000,\n    Currency = \"EUR\",\n});\n\n// handle response"
          }
        ]
      }
    },
    "/buyers/gift-cards": {
      "get": {
        "tags": [
          "Buyers - Gift cards"
        ],
        "summary": "List gift cards for a buyer",
        "description": "List all the stored gift cards for a specific buyer.",
        "operationId": "list_buyer_gift_cards",
        "parameters": [
          {
            "name": "buyer_external_identifier",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Buyer External Identifier"
            }
          },
          {
            "name": "buyer_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Buyer Id"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "const": "last_used_at",
                  "type": "string"
                },
                {
                  "const": "usage_count",
                  "type": "string"
                },
                {
                  "const": "cit_last_used_at",
                  "type": "string"
                },
                {
                  "const": "cit_usage_count",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "The field to sort the gift cards by.",
              "examples": [
                "last_used_at"
              ],
              "title": "Sort By"
            },
            "description": "The field to sort the gift cards by."
          },
          {
            "name": "order_by",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string",
              "description": "The direction to sort the gift cards in.",
              "examples": [
                "desc"
              ],
              "default": "desc",
              "title": "Order By",
              "x-speakeasy-unknown-values": "allow"
            },
            "description": "The direction to sort the gift cards in."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GiftCardSummaries"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "buyers.gift-cards",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.buyers.giftCards.list();\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.buyers.gift_cards.list(order_by=\"desc\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Buyers.GiftCards.List(ctx, operations.ListBuyerGiftCardsRequest{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$request = new Gr4vy\\ListBuyerGiftCardsRequest();\n\n$response = $sdk->buyers->giftCards->list(\n    request: $request\n);\n\nif ($response->giftCardSummaries !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListBuyerGiftCardsRequest;\nimport com.gr4vy.sdk.models.operations.ListBuyerGiftCardsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        ListBuyerGiftCardsRequest req = ListBuyerGiftCardsRequest.builder()\n                .build();\n\n        ListBuyerGiftCardsResponse res = sdk.buyers().giftCards().list()\n                .request(req)\n                .call();\n\n        if (res.giftCardSummaries().isPresent()) {\n            System.out.println(res.giftCardSummaries().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing Gr4vy.Models.Requests;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nListBuyerGiftCardsRequest req = new ListBuyerGiftCardsRequest() {};\n\nvar res = await sdk.Buyers.GiftCards.ListAsync(req);\n\n// handle response"
          }
        ]
      }
    },
    "/buyers": {
      "get": {
        "tags": [
          "Buyers"
        ],
        "summary": "List all buyers",
        "description": "List all buyers or search for a specific buyer.",
        "operationId": "list_buyers",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A pointer to the page of results to return.",
              "examples": [
                "ZXhhbXBsZTE"
              ],
              "title": "Cursor"
            },
            "description": "A pointer to the page of results to return."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "The maximum number of items that are at returned.",
              "examples": [
                20
              ],
              "default": 20,
              "title": "Limit"
            },
            "description": "The maximum number of items that are at returned."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only the buyers for which the `display_name` or `external_identifier` matches this value.",
              "examples": [
                "John"
              ],
              "title": "Search"
            },
            "description": "Filters the results to only the buyers for which the `display_name` or `external_identifier` matches this value."
          },
          {
            "name": "external_identifier",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only the buyers for which the `external_identifier` matches this value.",
              "examples": [
                "buyer-12345"
              ],
              "title": "External Identifier"
            },
            "description": "Filters the results to only the buyers for which the `external_identifier` matches this value."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Buyers"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "buyers",
        "x-speakeasy-pagination": {
          "type": "cursor",
          "inputs": [
            {
              "name": "cursor",
              "in": "parameters",
              "type": "cursor"
            }
          ],
          "outputs": {
            "nextCursor": "$.next_cursor"
          }
        },
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.buyers.list();\n\n  for await (const page of result) {\n    console.log(page);\n  }\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.buyers.list(cursor=\"ZXhhbXBsZTE\", limit=20, search=\"John\", external_identifier=\"buyer-12345\")\n\n    while res is not None:\n        # Handle items\n\n        res = res.next()"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Buyers.List(ctx, operations.ListBuyersRequest{\n        Cursor: gr4vygo.Pointer(\"ZXhhbXBsZTE\"),\n        Search: gr4vygo.Pointer(\"John\"),\n        ExternalIdentifier: gr4vygo.Pointer(\"buyer-12345\"),\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        for {\n            // handle items\n\n            res, err = res.Next()\n\n            if err != nil {\n                // handle error\n            }\n\n            if res == nil {\n                break\n            }\n        }\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$request = new Gr4vy\\ListBuyersRequest(\n    cursor: 'ZXhhbXBsZTE',\n    search: 'John',\n    externalIdentifier: 'buyer-12345',\n);\n\n$responses = $sdk->buyers->list(\n    request: $request\n);\n\n\nforeach ($responses as $response) {\n    if ($response->statusCode === 200) {\n        // handle response\n    }\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListBuyersRequest;\nimport com.gr4vy.sdk.models.operations.ListBuyersResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        ListBuyersRequest req = ListBuyersRequest.builder()\n                .cursor(\"ZXhhbXBsZTE\")\n                .search(\"John\")\n                .externalIdentifier(\"buyer-12345\")\n                .build();\n\n\n        sdk.buyers().list()\n                .callAsStream()\n                .forEach((ListBuyersResponse item) -> {\n                   // handle page\n                });\n\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing Gr4vy.Models.Requests;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nListBuyersRequest req = new ListBuyersRequest() {\n    Cursor = \"ZXhhbXBsZTE\",\n    Search = \"John\",\n    ExternalIdentifier = \"buyer-12345\",\n};\n\nListBuyersResponse? res = await sdk.Buyers.ListAsync(req);\n\nwhile(res != null)\n{\n    // handle items\n\n    res = await res.Next!();\n}"
          }
        ]
      },
      "post": {
        "tags": [
          "Buyers"
        ],
        "summary": "Add a buyer",
        "description": "Create a new buyer record.",
        "operationId": "add_buyer",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BuyerCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Buyer"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "buyers",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.buyers.create({});\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.buyers.create()\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Buyers.Create(ctx, components.BuyerCreate{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$buyerCreate = new Gr4vy\\BuyerCreate();\n\n$response = $sdk->buyers->create(\n    buyerCreate: $buyerCreate\n);\n\nif ($response->buyer !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.BuyerCreate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.AddBuyerResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        AddBuyerResponse res = sdk.buyers().create()\n                .buyerCreate(BuyerCreate.builder()\n                    .build())\n                .call();\n\n        if (res.buyer().isPresent()) {\n            System.out.println(res.buyer().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Buyers.CreateAsync(buyerCreate: new BuyerCreate() {});\n\n// handle response"
          }
        ]
      }
    },
    "/buyers/{buyer_id}": {
      "get": {
        "tags": [
          "Buyers"
        ],
        "summary": "Get a buyer",
        "description": "Fetches a buyer by its ID.",
        "operationId": "get_buyer",
        "parameters": [
          {
            "name": "buyer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the buyer to retrieve.",
              "examples": [
                "fe26475d-ec3e-4884-9553-f7356683f7f9"
              ],
              "title": "Buyer Id"
            },
            "description": "The ID of the buyer to retrieve."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Buyer"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "get",
        "x-speakeasy-group": "buyers",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.buyers.get(\"fe26475d-ec3e-4884-9553-f7356683f7f9\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.buyers.get(buyer_id=\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Buyers.Get(ctx, \"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->buyers->get(\n    buyerId: 'fe26475d-ec3e-4884-9553-f7356683f7f9'\n);\n\nif ($response->buyer !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.GetBuyerResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        GetBuyerResponse res = sdk.buyers().get()\n                .buyerId(\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n                .call();\n\n        if (res.buyer().isPresent()) {\n            System.out.println(res.buyer().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Buyers.GetAsync(buyerId: \"fe26475d-ec3e-4884-9553-f7356683f7f9\");\n\n// handle response"
          }
        ]
      },
      "put": {
        "tags": [
          "Buyers"
        ],
        "summary": "Update a buyer",
        "description": "Updates a buyer record.",
        "operationId": "update_buyer",
        "parameters": [
          {
            "name": "buyer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the buyer to edit.",
              "examples": [
                "fe26475d-ec3e-4884-9553-f7356683f7f9"
              ],
              "title": "Buyer Id"
            },
            "description": "The ID of the buyer to edit."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BuyerUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Buyer"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "update",
        "x-speakeasy-group": "buyers",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.buyers.update({}, \"fe26475d-ec3e-4884-9553-f7356683f7f9\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.buyers.update(buyer_id=\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Buyers.Update(ctx, \"fe26475d-ec3e-4884-9553-f7356683f7f9\", components.BuyerUpdate{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$buyerUpdate = new Gr4vy\\BuyerUpdate();\n\n$response = $sdk->buyers->update(\n    buyerId: 'fe26475d-ec3e-4884-9553-f7356683f7f9',\n    buyerUpdate: $buyerUpdate\n\n);\n\nif ($response->buyer !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.BuyerUpdate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.UpdateBuyerResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        UpdateBuyerResponse res = sdk.buyers().update()\n                .buyerId(\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n                .buyerUpdate(BuyerUpdate.builder()\n                    .build())\n                .call();\n\n        if (res.buyer().isPresent()) {\n            System.out.println(res.buyer().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Buyers.UpdateAsync(\n    buyerId: \"fe26475d-ec3e-4884-9553-f7356683f7f9\",\n    buyerUpdate: new BuyerUpdate() {}\n);\n\n// handle response"
          }
        ]
      },
      "delete": {
        "tags": [
          "Buyers"
        ],
        "summary": "Delete a buyer",
        "description": "Permanently removes a buyer record.",
        "operationId": "delete_buyer",
        "parameters": [
          {
            "name": "buyer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the buyer to delete.",
              "examples": [
                "fe26475d-ec3e-4884-9553-f7356683f7f9"
              ],
              "title": "Buyer Id"
            },
            "description": "The ID of the buyer to delete."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "delete",
        "x-speakeasy-group": "buyers",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  await gr4vy.buyers.delete(\"fe26475d-ec3e-4884-9553-f7356683f7f9\");\n\n\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    g_client.buyers.delete(buyer_id=\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n\n    # Use the SDK ..."
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    err := s.Buyers.Delete(ctx, \"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n    if err != nil {\n        log.Fatal(err)\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->buyers->delete(\n    buyerId: 'fe26475d-ec3e-4884-9553-f7356683f7f9'\n);\n\nif ($response->statusCode === 200) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.DeleteBuyerResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        DeleteBuyerResponse res = sdk.buyers().delete()\n                .buyerId(\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n                .call();\n\n        // handle response\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nawait sdk.Buyers.DeleteAsync(buyerId: \"fe26475d-ec3e-4884-9553-f7356683f7f9\");\n\n// handle response"
          }
        ]
      }
    },
    "/buyers/{buyer_id}/shipping-details": {
      "post": {
        "tags": [
          "Buyers - Shipping details"
        ],
        "summary": "Add buyer shipping details",
        "description": "Associate shipping details to a buyer.",
        "operationId": "add_buyer_shipping_details",
        "parameters": [
          {
            "name": "buyer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the buyer to add shipping details to.",
              "examples": [
                "fe26475d-ec3e-4884-9553-f7356683f7f9"
              ],
              "title": "Buyer Id"
            },
            "description": "The ID of the buyer to add shipping details to."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShippingDetailsCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingDetails"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "buyers.shipping-details",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.buyers.shippingDetails.create({}, \"fe26475d-ec3e-4884-9553-f7356683f7f9\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.buyers.shipping_details.create(buyer_id=\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Buyers.ShippingDetails.Create(ctx, \"fe26475d-ec3e-4884-9553-f7356683f7f9\", components.ShippingDetailsCreate{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$shippingDetailsCreate = new Gr4vy\\ShippingDetailsCreate();\n\n$response = $sdk->buyers->shippingDetails->create(\n    buyerId: 'fe26475d-ec3e-4884-9553-f7356683f7f9',\n    shippingDetailsCreate: $shippingDetailsCreate\n\n);\n\nif ($response->shippingDetails !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.ShippingDetailsCreate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.AddBuyerShippingDetailsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        AddBuyerShippingDetailsResponse res = sdk.buyers().shippingDetails().create()\n                .buyerId(\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n                .shippingDetailsCreate(ShippingDetailsCreate.builder()\n                    .build())\n                .call();\n\n        if (res.shippingDetails().isPresent()) {\n            System.out.println(res.shippingDetails().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Buyers.ShippingDetails.CreateAsync(\n    buyerId: \"fe26475d-ec3e-4884-9553-f7356683f7f9\",\n    shippingDetailsCreate: new ShippingDetailsCreate() {}\n);\n\n// handle response"
          }
        ]
      },
      "get": {
        "tags": [
          "Buyers - Shipping details"
        ],
        "summary": "List a buyer's shipping details",
        "description": "List all the shipping details associated to a specific buyer.",
        "operationId": "list_buyer_shipping_details",
        "parameters": [
          {
            "name": "buyer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the buyer to retrieve shipping details for.",
              "examples": [
                "fe26475d-ec3e-4884-9553-f7356683f7f9"
              ],
              "title": "Buyer Id"
            },
            "description": "The ID of the buyer to retrieve shipping details for."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingDetailsList"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "buyers.shipping-details",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.buyers.shippingDetails.list(\"fe26475d-ec3e-4884-9553-f7356683f7f9\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.buyers.shipping_details.list(buyer_id=\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Buyers.ShippingDetails.List(ctx, \"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->buyers->shippingDetails->list(\n    buyerId: 'fe26475d-ec3e-4884-9553-f7356683f7f9'\n);\n\nif ($response->shippingDetailsList !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListBuyerShippingDetailsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        ListBuyerShippingDetailsResponse res = sdk.buyers().shippingDetails().list()\n                .buyerId(\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n                .call();\n\n        if (res.shippingDetailsList().isPresent()) {\n            System.out.println(res.shippingDetailsList().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Buyers.ShippingDetails.ListAsync(buyerId: \"fe26475d-ec3e-4884-9553-f7356683f7f9\");\n\n// handle response"
          }
        ]
      }
    },
    "/buyers/{buyer_id}/shipping-details/{shipping_details_id}": {
      "get": {
        "tags": [
          "Buyers - Shipping details"
        ],
        "summary": "Get buyer shipping details",
        "description": "Get a buyer's shipping details.",
        "operationId": "get_buyer_shipping_details",
        "parameters": [
          {
            "name": "buyer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the buyer to retrieve shipping details for.",
              "examples": [
                "fe26475d-ec3e-4884-9553-f7356683f7f9"
              ],
              "title": "Buyer Id"
            },
            "description": "The ID of the buyer to retrieve shipping details for."
          },
          {
            "name": "shipping_details_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the shipping details to retrieve.",
              "examples": [
                "bf8c36ad-02d9-4904-b0f9-a230b149e341"
              ],
              "title": "Shipping Details Id"
            },
            "description": "The ID of the shipping details to retrieve."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingDetails"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "get",
        "x-speakeasy-group": "buyers.shipping-details",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.buyers.shippingDetails.get(\"fe26475d-ec3e-4884-9553-f7356683f7f9\", \"bf8c36ad-02d9-4904-b0f9-a230b149e341\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.buyers.shipping_details.get(buyer_id=\"fe26475d-ec3e-4884-9553-f7356683f7f9\", shipping_details_id=\"bf8c36ad-02d9-4904-b0f9-a230b149e341\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Buyers.ShippingDetails.Get(ctx, \"fe26475d-ec3e-4884-9553-f7356683f7f9\", \"bf8c36ad-02d9-4904-b0f9-a230b149e341\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->buyers->shippingDetails->get(\n    buyerId: 'fe26475d-ec3e-4884-9553-f7356683f7f9',\n    shippingDetailsId: 'bf8c36ad-02d9-4904-b0f9-a230b149e341'\n\n);\n\nif ($response->shippingDetails !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.GetBuyerShippingDetailsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        GetBuyerShippingDetailsResponse res = sdk.buyers().shippingDetails().get()\n                .buyerId(\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n                .shippingDetailsId(\"bf8c36ad-02d9-4904-b0f9-a230b149e341\")\n                .call();\n\n        if (res.shippingDetails().isPresent()) {\n            System.out.println(res.shippingDetails().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Buyers.ShippingDetails.GetAsync(\n    buyerId: \"fe26475d-ec3e-4884-9553-f7356683f7f9\",\n    shippingDetailsId: \"bf8c36ad-02d9-4904-b0f9-a230b149e341\"\n);\n\n// handle response"
          }
        ]
      },
      "put": {
        "tags": [
          "Buyers - Shipping details"
        ],
        "summary": "Update a buyer's shipping details",
        "description": "Update the shipping details associated to a specific buyer.",
        "operationId": "update_buyer_shipping_details",
        "parameters": [
          {
            "name": "buyer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the buyer to update shipping details for.",
              "examples": [
                "fe26475d-ec3e-4884-9553-f7356683f7f9"
              ],
              "title": "Buyer Id"
            },
            "description": "The ID of the buyer to update shipping details for."
          },
          {
            "name": "shipping_details_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the shipping details to update.",
              "examples": [
                "bf8c36ad-02d9-4904-b0f9-a230b149e341"
              ],
              "title": "Shipping Details Id"
            },
            "description": "The ID of the shipping details to update."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShippingDetailsUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingDetails"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "update",
        "x-speakeasy-group": "buyers.shipping-details",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.buyers.shippingDetails.update({}, \"fe26475d-ec3e-4884-9553-f7356683f7f9\", \"bf8c36ad-02d9-4904-b0f9-a230b149e341\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.buyers.shipping_details.update(buyer_id=\"fe26475d-ec3e-4884-9553-f7356683f7f9\", shipping_details_id=\"bf8c36ad-02d9-4904-b0f9-a230b149e341\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Buyers.ShippingDetails.Update(ctx, \"fe26475d-ec3e-4884-9553-f7356683f7f9\", \"bf8c36ad-02d9-4904-b0f9-a230b149e341\", components.ShippingDetailsUpdate{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$shippingDetailsUpdate = new Gr4vy\\ShippingDetailsUpdate();\n\n$response = $sdk->buyers->shippingDetails->update(\n    buyerId: 'fe26475d-ec3e-4884-9553-f7356683f7f9',\n    shippingDetailsId: 'bf8c36ad-02d9-4904-b0f9-a230b149e341',\n    shippingDetailsUpdate: $shippingDetailsUpdate\n\n);\n\nif ($response->shippingDetails !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.ShippingDetailsUpdate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.UpdateBuyerShippingDetailsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        UpdateBuyerShippingDetailsResponse res = sdk.buyers().shippingDetails().update()\n                .buyerId(\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n                .shippingDetailsId(\"bf8c36ad-02d9-4904-b0f9-a230b149e341\")\n                .shippingDetailsUpdate(ShippingDetailsUpdate.builder()\n                    .build())\n                .call();\n\n        if (res.shippingDetails().isPresent()) {\n            System.out.println(res.shippingDetails().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Buyers.ShippingDetails.UpdateAsync(\n    buyerId: \"fe26475d-ec3e-4884-9553-f7356683f7f9\",\n    shippingDetailsId: \"bf8c36ad-02d9-4904-b0f9-a230b149e341\",\n    shippingDetailsUpdate: new ShippingDetailsUpdate() {}\n);\n\n// handle response"
          }
        ]
      },
      "delete": {
        "tags": [
          "Buyers - Shipping details"
        ],
        "summary": "Delete a buyer's shipping details",
        "description": "Delete the shipping details associated to a specific buyer.",
        "operationId": "delete_buyer_shipping_details",
        "parameters": [
          {
            "name": "buyer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the buyer to delete shipping details for.",
              "examples": [
                "fe26475d-ec3e-4884-9553-f7356683f7f9"
              ],
              "title": "Buyer Id"
            },
            "description": "The ID of the buyer to delete shipping details for."
          },
          {
            "name": "shipping_details_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the shipping details to delete.",
              "examples": [
                "bf8c36ad-02d9-4904-b0f9-a230b149e341"
              ],
              "title": "Shipping Details Id"
            },
            "description": "The ID of the shipping details to delete."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "delete",
        "x-speakeasy-group": "buyers.shipping-details",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  await gr4vy.buyers.shippingDetails.delete(\"fe26475d-ec3e-4884-9553-f7356683f7f9\", \"bf8c36ad-02d9-4904-b0f9-a230b149e341\");\n\n\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    g_client.buyers.shipping_details.delete(buyer_id=\"fe26475d-ec3e-4884-9553-f7356683f7f9\", shipping_details_id=\"bf8c36ad-02d9-4904-b0f9-a230b149e341\")\n\n    # Use the SDK ..."
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    err := s.Buyers.ShippingDetails.Delete(ctx, \"fe26475d-ec3e-4884-9553-f7356683f7f9\", \"bf8c36ad-02d9-4904-b0f9-a230b149e341\")\n    if err != nil {\n        log.Fatal(err)\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->buyers->shippingDetails->delete(\n    buyerId: 'fe26475d-ec3e-4884-9553-f7356683f7f9',\n    shippingDetailsId: 'bf8c36ad-02d9-4904-b0f9-a230b149e341'\n\n);\n\nif ($response->statusCode === 200) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.DeleteBuyerShippingDetailsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        DeleteBuyerShippingDetailsResponse res = sdk.buyers().shippingDetails().delete()\n                .buyerId(\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n                .shippingDetailsId(\"bf8c36ad-02d9-4904-b0f9-a230b149e341\")\n                .call();\n\n        // handle response\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nawait sdk.Buyers.ShippingDetails.DeleteAsync(\n    buyerId: \"fe26475d-ec3e-4884-9553-f7356683f7f9\",\n    shippingDetailsId: \"bf8c36ad-02d9-4904-b0f9-a230b149e341\"\n);\n\n// handle response"
          }
        ]
      }
    },
    "/card-scheme-definitions": {
      "get": {
        "tags": [
          "Card scheme definitions"
        ],
        "summary": "List card scheme definitions",
        "description": "Fetch a list of the definitions of each card scheme.",
        "operationId": "list_card_scheme_definitions",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardSchemeDefinitions"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "card-scheme-definitions",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.cardSchemeDefinitions.list();\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.card_scheme_definitions.list()\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.CardSchemeDefinitions.List(ctx)\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->cardSchemeDefinitions->list(\n\n);\n\nif ($response->cardSchemeDefinitions !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListCardSchemeDefinitionsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        ListCardSchemeDefinitionsResponse res = sdk.cardSchemeDefinitions().list()\n                .call();\n\n        if (res.cardSchemeDefinitions().isPresent()) {\n            System.out.println(res.cardSchemeDefinitions().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.CardSchemeDefinitions.ListAsync();\n\n// handle response"
          }
        ]
      }
    },
    "/digital-wallets": {
      "post": {
        "tags": [
          "Digital wallets - Setup"
        ],
        "summary": "Register digital wallet",
        "description": "Register a digital wallet like Apple Pay, Google Pay, or Click to Pay.",
        "operationId": "configure_digital_wallet",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DigitalWalletCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalWallet"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "digital-wallets",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.digitalWallets.create({\n    provider: \"click-to-pay\",\n    merchantName: \"<value>\",\n    acceptTermsAndConditions: false,\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.digital_wallets.create(provider=\"click-to-pay\", merchant_name=\"<value>\", accept_terms_and_conditions=False)\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.DigitalWallets.Create(ctx, components.DigitalWalletCreate{\n        Provider: components.DigitalWalletProviderClickToPay,\n        MerchantName: \"<value>\",\n        AcceptTermsAndConditions: false,\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$digitalWalletCreate = new Gr4vy\\DigitalWalletCreate(\n    provider: 'click-to-pay',\n    merchantName: '<value>',\n    acceptTermsAndConditions: false,\n);\n\n$response = $sdk->digitalWallets->create(\n    digitalWalletCreate: $digitalWalletCreate\n);\n\nif ($response->digitalWallet !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.DigitalWalletCreate;\nimport com.gr4vy.sdk.models.components.DigitalWalletProvider;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ConfigureDigitalWalletResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        ConfigureDigitalWalletResponse res = sdk.digitalWallets().create()\n                .digitalWalletCreate(DigitalWalletCreate.builder()\n                    .provider(DigitalWalletProvider.CLICK_TO_PAY)\n                    .merchantName(\"<value>\")\n                    .acceptTermsAndConditions(false)\n                    .build())\n                .call();\n\n        if (res.digitalWallet().isPresent()) {\n            System.out.println(res.digitalWallet().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.DigitalWallets.CreateAsync(digitalWalletCreate: new DigitalWalletCreate() {\n    Provider = \"click-to-pay\",\n    MerchantName = \"<value>\",\n    AcceptTermsAndConditions = false,\n});\n\n// handle response"
          }
        ]
      },
      "get": {
        "tags": [
          "Digital wallets - Setup"
        ],
        "summary": "List digital wallets",
        "description": "List configured digital wallets.",
        "operationId": "list_digital_wallets",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalWallets"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "digital-wallets",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.digitalWallets.list();\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.digital_wallets.list()\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.DigitalWallets.List(ctx)\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->digitalWallets->list(\n\n);\n\nif ($response->digitalWallets !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListDigitalWalletsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        ListDigitalWalletsResponse res = sdk.digitalWallets().list()\n                .call();\n\n        if (res.digitalWallets().isPresent()) {\n            System.out.println(res.digitalWallets().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.DigitalWallets.ListAsync();\n\n// handle response"
          }
        ]
      }
    },
    "/digital-wallets/{digital_wallet_id}": {
      "get": {
        "tags": [
          "Digital wallets - Setup"
        ],
        "summary": "Get digital wallet",
        "description": "Fetch the details a digital wallet.",
        "operationId": "get_digital_wallet",
        "parameters": [
          {
            "name": "digital_wallet_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the digital wallet to read.",
              "examples": [
                "1808f5e6-b49c-4db9-94fa-22371ea352f5"
              ],
              "title": "Digital Wallet Id"
            },
            "description": "The ID of the digital wallet to read."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalWallet"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "get",
        "x-speakeasy-group": "digital-wallets",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.digitalWallets.get(\"1808f5e6-b49c-4db9-94fa-22371ea352f5\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.digital_wallets.get(digital_wallet_id=\"1808f5e6-b49c-4db9-94fa-22371ea352f5\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.DigitalWallets.Get(ctx, \"1808f5e6-b49c-4db9-94fa-22371ea352f5\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->digitalWallets->get(\n    digitalWalletId: '1808f5e6-b49c-4db9-94fa-22371ea352f5'\n);\n\nif ($response->digitalWallet !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.GetDigitalWalletResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        GetDigitalWalletResponse res = sdk.digitalWallets().get()\n                .digitalWalletId(\"1808f5e6-b49c-4db9-94fa-22371ea352f5\")\n                .call();\n\n        if (res.digitalWallet().isPresent()) {\n            System.out.println(res.digitalWallet().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.DigitalWallets.GetAsync(digitalWalletId: \"1808f5e6-b49c-4db9-94fa-22371ea352f5\");\n\n// handle response"
          }
        ]
      },
      "delete": {
        "tags": [
          "Digital wallets - Setup"
        ],
        "summary": "Delete digital wallet",
        "description": "Delete a configured digital wallet.",
        "operationId": "delete_digital_wallet",
        "parameters": [
          {
            "name": "digital_wallet_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the digital wallet to delete.",
              "examples": [
                "1808f5e6-b49c-4db9-94fa-22371ea352f5"
              ],
              "title": "Digital Wallet Id"
            },
            "description": "The ID of the digital wallet to delete."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "delete",
        "x-speakeasy-group": "digital-wallets",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  await gr4vy.digitalWallets.delete(\"1808f5e6-b49c-4db9-94fa-22371ea352f5\");\n\n\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    g_client.digital_wallets.delete(digital_wallet_id=\"1808f5e6-b49c-4db9-94fa-22371ea352f5\")\n\n    # Use the SDK ..."
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    err := s.DigitalWallets.Delete(ctx, \"1808f5e6-b49c-4db9-94fa-22371ea352f5\")\n    if err != nil {\n        log.Fatal(err)\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->digitalWallets->delete(\n    digitalWalletId: '1808f5e6-b49c-4db9-94fa-22371ea352f5'\n);\n\nif ($response->statusCode === 200) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.DeleteDigitalWalletResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        DeleteDigitalWalletResponse res = sdk.digitalWallets().delete()\n                .digitalWalletId(\"1808f5e6-b49c-4db9-94fa-22371ea352f5\")\n                .call();\n\n        // handle response\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nawait sdk.DigitalWallets.DeleteAsync(digitalWalletId: \"1808f5e6-b49c-4db9-94fa-22371ea352f5\");\n\n// handle response"
          }
        ]
      },
      "put": {
        "tags": [
          "Digital wallets - Setup"
        ],
        "summary": "Update digital wallet",
        "description": "Update a digital wallet.",
        "operationId": "update_digital_wallet",
        "parameters": [
          {
            "name": "digital_wallet_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the digital wallet to edit.",
              "examples": [
                "1808f5e6-b49c-4db9-94fa-22371ea352f5"
              ],
              "title": "Digital Wallet Id"
            },
            "description": "The ID of the digital wallet to edit."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DigitalWalletUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalWallet"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "update",
        "x-speakeasy-group": "digital-wallets",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.digitalWallets.update({}, \"1808f5e6-b49c-4db9-94fa-22371ea352f5\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.digital_wallets.update(digital_wallet_id=\"1808f5e6-b49c-4db9-94fa-22371ea352f5\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.DigitalWallets.Update(ctx, \"1808f5e6-b49c-4db9-94fa-22371ea352f5\", components.DigitalWalletUpdate{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$digitalWalletUpdate = new Gr4vy\\DigitalWalletUpdate();\n\n$response = $sdk->digitalWallets->update(\n    digitalWalletId: '1808f5e6-b49c-4db9-94fa-22371ea352f5',\n    digitalWalletUpdate: $digitalWalletUpdate\n\n);\n\nif ($response->digitalWallet !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.DigitalWalletUpdate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.UpdateDigitalWalletResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        UpdateDigitalWalletResponse res = sdk.digitalWallets().update()\n                .digitalWalletId(\"1808f5e6-b49c-4db9-94fa-22371ea352f5\")\n                .digitalWalletUpdate(DigitalWalletUpdate.builder()\n                    .build())\n                .call();\n\n        if (res.digitalWallet().isPresent()) {\n            System.out.println(res.digitalWallet().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.DigitalWallets.UpdateAsync(\n    digitalWalletId: \"1808f5e6-b49c-4db9-94fa-22371ea352f5\",\n    digitalWalletUpdate: new DigitalWalletUpdate() {}\n);\n\n// handle response"
          }
        ]
      }
    },
    "/digital-wallets/google/session": {
      "post": {
        "tags": [
          "Digital wallets - Sessions"
        ],
        "summary": "Create a Google Pay session",
        "description": "Create a session for use with Google Pay.",
        "operationId": "create_google_pay_digital_wallet_session",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GooglePaySessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GooglePaySession"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "google_pay",
        "x-speakeasy-group": "digital-wallets.sessions",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.digitalWallets.sessions.googlePay({\n    originDomain: \"example.com\",\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.digital_wallets.sessions.google_pay(origin_domain=\"example.com\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.DigitalWallets.Sessions.GooglePay(ctx, components.GooglePaySessionRequest{\n        OriginDomain: \"example.com\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$googlePaySessionRequest = new Gr4vy\\GooglePaySessionRequest(\n    originDomain: 'example.com',\n);\n\n$response = $sdk->digitalWallets->sessions->googlePay(\n    googlePaySessionRequest: $googlePaySessionRequest\n);\n\nif ($response->googlePaySession !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.GooglePaySessionRequest;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreateGooglePayDigitalWalletSessionResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        CreateGooglePayDigitalWalletSessionResponse res = sdk.digitalWallets().sessions().googlePay()\n                .googlePaySessionRequest(GooglePaySessionRequest.builder()\n                    .originDomain(\"example.com\")\n                    .build())\n                .call();\n\n        if (res.googlePaySession().isPresent()) {\n            System.out.println(res.googlePaySession().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.DigitalWallets.Sessions.GooglePayAsync(googlePaySessionRequest: new GooglePaySessionRequest() {\n    OriginDomain = \"example.com\",\n});\n\n// handle response"
          }
        ]
      }
    },
    "/digital-wallets/apple/session": {
      "post": {
        "tags": [
          "Digital wallets - Sessions"
        ],
        "summary": "Create a Apple Pay session",
        "description": "Create a session for use with Apple Pay.",
        "operationId": "create_apple_pay_digital_wallet_session",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplePaySessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplePaySession"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "apple_pay",
        "x-speakeasy-group": "digital-wallets.sessions",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.digitalWallets.sessions.applePay({\n    validationUrl: \"https://apple-pay-gateway-cert.apple.com\",\n    domainName: \"example.com\",\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.digital_wallets.sessions.apple_pay(validation_url=\"https://apple-pay-gateway-cert.apple.com\", domain_name=\"example.com\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.DigitalWallets.Sessions.ApplePay(ctx, components.ApplePaySessionRequest{\n        ValidationURL: \"https://apple-pay-gateway-cert.apple.com\",\n        DomainName: \"example.com\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$applePaySessionRequest = new Gr4vy\\ApplePaySessionRequest(\n    validationUrl: 'https://apple-pay-gateway-cert.apple.com',\n    domainName: 'example.com',\n);\n\n$response = $sdk->digitalWallets->sessions->applePay(\n    applePaySessionRequest: $applePaySessionRequest\n);\n\nif ($response->applePaySession !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.ApplePaySessionRequest;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreateApplePayDigitalWalletSessionResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        CreateApplePayDigitalWalletSessionResponse res = sdk.digitalWallets().sessions().applePay()\n                .applePaySessionRequest(ApplePaySessionRequest.builder()\n                    .validationUrl(\"https://apple-pay-gateway-cert.apple.com\")\n                    .domainName(\"example.com\")\n                    .build())\n                .call();\n\n        if (res.applePaySession().isPresent()) {\n            System.out.println(res.applePaySession().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.DigitalWallets.Sessions.ApplePayAsync(applePaySessionRequest: new ApplePaySessionRequest() {\n    ValidationUrl = \"https://apple-pay-gateway-cert.apple.com\",\n    DomainName = \"example.com\",\n});\n\n// handle response"
          }
        ]
      }
    },
    "/digital-wallets/paze/session/create": {
      "post": {
        "tags": [
          "Digital wallets - Sessions"
        ],
        "summary": "Create a Paze mobile session",
        "description": "Create a mobile session for use with Paze.",
        "operationId": "create_paze_mobile_session",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PazeMobileSessionCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PazeMobileSessionCreate"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "paze_mobile_session_create",
        "x-speakeasy-group": "digital-wallets.sessions",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.digitalWallets.sessions.pazeMobileSessionCreate({\n    client: {\n      id: \"0UVAS9Y03YNJ39XXYIN313F4DZNCjIGmqs4Iw32EPnZV0800o\",\n    },\n    sessionId: \"24e4dbb9-4f5e-43e8-8375-e9fd45650bc9\",\n    accessToken: \"<value>\",\n    callbackURLScheme: \"Gr4vyCallback\",\n    intent: \"EXPRESS_CHECKOUT\",\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.digital_wallets.sessions.paze_mobile_session_create(client={\n        \"id\": \"0UVAS9Y03YNJ39XXYIN313F4DZNCjIGmqs4Iw32EPnZV0800o\",\n    }, session_id=\"24e4dbb9-4f5e-43e8-8375-e9fd45650bc9\", access_token=\"<value>\", callback_url_scheme=\"Gr4vyCallback\", intent=\"EXPRESS_CHECKOUT\", always_enable_checkout=False)\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.DigitalWallets.Sessions.PazeMobileSessionCreate(ctx, components.PazeMobileSessionCreateRequest{\n        Client: components.PazeClient{\n            ID: \"0UVAS9Y03YNJ39XXYIN313F4DZNCjIGmqs4Iw32EPnZV0800o\",\n        },\n        SessionID: \"24e4dbb9-4f5e-43e8-8375-e9fd45650bc9\",\n        AccessToken: \"<value>\",\n        CallbackURLScheme: \"Gr4vyCallback\",\n        Intent: components.IntentExpressCheckout,\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$pazeMobileSessionCreateRequest = new Gr4vy\\PazeMobileSessionCreateRequest(\n    client: new Gr4vy\\PazeClient(\n        id: '0UVAS9Y03YNJ39XXYIN313F4DZNCjIGmqs4Iw32EPnZV0800o',\n    ),\n    sessionId: '24e4dbb9-4f5e-43e8-8375-e9fd45650bc9',\n    accessToken: '<value>',\n    callbackURLScheme: 'Gr4vyCallback',\n    intent: 'EXPRESS_CHECKOUT',\n);\n\n$response = $sdk->digitalWallets->sessions->pazeMobileSessionCreate(\n    pazeMobileSessionCreateRequest: $pazeMobileSessionCreateRequest\n);\n\nif ($response->pazeMobileSessionCreate !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.*;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreatePazeMobileSessionResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        CreatePazeMobileSessionResponse res = sdk.digitalWallets().sessions().pazeMobileSessionCreate()\n                .pazeMobileSessionCreateRequest(PazeMobileSessionCreateRequest.builder()\n                    .client(PazeClient.builder()\n                        .id(\"0UVAS9Y03YNJ39XXYIN313F4DZNCjIGmqs4Iw32EPnZV0800o\")\n                        .build())\n                    .sessionId(\"24e4dbb9-4f5e-43e8-8375-e9fd45650bc9\")\n                    .accessToken(\"<value>\")\n                    .callbackURLScheme(\"Gr4vyCallback\")\n                    .intent(Intent.EXPRESS_CHECKOUT)\n                    .build())\n                .call();\n\n        if (res.pazeMobileSessionCreate().isPresent()) {\n            System.out.println(res.pazeMobileSessionCreate().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.DigitalWallets.Sessions.PazeMobileSessionCreateAsync(pazeMobileSessionCreateRequest: new PazeMobileSessionCreateRequest() {\n    Client = new PazeClient() {\n        Id = \"0UVAS9Y03YNJ39XXYIN313F4DZNCjIGmqs4Iw32EPnZV0800o\",\n    },\n    SessionId = \"24e4dbb9-4f5e-43e8-8375-e9fd45650bc9\",\n    AccessToken = \"<value>\",\n    CallbackURLScheme = \"Gr4vyCallback\",\n    Intent = \"EXPRESS_CHECKOUT\",\n});\n\n// handle response"
          }
        ]
      }
    },
    "/digital-wallets/paze/session": {
      "post": {
        "tags": [
          "Digital wallets - Sessions"
        ],
        "summary": "Create a Paze session",
        "description": "Create a session for use with Paze.",
        "operationId": "create_paze_digital_wallet_session",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PazeSessionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/PazeWebSession"
                    },
                    {
                      "$ref": "#/components/schemas/PazeMobileSession"
                    }
                  ],
                  "title": "Response Create Paze Digital Wallet Session"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "paze",
        "x-speakeasy-group": "digital-wallets.sessions",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.digitalWallets.sessions.paze({});\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.digital_wallets.sessions.paze(source=\"web\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n\t\"github.com/gr4vy/gr4vy-go/models/operations\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.DigitalWallets.Sessions.Paze(ctx, components.PazeSessionRequest{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        switch res.Type {\n            case operations.ResponseCreatePazeDigitalWalletSessionTypePazeWebSession:\n                // res.PazeWebSession is populated\n            case operations.ResponseCreatePazeDigitalWalletSessionTypePazeMobileSession:\n                // res.PazeMobileSession is populated\n        }\n\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$pazeSessionRequest = new Gr4vy\\PazeSessionRequest();\n\n$response = $sdk->digitalWallets->sessions->paze(\n    pazeSessionRequest: $pazeSessionRequest\n);\n\nif ($response->responseCreatePazeDigitalWalletSession !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.*;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreatePazeDigitalWalletSessionResponse;\nimport com.gr4vy.sdk.models.operations.ResponseCreatePazeDigitalWalletSession;\nimport java.lang.Exception;\nimport java.lang.Object;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        CreatePazeDigitalWalletSessionResponse res = sdk.digitalWallets().sessions().paze()\n                .pazeSessionRequest(PazeSessionRequest.builder()\n                    .build())\n                .call();\n\n        if (res.responseCreatePazeDigitalWalletSession().isPresent()) {\n            ResponseCreatePazeDigitalWalletSession unionValue = res.responseCreatePazeDigitalWalletSession().get();\n            Object raw = unionValue.value();\n            if (raw instanceof PazeWebSession) {\n                PazeWebSession pazeWebSessionValue = (PazeWebSession) raw;\n                // Handle pazeWebSession variant\n            } else if (raw instanceof PazeMobileSession) {\n                PazeMobileSession pazeMobileSessionValue = (PazeMobileSession) raw;\n                // Handle pazeMobileSession variant\n            } else {\n                // Unknown or unsupported variant\n            }\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.DigitalWallets.Sessions.PazeAsync(pazeSessionRequest: new PazeSessionRequest() {});\n\n// handle response"
          }
        ]
      }
    },
    "/digital-wallets/paze/session/review": {
      "post": {
        "tags": [
          "Digital wallets - Sessions"
        ],
        "summary": "Review a Paze session",
        "description": "Review a Paze checkout session and retrieve the selected card, consumer, and shipping address details.",
        "operationId": "review_paze_mobile_session",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PazeSessionReviewRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PazeSessionReview"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "paze_mobile_session_review",
        "x-speakeasy-group": "digital-wallets.sessions",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.digitalWallets.sessions.pazeMobileSessionReview({\n    sessionId: \"7c1cba03-d20e-4a3f-9d77-e5dc23a39ac2\",\n    code: \"eyJhdWQiOm51bGwsImtpZCI6IjE3...\",\n    accessToken: \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...\",\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.digital_wallets.sessions.paze_mobile_session_review(session_id=\"7c1cba03-d20e-4a3f-9d77-e5dc23a39ac2\", code=\"eyJhdWQiOm51bGwsImtpZCI6IjE3...\", access_token=\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.DigitalWallets.Sessions.PazeMobileSessionReview(ctx, components.PazeSessionReviewRequest{\n        SessionID: \"7c1cba03-d20e-4a3f-9d77-e5dc23a39ac2\",\n        Code: \"eyJhdWQiOm51bGwsImtpZCI6IjE3...\",\n        AccessToken: \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$pazeSessionReviewRequest = new Gr4vy\\PazeSessionReviewRequest(\n    sessionId: '7c1cba03-d20e-4a3f-9d77-e5dc23a39ac2',\n    code: 'eyJhdWQiOm51bGwsImtpZCI6IjE3...',\n    accessToken: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...',\n);\n\n$response = $sdk->digitalWallets->sessions->pazeMobileSessionReview(\n    pazeSessionReviewRequest: $pazeSessionReviewRequest\n);\n\nif ($response->pazeSessionReview !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.PazeSessionReviewRequest;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ReviewPazeMobileSessionResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        ReviewPazeMobileSessionResponse res = sdk.digitalWallets().sessions().pazeMobileSessionReview()\n                .pazeSessionReviewRequest(PazeSessionReviewRequest.builder()\n                    .sessionId(\"7c1cba03-d20e-4a3f-9d77-e5dc23a39ac2\")\n                    .code(\"eyJhdWQiOm51bGwsImtpZCI6IjE3...\")\n                    .accessToken(\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...\")\n                    .build())\n                .call();\n\n        if (res.pazeSessionReview().isPresent()) {\n            System.out.println(res.pazeSessionReview().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.DigitalWallets.Sessions.PazeMobileSessionReviewAsync(pazeSessionReviewRequest: new PazeSessionReviewRequest() {\n    SessionId = \"7c1cba03-d20e-4a3f-9d77-e5dc23a39ac2\",\n    Code = \"eyJhdWQiOm51bGwsImtpZCI6IjE3...\",\n    AccessToken = \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...\",\n});\n\n// handle response"
          }
        ]
      }
    },
    "/digital-wallets/paze/session/complete": {
      "post": {
        "tags": [
          "Digital wallets - Sessions"
        ],
        "summary": "Complete a Paze session",
        "description": "Complete a Paze checkout session and retrieve the secure payload required to settle the payment.",
        "operationId": "complete_paze_mobile_session",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PazeSessionCompleteRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PazeSessionComplete"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "paze_mobile_session_complete",
        "x-speakeasy-group": "digital-wallets.sessions",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.digitalWallets.sessions.pazeMobileSessionComplete({\n    sessionId: \"7c1cba03-d20e-4a3f-9d77-e5dc23a39ac2\",\n    code: \"eyJhdWQiOm51bGwsImtpZCI6IjE3...\",\n    accessToken: \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...\",\n    transactionType: \"PURCHASE\",\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.digital_wallets.sessions.paze_mobile_session_complete(session_id=\"7c1cba03-d20e-4a3f-9d77-e5dc23a39ac2\", code=\"eyJhdWQiOm51bGwsImtpZCI6IjE3...\", access_token=\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...\", transaction_type=\"PURCHASE\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.DigitalWallets.Sessions.PazeMobileSessionComplete(ctx, components.PazeSessionCompleteRequest{\n        SessionID: \"7c1cba03-d20e-4a3f-9d77-e5dc23a39ac2\",\n        Code: \"eyJhdWQiOm51bGwsImtpZCI6IjE3...\",\n        AccessToken: \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...\",\n        TransactionType: components.PazeSessionCompleteRequestTransactiontypePurchase,\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$pazeSessionCompleteRequest = new Gr4vy\\PazeSessionCompleteRequest(\n    sessionId: '7c1cba03-d20e-4a3f-9d77-e5dc23a39ac2',\n    code: 'eyJhdWQiOm51bGwsImtpZCI6IjE3...',\n    accessToken: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...',\n    transactionType: 'PURCHASE',\n);\n\n$response = $sdk->digitalWallets->sessions->pazeMobileSessionComplete(\n    pazeSessionCompleteRequest: $pazeSessionCompleteRequest\n);\n\nif ($response->pazeSessionComplete !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.PazeSessionCompleteRequest;\nimport com.gr4vy.sdk.models.components.PazeSessionCompleteRequestTransactiontype;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CompletePazeMobileSessionResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        CompletePazeMobileSessionResponse res = sdk.digitalWallets().sessions().pazeMobileSessionComplete()\n                .pazeSessionCompleteRequest(PazeSessionCompleteRequest.builder()\n                    .sessionId(\"7c1cba03-d20e-4a3f-9d77-e5dc23a39ac2\")\n                    .code(\"eyJhdWQiOm51bGwsImtpZCI6IjE3...\")\n                    .accessToken(\"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...\")\n                    .transactionType(PazeSessionCompleteRequestTransactiontype.PURCHASE)\n                    .build())\n                .call();\n\n        if (res.pazeSessionComplete().isPresent()) {\n            System.out.println(res.pazeSessionComplete().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.DigitalWallets.Sessions.PazeMobileSessionCompleteAsync(pazeSessionCompleteRequest: new PazeSessionCompleteRequest() {\n    SessionId = \"7c1cba03-d20e-4a3f-9d77-e5dc23a39ac2\",\n    Code = \"eyJhdWQiOm51bGwsImtpZCI6IjE3...\",\n    AccessToken = \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...\",\n    TransactionType = \"PURCHASE\",\n});\n\n// handle response"
          }
        ]
      }
    },
    "/digital-wallets/{digital_wallet_id}/domains": {
      "post": {
        "tags": [
          "Digital wallets - Setup"
        ],
        "summary": "Register a digital wallet domain",
        "description": "Register a digital wallet domain (Apple Pay only).",
        "operationId": "register_digital_wallet_domain",
        "parameters": [
          {
            "name": "digital_wallet_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the digital wallet to remove a domain for.",
              "examples": [
                "1808f5e6-b49c-4db9-94fa-22371ea352f5"
              ],
              "title": "Digital Wallet Id"
            },
            "description": "The ID of the digital wallet to remove a domain for."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DigitalWalletDomain"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "digital-wallets.domains",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.digitalWallets.domains.create({\n    domainName: \"example.com\",\n  }, \"1808f5e6-b49c-4db9-94fa-22371ea352f5\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.digital_wallets.domains.create(digital_wallet_id=\"1808f5e6-b49c-4db9-94fa-22371ea352f5\", domain_name=\"example.com\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.DigitalWallets.Domains.Create(ctx, \"1808f5e6-b49c-4db9-94fa-22371ea352f5\", components.DigitalWalletDomain{\n        DomainName: \"example.com\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$digitalWalletDomain = new Gr4vy\\DigitalWalletDomain(\n    domainName: 'example.com',\n);\n\n$response = $sdk->digitalWallets->domains->create(\n    digitalWalletId: '1808f5e6-b49c-4db9-94fa-22371ea352f5',\n    digitalWalletDomain: $digitalWalletDomain\n\n);\n\nif ($response->any !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.DigitalWalletDomain;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.RegisterDigitalWalletDomainResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        RegisterDigitalWalletDomainResponse res = sdk.digitalWallets().domains().create()\n                .digitalWalletId(\"1808f5e6-b49c-4db9-94fa-22371ea352f5\")\n                .digitalWalletDomain(DigitalWalletDomain.builder()\n                    .domainName(\"example.com\")\n                    .build())\n                .call();\n\n        if (res.any().isPresent()) {\n            System.out.println(res.any().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.DigitalWallets.Domains.CreateAsync(\n    digitalWalletId: \"1808f5e6-b49c-4db9-94fa-22371ea352f5\",\n    digitalWalletDomain: new DigitalWalletDomain() {\n        DomainName = \"example.com\",\n    }\n);\n\n// handle response"
          }
        ]
      },
      "delete": {
        "tags": [
          "Digital wallets - Setup"
        ],
        "summary": "Remove a digital wallet domain",
        "description": "Remove a digital wallet domain (Apple Pay only).",
        "operationId": "unregister_digital_wallet_domain",
        "parameters": [
          {
            "name": "digital_wallet_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "",
              "examples": [
                ""
              ],
              "title": "Digital Wallet Id"
            }
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DigitalWalletDomain"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "delete",
        "x-speakeasy-group": "digital-wallets.domains",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  await gr4vy.digitalWallets.domains.delete({\n    domainName: \"example.com\",\n  }, \"\");\n\n\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    g_client.digital_wallets.domains.delete(digital_wallet_id=\"\", domain_name=\"example.com\")\n\n    # Use the SDK ..."
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    err := s.DigitalWallets.Domains.Delete(ctx, \"\", components.DigitalWalletDomain{\n        DomainName: \"example.com\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$digitalWalletDomain = new Gr4vy\\DigitalWalletDomain(\n    domainName: 'example.com',\n);\n\n$response = $sdk->digitalWallets->domains->delete(\n    digitalWalletId: '',\n    digitalWalletDomain: $digitalWalletDomain\n\n);\n\nif ($response->statusCode === 200) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.DigitalWalletDomain;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.UnregisterDigitalWalletDomainResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        UnregisterDigitalWalletDomainResponse res = sdk.digitalWallets().domains().delete()\n                .digitalWalletId(\"\")\n                .digitalWalletDomain(DigitalWalletDomain.builder()\n                    .domainName(\"example.com\")\n                    .build())\n                .call();\n\n        // handle response\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nawait sdk.DigitalWallets.Domains.DeleteAsync(\n    digitalWalletId: \"\",\n    digitalWalletDomain: new DigitalWalletDomain() {\n        DomainName = \"example.com\",\n    }\n);\n\n// handle response"
          }
        ]
      }
    },
    "/digital-wallets/click-to-pay/session": {
      "post": {
        "tags": [
          "Digital wallets - Sessions"
        ],
        "summary": "Create a Click to Pay session",
        "description": "Create a session for use with Click to Pay.",
        "operationId": "create_click_to_pay_digital_wallet_session",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClickToPaySessionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClickToPaySession"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "click_to_pay",
        "x-speakeasy-group": "digital-wallets.sessions",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.digitalWallets.sessions.clickToPay({\n    checkoutSessionId: \"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\",\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n):\n\n    res = g_client.digital_wallets.sessions.click_to_pay(checkout_session_id=\"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.DigitalWallets.Sessions.ClickToPay(ctx, components.ClickToPaySessionRequest{\n        CheckoutSessionID: \"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$request = new Gr4vy\\ClickToPaySessionRequest(\n    checkoutSessionId: '4137b1cf-39ac-42a8-bad6-1c680d5dab6b',\n);\n\n$response = $sdk->digitalWallets->sessions->clickToPay(\n    request: $request\n);\n\nif ($response->clickToPaySession !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.ClickToPaySessionRequest;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreateClickToPayDigitalWalletSessionResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        ClickToPaySessionRequest req = ClickToPaySessionRequest.builder()\n                .checkoutSessionId(\"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\")\n                .build();\n\n        CreateClickToPayDigitalWalletSessionResponse res = sdk.digitalWallets().sessions().clickToPay()\n                .request(req)\n                .call();\n\n        if (res.clickToPaySession().isPresent()) {\n            System.out.println(res.clickToPaySession().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nClickToPaySessionRequest req = new ClickToPaySessionRequest() {\n    CheckoutSessionId = \"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\",\n};\n\nvar res = await sdk.DigitalWallets.Sessions.ClickToPayAsync(req);\n\n// handle response"
          }
        ]
      }
    },
    "/transactions": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "List transactions",
        "description": "Returns a paginated list of transactions for the merchant account, sorted by most recently updated. You can filter, sort, and search transactions using query parameters.",
        "operationId": "list_transactions",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A pointer to the page of results to return.",
              "examples": [
                "ZXhhbXBsZTE"
              ],
              "title": "Cursor"
            },
            "description": "A pointer to the page of results to return."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "The maximum number of items that are at returned.",
              "examples": [
                20
              ],
              "default": 20,
              "title": "Limit"
            },
            "description": "The maximum number of items that are at returned."
          },
          {
            "name": "created_at_lte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only transactions created before this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.",
              "examples": [
                "2022-01-01T12:00:00+08:00"
              ],
              "title": "Created At Lte"
            },
            "description": "Filters the results to only transactions created before this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`."
          },
          {
            "name": "created_at_gte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only transactions created after this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.",
              "examples": [
                "2022-01-01T12:00:00+08:00"
              ],
              "title": "Created At Gte"
            },
            "description": "Filters the results to only transactions created after this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`."
          },
          {
            "name": "updated_at_lte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only transactions updated before this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.",
              "examples": [
                "2022-01-01T12:00:00+08:00"
              ],
              "title": "Updated At Lte"
            },
            "description": "Filters the results to only transactions updated before this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`."
          },
          {
            "name": "updated_at_gte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only transactions updated after this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.",
              "examples": [
                "2022-01-01T12:00:00+08:00"
              ],
              "title": "Updated At Gte"
            },
            "description": "Filters the results to only transactions updated after this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions that have one of the following fields match exactly with the provided `search` value.",
              "examples": [
                "transaction-12345"
              ],
              "title": "Search"
            }
          },
          {
            "name": "buyer_external_identifier",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only the items for which the `buyer` has an `external_identifier` that exactly matches this value.",
              "examples": [
                "buyer-12345"
              ],
              "title": "Buyer External Identifier"
            }
          },
          {
            "name": "buyer_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only the items for which the `buyer` has an `id` that matches this value.",
              "examples": [
                "fe26475d-ec3e-4884-9553-f7356683f7f9"
              ],
              "title": "Buyer Id"
            }
          },
          {
            "name": "buyer_email_address",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only the items for which the `buyer` has an `email_address` that matches this value.",
              "examples": [
                "john@example.com"
              ],
              "title": "Buyer Email Address"
            }
          },
          {
            "name": "ip_address",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only the transactions that were originated from the given `ip_address`.",
              "examples": [
                "8.214.133.47"
              ],
              "title": "Ip Address"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "processing",
                      "authorization_succeeded",
                      "authorization_declined",
                      "authorization_failed",
                      "authorization_voided",
                      "authorization_void_pending",
                      "capture_succeeded",
                      "capture_pending",
                      "buyer_approval_pending"
                    ],
                    "title": "TransactionStatus",
                    "x-speakeasy-unknown-values": "allow"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only the transactions that have a `status` that matches with any of the provided status values.",
              "examples": [
                "authorization_succeeded"
              ],
              "title": "Status"
            },
            "description": "Filters the results to only the transactions that have a `status` that matches with any of the provided status values."
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for the transaction that has a matching `id` value.",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Id"
            }
          },
          {
            "name": "payment_service_transaction_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions that have a matching `payment_service_transaction_id` value. The `payment_service_transaction_id` is the identifier of the transaction given by the payment service.",
              "examples": [
                "tx-12345"
              ],
              "title": "Payment Service Transaction Id"
            }
          },
          {
            "name": "external_identifier",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only the items for which the `external_identifier` matches this value.",
              "examples": [
                "transaction-12345"
              ],
              "title": "External Identifier"
            }
          },
          {
            "name": "metadata",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions where their `metadata` values contain all of the provided `metadata` keys. The value sent for `metadata` must be formatted as a JSON string, and all keys and values must be strings. This value should also be URL encoded.",
              "examples": [
                [
                  {
                    "first_key": "first_value",
                    "second_key": "second_value"
                  }
                ]
              ],
              "title": "Metadata"
            },
            "description": "Filters for transactions where their `metadata` values contain all of the provided `metadata` keys. The value sent for `metadata` must be formatted as a JSON string, and all keys and values must be strings. This value should also be URL encoded."
          },
          {
            "name": "amount_eq",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions that have an `amount` that is equal to the provided `amount_eq` value.",
              "examples": [
                1299
              ],
              "title": "Amount Eq"
            },
            "description": "Filters for transactions that have an `amount` that is equal to the provided `amount_eq` value."
          },
          {
            "name": "amount_lte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions that have an `amount` that is less than or equal to the `amount_lte` value.",
              "examples": [
                1299
              ],
              "title": "Amount Lte"
            },
            "description": "Filters for transactions that have an `amount` that is less than or equal to the `amount_lte` value."
          },
          {
            "name": "amount_gte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions that have an `amount` that is greater than or equal to the `amount_gte` value.",
              "examples": [
                1299
              ],
              "title": "Amount Gte"
            },
            "description": "Filters for transactions that have an `amount` that is greater than or equal to the `amount_gte` value."
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[A-Z]{3}$",
                    "examples": [
                      "EUR",
                      "GBP",
                      "USD"
                    ]
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions that have matching `currency` values. The `currency` values provided must be formatted as 3-letter ISO currency code.",
              "examples": [
                [
                  "USD"
                ]
              ],
              "title": "Currency"
            },
            "description": "Filters for transactions that have matching `currency` values. The `currency` values provided must be formatted as 3-letter ISO currency code."
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions that have matching `country` values.",
              "examples": [
                [
                  "US"
                ]
              ],
              "title": "Country"
            },
            "description": "Filters for transactions that have matching `country` values."
          },
          {
            "name": "payment_service_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions that were processed by the provided `payment_service_id` values.",
              "examples": [
                [
                  "fffd152a-9532-4087-9a4f-de58754210f0"
                ]
              ],
              "title": "Payment Service Id"
            },
            "description": "Filters for transactions that were processed by the provided `payment_service_id` values."
          },
          {
            "name": "payment_method_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions that have a payment method with an ID that matches exactly with the provided value.",
              "examples": [
                "ef9496d8-53a5-4aad-8ca2-00eb68334389"
              ],
              "title": "Payment Method Id"
            }
          },
          {
            "name": "payment_method_label",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions that have a payment method with a label that matches exactly with the provided value.",
              "examples": [
                "1234"
              ],
              "title": "Payment Method Label"
            }
          },
          {
            "name": "payment_method_scheme",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions where the `payment_method_scheme` matches one of the provided values.",
              "examples": [
                [
                  "visa"
                ]
              ],
              "title": "Payment Method Scheme"
            },
            "description": "Filters for transactions where the `payment_method_scheme` matches one of the provided values."
          },
          {
            "name": "payment_method_country",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions that have a payment method with a country that matches with the provided value.",
              "examples": [
                [
                  "US"
                ]
              ],
              "title": "Payment Method Country"
            },
            "description": "Filters for transactions that have a payment method with a country that matches with the provided value."
          },
          {
            "name": "payment_method_fingerprint",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions that have a payment method with a fingerprint that matches exactly with the provided value",
              "examples": [
                "a50b85c200ee0795d6fd33a5c66f37a4564f554355c5b46a756aac485dd168a4"
              ],
              "title": "Payment Method Fingerprint"
            }
          },
          {
            "name": "method",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "abitab",
                      "affirm",
                      "afterpay",
                      "alipay",
                      "alipayhk",
                      "applepay",
                      "arcuspaynetwork",
                      "bacs",
                      "bancontact",
                      "bank",
                      "bcp",
                      "becs",
                      "bitpay",
                      "blik",
                      "ach",
                      "boleto",
                      "boost",
                      "breb",
                      "capitec",
                      "card",
                      "cashapp",
                      "cashappafterpay",
                      "chaseorbital",
                      "clearpay",
                      "click-to-pay",
                      "custom_push",
                      "custom_redirect",
                      "custom_tokenize",
                      "dana",
                      "dcb",
                      "dlocal",
                      "duitnow",
                      "ebanx",
                      "eckoh",
                      "efecty",
                      "eps",
                      "everydaypay",
                      "gcash",
                      "gem",
                      "gemds",
                      "gift-card",
                      "giropay",
                      "givingblock",
                      "gocardless",
                      "googlepay",
                      "googlepay_pan_only",
                      "gopay",
                      "grabpay",
                      "ideal",
                      "interac",
                      "kakaopay",
                      "kcp",
                      "khipu",
                      "klarna",
                      "konbini",
                      "latitude",
                      "latitudeds",
                      "laybuy",
                      "linepay",
                      "linkaja",
                      "maybankqrpay",
                      "mercadopago",
                      "multibanco",
                      "multipago",
                      "nequi",
                      "netbanking",
                      "network-token",
                      "nupay",
                      "oney_10x",
                      "oney_12x",
                      "oney_3x",
                      "oney_4x",
                      "oney_6x",
                      "onlinebankingcz",
                      "onelink",
                      "ovo",
                      "oxxo",
                      "p24",
                      "pagoefectivo",
                      "paybybank",
                      "payid",
                      "paymaya",
                      "paysquad",
                      "paypal",
                      "paypalpaylater",
                      "paypay",
                      "payto",
                      "payvalida",
                      "paze",
                      "picpay",
                      "pix",
                      "plaid",
                      "pse",
                      "rabbitlinepay",
                      "razorpay",
                      "rapipago",
                      "redpagos",
                      "scalapay",
                      "sepa",
                      "servipag",
                      "seveneleven",
                      "sezzle",
                      "shopeepay",
                      "singteldash",
                      "smartpay",
                      "sofort",
                      "spei",
                      "stitch",
                      "swish",
                      "stripe",
                      "stripedd",
                      "stripetoken",
                      "tapi",
                      "tapifintechs",
                      "thaiqr",
                      "touchngo",
                      "truemoney",
                      "trustly",
                      "trustlyeurope",
                      "upi",
                      "venmo",
                      "vipps",
                      "waave",
                      "webpay",
                      "wechat",
                      "wero",
                      "yape",
                      "zippay"
                    ],
                    "title": "Method",
                    "x-speakeasy-unknown-values": "allow"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions that have matching `method` values.",
              "examples": [
                "card"
              ],
              "title": "Method"
            },
            "description": "Filters for transactions that have matching `method` values."
          },
          {
            "name": "error_code",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions where the `error_code` matches one for the provided values.",
              "examples": [
                [
                  "insufficient_funds"
                ]
              ],
              "title": "Error Code"
            },
            "description": "Filters for transactions where the `error_code` matches one for the provided values."
          },
          {
            "name": "has_refunds",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions with refunds.",
              "examples": [
                true
              ],
              "title": "Has Refunds"
            },
            "description": "Filters for transactions with refunds."
          },
          {
            "name": "pending_review",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions with a pending manual anti-fraud review.",
              "examples": [
                true
              ],
              "title": "Pending Review"
            },
            "description": "Filters for transactions with a pending manual anti-fraud review."
          },
          {
            "name": "checkout_session_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions where the `checkout_session_id` matches the provided value.",
              "examples": [
                "4137b1cf-39ac-42a8-bad6-1c680d5dab6b"
              ],
              "title": "Checkout Session Id"
            },
            "description": "Filters for transactions where the `checkout_session_id` matches the provided value."
          },
          {
            "name": "payment_link_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions where the `payment_link_id` matches the provided value.",
              "examples": [
                "a1b2c3d4-5678-90ab-cdef-1234567890ab"
              ],
              "title": "Payment Link Id"
            },
            "description": "Filters for transactions where the `payment_link_id` matches the provided value."
          },
          {
            "name": "reconciliation_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions where the `reconciliation_id` matches the provided value.",
              "examples": [
                "7jZXl4gBUNl0CnaLEnfXbt"
              ],
              "title": "Reconciliation Id"
            },
            "description": "Filters for transactions where the `reconciliation_id` matches the provided value."
          },
          {
            "name": "has_gift_card_redemptions",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions with gift card redemptions.",
              "examples": [
                true
              ],
              "title": "Has Gift Card Redemptions"
            },
            "description": "Filters for transactions with gift card redemptions."
          },
          {
            "name": "gift_card_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions where a gift card used has an `id` that matches the provided value.",
              "examples": [
                "356d56e5-fe16-42ae-97ee-8d55d846ae2e"
              ],
              "title": "Gift Card Id"
            },
            "description": "Filters for transactions where a gift card used has an `id` that matches the provided value."
          },
          {
            "name": "gift_card_last4",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "minLength": 4,
                  "maxLength": 4
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions that have at least one gift card redemption where the last 4 digits of its gift card number matches exactly with the provided value.",
              "examples": [
                "7890"
              ],
              "title": "Gift Card Last4"
            },
            "description": "Filters for transactions that have at least one gift card redemption where the last 4 digits of its gift card number matches exactly with the provided value."
          },
          {
            "name": "has_settlements",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions that have at least one associated settlement record.",
              "examples": [
                true
              ],
              "title": "Has Settlements"
            },
            "description": "Filters for transactions that have at least one associated settlement record."
          },
          {
            "name": "payment_method_bin",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter for transactions that have a card with a BIN that matches exactly with the provided value.",
              "examples": [
                "411111"
              ],
              "title": "Payment Method Bin"
            },
            "description": "Filter for transactions that have a card with a BIN that matches exactly with the provided value."
          },
          {
            "name": "payment_source",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "ecommerce",
                      "moto",
                      "recurring",
                      "installment",
                      "card_on_file"
                    ],
                    "title": "TransactionPaymentSource",
                    "description": "The way payment method information made it to this transaction.",
                    "x-speakeasy-unknown-values": "allow"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only the transactions that have a payment source that matches with any of the provided values.",
              "examples": [
                "recurring"
              ],
              "title": "Payment Source"
            },
            "description": "Filters the results to only the transactions that have a payment source that matches with any of the provided values."
          },
          {
            "name": "is_subsequent_payment",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions where the `is_subsequent_payment` matches the provided value.",
              "examples": [
                true
              ],
              "title": "Is Subsequent Payment"
            },
            "description": "Filters for transactions where the `is_subsequent_payment` matches the provided value."
          },
          {
            "name": "merchant_initiated",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions where the `merchant_initiated` matches the provided value.",
              "examples": [
                true
              ],
              "title": "Merchant Initiated"
            },
            "description": "Filters for transactions where the `merchant_initiated` matches the provided value."
          },
          {
            "name": "used_3ds",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions that attempted 3DS authentication or not.",
              "examples": [
                true
              ],
              "title": "Used 3Ds"
            },
            "description": "Filters for transactions that attempted 3DS authentication or not."
          },
          {
            "name": "disputed",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions that have been disputed.",
              "examples": [
                true
              ],
              "title": "Disputed"
            },
            "description": "Filters for transactions that have been disputed."
          },
          {
            "name": "reauthorized_from_transaction_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for transactions that were reauthorized from the transaction with the provided ID.",
              "examples": [
                "fe26475d-ec3e-4884-9553-f7356683f7f9"
              ],
              "title": "Reauthorized From Transaction Id"
            },
            "description": "Filters for transactions that were reauthorized from the transaction with the provided ID."
          },
          {
            "name": "buyer_search",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only get the items for which some of the buyer data contains exactly the provided `buyer_search` values.",
              "examples": [
                [
                  "John",
                  "London"
                ]
              ],
              "title": "Buyer Search"
            },
            "description": "Filters the results to only get the items for which some of the buyer data contains exactly the provided `buyer_search` values."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionSummaries"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "transactions",
        "x-speakeasy-pagination": {
          "type": "cursor",
          "inputs": [
            {
              "name": "cursor",
              "in": "parameters",
              "type": "cursor"
            }
          ],
          "outputs": {
            "nextCursor": "$.next_cursor"
          }
        },
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.transactions.list();\n\n  for await (const page of result) {\n    console.log(page);\n  }\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nfrom gr4vy.utils import parse_datetime\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.transactions.list(cursor=\"ZXhhbXBsZTE\", limit=20, created_at_lte=parse_datetime(\"2022-01-01T12:00:00+08:00\"), created_at_gte=parse_datetime(\"2022-01-01T12:00:00+08:00\"), updated_at_lte=parse_datetime(\"2022-01-01T12:00:00+08:00\"), updated_at_gte=parse_datetime(\"2022-01-01T12:00:00+08:00\"), search=\"transaction-12345\", buyer_external_identifier=\"buyer-12345\", buyer_id=\"fe26475d-ec3e-4884-9553-f7356683f7f9\", buyer_email_address=\"john@example.com\", ip_address=\"8.214.133.47\", status=[\n        \"authorization_succeeded\",\n    ], id=\"7099948d-7286-47e4-aad8-b68f7eb44591\", payment_service_transaction_id=\"tx-12345\", external_identifier=\"transaction-12345\", metadata=[\n        \"{\\\"first_key\\\":\\\"first_value\\\",\\\"second_key\\\":\\\"second_value\\\"}\",\n    ], amount_eq=1299, amount_lte=1299, amount_gte=1299, currency=[\n        \"USD\",\n    ], country=[\n        \"US\",\n    ], payment_service_id=[\n        \"fffd152a-9532-4087-9a4f-de58754210f0\",\n    ], payment_method_id=\"ef9496d8-53a5-4aad-8ca2-00eb68334389\", payment_method_label=\"1234\", payment_method_scheme=[\n        \"[\",\n        \"\\\"\",\n        \"v\",\n        \"i\",\n        \"s\",\n        \"a\",\n        \"\\\"\",\n        \"]\",\n    ], payment_method_country=\"[\\\"US\\\"]\", payment_method_fingerprint=\"a50b85c200ee0795d6fd33a5c66f37a4564f554355c5b46a756aac485dd168a4\", method=[\n        \"card\",\n    ], error_code=[\n        \"insufficient_funds\",\n    ], has_refunds=True, pending_review=True, checkout_session_id=\"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\", reconciliation_id=\"7jZXl4gBUNl0CnaLEnfXbt\", has_gift_card_redemptions=True, gift_card_id=\"356d56e5-fe16-42ae-97ee-8d55d846ae2e\", gift_card_last4=\"7890\", has_settlements=True, payment_method_bin=\"411111\", payment_source=[\n        \"recurring\",\n    ], is_subsequent_payment=True, merchant_initiated=True, used_3ds=True, buyer_search=[\n        \"J\",\n        \"o\",\n        \"h\",\n        \"n\",\n    ])\n\n    while res is not None:\n        # Handle items\n\n        res = res.next()"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/types\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"github.com/gr4vy/gr4vy-go/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Transactions.List(ctx, operations.ListTransactionsRequest{\n        Cursor: gr4vygo.Pointer(\"ZXhhbXBsZTE\"),\n        CreatedAtLte: types.MustNewTimeFromString(\"2022-01-01T12:00:00+08:00\"),\n        CreatedAtGte: types.MustNewTimeFromString(\"2022-01-01T12:00:00+08:00\"),\n        UpdatedAtLte: types.MustNewTimeFromString(\"2022-01-01T12:00:00+08:00\"),\n        UpdatedAtGte: types.MustNewTimeFromString(\"2022-01-01T12:00:00+08:00\"),\n        Search: gr4vygo.Pointer(\"transaction-12345\"),\n        BuyerExternalIdentifier: gr4vygo.Pointer(\"buyer-12345\"),\n        BuyerID: gr4vygo.Pointer(\"fe26475d-ec3e-4884-9553-f7356683f7f9\"),\n        BuyerEmailAddress: gr4vygo.Pointer(\"john@example.com\"),\n        IPAddress: gr4vygo.Pointer(\"8.214.133.47\"),\n        Status: []components.TransactionStatus{\n            components.TransactionStatusAuthorizationSucceeded,\n        },\n        ID: gr4vygo.Pointer(\"7099948d-7286-47e4-aad8-b68f7eb44591\"),\n        PaymentServiceTransactionID: gr4vygo.Pointer(\"tx-12345\"),\n        ExternalIdentifier: gr4vygo.Pointer(\"transaction-12345\"),\n        Metadata: []string{\n            \"{\\\"first_key\\\":\\\"first_value\\\",\\\"second_key\\\":\\\"second_value\\\"}\",\n        },\n        AmountEq: gr4vygo.Pointer[int64](1299),\n        AmountLte: gr4vygo.Pointer[int64](1299),\n        AmountGte: gr4vygo.Pointer[int64](1299),\n        Currency: []string{\n            \"USD\",\n        },\n        Country: []string{\n            \"US\",\n        },\n        PaymentServiceID: []string{\n            \"fffd152a-9532-4087-9a4f-de58754210f0\",\n        },\n        PaymentMethodID: gr4vygo.Pointer(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\"),\n        PaymentMethodLabel: gr4vygo.Pointer(\"1234\"),\n        PaymentMethodScheme: []string{\n            \"[\",\n            \"\\\"\",\n            \"v\",\n            \"i\",\n            \"s\",\n            \"a\",\n            \"\\\"\",\n            \"]\",\n        },\n        PaymentMethodCountry: gr4vygo.Pointer(\"[\\\"US\\\"]\"),\n        PaymentMethodFingerprint: gr4vygo.Pointer(\"a50b85c200ee0795d6fd33a5c66f37a4564f554355c5b46a756aac485dd168a4\"),\n        Method: []components.Method{\n            components.MethodCard,\n        },\n        ErrorCode: []string{\n            \"insufficient_funds\",\n        },\n        HasRefunds: gr4vygo.Pointer(true),\n        PendingReview: gr4vygo.Pointer(true),\n        CheckoutSessionID: gr4vygo.Pointer(\"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\"),\n        ReconciliationID: gr4vygo.Pointer(\"7jZXl4gBUNl0CnaLEnfXbt\"),\n        HasGiftCardRedemptions: gr4vygo.Pointer(true),\n        GiftCardID: gr4vygo.Pointer(\"356d56e5-fe16-42ae-97ee-8d55d846ae2e\"),\n        GiftCardLast4: gr4vygo.Pointer(\"7890\"),\n        HasSettlements: gr4vygo.Pointer(true),\n        PaymentMethodBin: gr4vygo.Pointer(\"411111\"),\n        PaymentSource: []components.TransactionPaymentSource{\n            components.TransactionPaymentSourceRecurring,\n        },\n        IsSubsequentPayment: gr4vygo.Pointer(true),\n        MerchantInitiated: gr4vygo.Pointer(true),\n        Used3ds: gr4vygo.Pointer(true),\n        BuyerSearch: []string{\n            \"J\",\n            \"o\",\n            \"h\",\n            \"n\",\n        },\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        for {\n            // handle items\n\n            res, err = res.Next()\n\n            if err != nil {\n                // handle error\n            }\n\n            if res == nil {\n                break\n            }\n        }\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\nuse Gr4vy\\Utils;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$request = new Gr4vy\\ListTransactionsRequest(\n    cursor: 'ZXhhbXBsZTE',\n    createdAtLte: Utils\\Utils::parseDateTime('2022-01-01T12:00:00+08:00'),\n    createdAtGte: Utils\\Utils::parseDateTime('2022-01-01T12:00:00+08:00'),\n    updatedAtLte: Utils\\Utils::parseDateTime('2022-01-01T12:00:00+08:00'),\n    updatedAtGte: Utils\\Utils::parseDateTime('2022-01-01T12:00:00+08:00'),\n    search: 'transaction-12345',\n    buyerExternalIdentifier: 'buyer-12345',\n    buyerId: 'fe26475d-ec3e-4884-9553-f7356683f7f9',\n    buyerEmailAddress: 'john@example.com',\n    ipAddress: '8.214.133.47',\n    status: [\n        'authorization_succeeded',\n    ],\n    id: '7099948d-7286-47e4-aad8-b68f7eb44591',\n    paymentServiceTransactionId: 'tx-12345',\n    externalIdentifier: 'transaction-12345',\n    metadata: [\n        '{\"first_key\":\"first_value\",\"second_key\":\"second_value\"}',\n    ],\n    amountEq: 1299,\n    amountLte: 1299,\n    amountGte: 1299,\n    currency: [\n        'USD',\n    ],\n    country: [\n        'US',\n    ],\n    paymentServiceId: [\n        'fffd152a-9532-4087-9a4f-de58754210f0',\n    ],\n    paymentMethodId: 'ef9496d8-53a5-4aad-8ca2-00eb68334389',\n    paymentMethodLabel: '1234',\n    paymentMethodScheme: [\n        '[',\n        '\"',\n        'v',\n        'i',\n        's',\n        'a',\n        '\"',\n        ']',\n    ],\n    paymentMethodCountry: '[\"US\"]',\n    paymentMethodFingerprint: 'a50b85c200ee0795d6fd33a5c66f37a4564f554355c5b46a756aac485dd168a4',\n    method: [\n        'card',\n    ],\n    errorCode: [\n        'insufficient_funds',\n    ],\n    hasRefunds: true,\n    pendingReview: true,\n    checkoutSessionId: '4137b1cf-39ac-42a8-bad6-1c680d5dab6b',\n    reconciliationId: '7jZXl4gBUNl0CnaLEnfXbt',\n    hasGiftCardRedemptions: true,\n    giftCardId: '356d56e5-fe16-42ae-97ee-8d55d846ae2e',\n    giftCardLast4: '7890',\n    hasSettlements: true,\n    paymentMethodBin: '411111',\n    paymentSource: [\n        'recurring',\n    ],\n    isSubsequentPayment: true,\n    merchantInitiated: true,\n    used3ds: true,\n    buyerSearch: [\n        'J',\n        'o',\n        'h',\n        'n',\n    ],\n);\n\n$responses = $sdk->transactions->list(\n    request: $request\n);\n\n\nforeach ($responses as $response) {\n    if ($response->statusCode === 200) {\n        // handle response\n    }\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.*;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListTransactionsRequest;\nimport com.gr4vy.sdk.models.operations.ListTransactionsResponse;\nimport java.lang.Exception;\nimport java.time.OffsetDateTime;\nimport java.util.List;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        ListTransactionsRequest req = ListTransactionsRequest.builder()\n                .cursor(\"ZXhhbXBsZTE\")\n                .createdAtLte(OffsetDateTime.parse(\"2022-01-01T12:00:00+08:00\"))\n                .createdAtGte(OffsetDateTime.parse(\"2022-01-01T12:00:00+08:00\"))\n                .updatedAtLte(OffsetDateTime.parse(\"2022-01-01T12:00:00+08:00\"))\n                .updatedAtGte(OffsetDateTime.parse(\"2022-01-01T12:00:00+08:00\"))\n                .search(\"transaction-12345\")\n                .buyerExternalIdentifier(\"buyer-12345\")\n                .buyerId(\"fe26475d-ec3e-4884-9553-f7356683f7f9\")\n                .buyerEmailAddress(\"john@example.com\")\n                .ipAddress(\"8.214.133.47\")\n                .status(List.of(\n                    TransactionStatus.AUTHORIZATION_SUCCEEDED))\n                .id(\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n                .paymentServiceTransactionId(\"tx-12345\")\n                .externalIdentifier(\"transaction-12345\")\n                .metadata(List.of(\n                    \"{\\\"first_key\\\":\\\"first_value\\\",\\\"second_key\\\":\\\"second_value\\\"}\"))\n                .amountEq(1299L)\n                .amountLte(1299L)\n                .amountGte(1299L)\n                .currency(List.of(\n                    \"USD\"))\n                .country(List.of(\n                    \"US\"))\n                .paymentServiceId(List.of(\n                    \"fffd152a-9532-4087-9a4f-de58754210f0\"))\n                .paymentMethodId(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\")\n                .paymentMethodLabel(\"1234\")\n                .paymentMethodScheme(List.of(\n                    \"[\",\n                    \"\\\"\",\n                    \"v\",\n                    \"i\",\n                    \"s\",\n                    \"a\",\n                    \"\\\"\",\n                    \"]\"))\n                .paymentMethodCountry(\"[\\\"US\\\"]\")\n                .paymentMethodFingerprint(\"a50b85c200ee0795d6fd33a5c66f37a4564f554355c5b46a756aac485dd168a4\")\n                .method(List.of(\n                    Method.CARD))\n                .errorCode(List.of(\n                    \"insufficient_funds\"))\n                .hasRefunds(true)\n                .pendingReview(true)\n                .checkoutSessionId(\"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\")\n                .reconciliationId(\"7jZXl4gBUNl0CnaLEnfXbt\")\n                .hasGiftCardRedemptions(true)\n                .giftCardId(\"356d56e5-fe16-42ae-97ee-8d55d846ae2e\")\n                .giftCardLast4(\"7890\")\n                .hasSettlements(true)\n                .paymentMethodBin(\"411111\")\n                .paymentSource(List.of(\n                    TransactionPaymentSource.RECURRING))\n                .isSubsequentPayment(true)\n                .merchantInitiated(true)\n                .used3ds(true)\n                .buyerSearch(List.of(\n                    \"J\",\n                    \"o\",\n                    \"h\",\n                    \"n\"))\n                .build();\n\n\n        sdk.transactions().list()\n                .callAsStream()\n                .forEach((ListTransactionsResponse item) -> {\n                   // handle page\n                });\n\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing Gr4vy.Models.Requests;\nusing System;\nusing System.Collections.Generic;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nListTransactionsRequest req = new ListTransactionsRequest() {\n    Cursor = \"ZXhhbXBsZTE\",\n    CreatedAtLte = System.DateTime.Parse(\"2022-01-01T12:00:00+08:00\").ToUniversalTime(),\n    CreatedAtGte = System.DateTime.Parse(\"2022-01-01T12:00:00+08:00\").ToUniversalTime(),\n    UpdatedAtLte = System.DateTime.Parse(\"2022-01-01T12:00:00+08:00\").ToUniversalTime(),\n    UpdatedAtGte = System.DateTime.Parse(\"2022-01-01T12:00:00+08:00\").ToUniversalTime(),\n    Search = \"transaction-12345\",\n    BuyerExternalIdentifier = \"buyer-12345\",\n    BuyerId = \"fe26475d-ec3e-4884-9553-f7356683f7f9\",\n    BuyerEmailAddress = \"john@example.com\",\n    IpAddress = \"8.214.133.47\",\n    Status = new List<string>() {\n        \"authorization_succeeded\",\n    },\n    Id = \"7099948d-7286-47e4-aad8-b68f7eb44591\",\n    PaymentServiceTransactionId = \"tx-12345\",\n    ExternalIdentifier = \"transaction-12345\",\n    Metadata = new List<string>() {\n        \"{\\\"first_key\\\":\\\"first_value\\\",\\\"second_key\\\":\\\"second_value\\\"}\",\n    },\n    AmountEq = 1299,\n    AmountLte = 1299,\n    AmountGte = 1299,\n    Currency = new List<string>() {\n        \"USD\",\n    },\n    Country = new List<string>() {\n        \"US\",\n    },\n    PaymentServiceId = new List<string>() {\n        \"fffd152a-9532-4087-9a4f-de58754210f0\",\n    },\n    PaymentMethodId = \"ef9496d8-53a5-4aad-8ca2-00eb68334389\",\n    PaymentMethodLabel = \"1234\",\n    PaymentMethodScheme = new List<string>() {\n        \"[\",\n        \"\\\"\",\n        \"v\",\n        \"i\",\n        \"s\",\n        \"a\",\n        \"\\\"\",\n        \"]\",\n    },\n    PaymentMethodCountry = \"[\\\"US\\\"]\",\n    PaymentMethodFingerprint = \"a50b85c200ee0795d6fd33a5c66f37a4564f554355c5b46a756aac485dd168a4\",\n    Method = new List<string>() {\n        \"card\",\n    },\n    ErrorCode = new List<string>() {\n        \"insufficient_funds\",\n    },\n    HasRefunds = true,\n    PendingReview = true,\n    CheckoutSessionId = \"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\",\n    ReconciliationId = \"7jZXl4gBUNl0CnaLEnfXbt\",\n    HasGiftCardRedemptions = true,\n    GiftCardId = \"356d56e5-fe16-42ae-97ee-8d55d846ae2e\",\n    GiftCardLast4 = \"7890\",\n    HasSettlements = true,\n    PaymentMethodBin = \"411111\",\n    PaymentSource = new List<string>() {\n        \"recurring\",\n    },\n    IsSubsequentPayment = true,\n    MerchantInitiated = true,\n    Used3ds = true,\n    BuyerSearch = new List<string>() {\n        \"J\",\n        \"o\",\n        \"h\",\n        \"n\",\n    },\n};\n\nListTransactionsResponse? res = await sdk.Transactions.ListAsync(req);\n\nwhile(res != null)\n{\n    // handle items\n\n    res = await res.Next!();\n}"
          }
        ]
      },
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "Create transaction",
        "description": "Create a new transaction using a supported payment method. If additional buyer authorization is required, an approval URL will be returned. Duplicated gift card numbers are not supported.",
        "operationId": "create_transaction",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          },
          {
            "name": "idempotency-key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A unique key that identifies this request. Providing this header will make this an idempotent request. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions.",
              "examples": [
                "request-12345"
              ],
              "title": "Idempotency-Key"
            },
            "description": "A unique key that identifies this request. Providing this header will make this an idempotent request. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions."
          },
          {
            "name": "X-Forwarded-For",
            "schema": {
              "type": "string",
              "example": "192.168.0.2"
            },
            "in": "header",
            "description": "The IP address to forward from the customer. Use this when calling\nour API from the server side to ensure the customer's address is\npassed to downstream services, rather than your server IP."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransactionCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Returns the created transaction.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Transaction"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "transactions",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.transactions.create({\n    amount: 1299,\n    currency: \"EUR\",\n    store: true,\n    isSubsequentPayment: true,\n    merchantInitiated: true,\n    asyncCapture: true,\n    accountFundingTransaction: true,\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.transactions.create(amount=1299, currency=\"EUR\", idempotency_key=\"request-12345\", store=True, is_subsequent_payment=True, merchant_initiated=True, async_capture=True, account_funding_transaction=True, allow_partial_authorization=False)\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Transactions.Create(ctx, components.TransactionCreate{\n        Amount: 1299,\n        Currency: \"EUR\",\n        Store: gr4vygo.Pointer(true),\n        IsSubsequentPayment: gr4vygo.Pointer(true),\n        MerchantInitiated: gr4vygo.Pointer(true),\n        AsyncCapture: gr4vygo.Pointer(true),\n        AccountFundingTransaction: gr4vygo.Pointer(true),\n    }, gr4vygo.Pointer(\"request-12345\"), nil)\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$transactionCreate = new Gr4vy\\TransactionCreate(\n    amount: 1299,\n    currency: 'EUR',\n    store: true,\n    isSubsequentPayment: true,\n    merchantInitiated: true,\n    asyncCapture: true,\n    accountFundingTransaction: true,\n);\n\n$response = $sdk->transactions->create(\n    transactionCreate: $transactionCreate,\n    idempotencyKey: 'request-12345'\n\n);\n\nif ($response->transaction !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.TransactionCreate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreateTransactionResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        CreateTransactionResponse res = sdk.transactions().create()\n                .idempotencyKey(\"request-12345\")\n                .transactionCreate(TransactionCreate.builder()\n                    .amount(1299L)\n                    .currency(\"EUR\")\n                    .store(true)\n                    .isSubsequentPayment(true)\n                    .merchantInitiated(true)\n                    .asyncCapture(true)\n                    .accountFundingTransaction(true)\n                    .build())\n                .call();\n\n        if (res.transaction().isPresent()) {\n            System.out.println(res.transaction().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Transactions.CreateAsync(\n    transactionCreate: new TransactionCreate() {\n        Amount = 1299,\n        Currency = \"EUR\",\n        Store = true,\n        IsSubsequentPayment = true,\n        MerchantInitiated = true,\n        AsyncCapture = true,\n        AccountFundingTransaction = true,\n    },\n    idempotencyKey: \"request-12345\"\n);\n\n// handle response"
          }
        ]
      }
    },
    "/transactions/{transaction_id}": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "Get transaction",
        "description": "Retrieve the details of a transaction by its unique identifier.",
        "operationId": "get_transaction",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the transaction",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Transaction Id"
            },
            "description": "The ID of the transaction"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Transaction"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "get",
        "x-speakeasy-group": "transactions",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.transactions.get(\"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.transactions.get(transaction_id=\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Transactions.Get(ctx, \"7099948d-7286-47e4-aad8-b68f7eb44591\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->transactions->get(\n    transactionId: '7099948d-7286-47e4-aad8-b68f7eb44591'\n);\n\nif ($response->transaction !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.GetTransactionResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        GetTransactionResponse res = sdk.transactions().get()\n                .transactionId(\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n                .call();\n\n        if (res.transaction().isPresent()) {\n            System.out.println(res.transaction().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Transactions.GetAsync(transactionId: \"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n// handle response"
          }
        ]
      },
      "put": {
        "tags": [
          "Transactions"
        ],
        "summary": "Manually update a transaction",
        "description": "Manually updates a transaction.",
        "operationId": "update_transaction",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the transaction",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Transaction Id"
            },
            "description": "The ID of the transaction"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransactionUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Transaction"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "update",
        "x-speakeasy-group": "transactions",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.transactions.update({}, \"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.transactions.update(transaction_id=\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.Transactions.Update(ctx, \"7099948d-7286-47e4-aad8-b68f7eb44591\", components.TransactionUpdate{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$transactionUpdate = new Gr4vy\\TransactionUpdate();\n\n$response = $sdk->transactions->update(\n    transactionId: '7099948d-7286-47e4-aad8-b68f7eb44591',\n    transactionUpdate: $transactionUpdate\n\n);\n\nif ($response->transaction !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.TransactionUpdate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.UpdateTransactionResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        UpdateTransactionResponse res = sdk.transactions().update()\n                .transactionId(\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n                .transactionUpdate(TransactionUpdate.builder()\n                    .build())\n                .call();\n\n        if (res.transaction().isPresent()) {\n            System.out.println(res.transaction().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Transactions.UpdateAsync(\n    transactionId: \"7099948d-7286-47e4-aad8-b68f7eb44591\",\n    transactionUpdate: new TransactionUpdate() {}\n);\n\n// handle response"
          }
        ]
      }
    },
    "/transactions/{transaction_id}/capture": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "Capture transaction",
        "description": "Captures a previously authorized transaction. You can capture the full or a partial amount, as long as it does not exceed the authorized amount (unless over-capture is enabled).",
        "operationId": "capture_transaction",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the transaction",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Transaction Id"
            },
            "description": "The ID of the transaction"
          },
          {
            "name": "prefer",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "The preferred resource type in the response.",
              "examples": [
                "resource=transaction",
                "resource=transaction-capture"
              ],
              "title": "Prefer"
            },
            "description": "The preferred resource type in the response."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          },
          {
            "name": "idempotency-key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A unique key that identifies this request. Providing this header will make this an idempotent request. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions.",
              "examples": [
                "request-12345"
              ],
              "title": "Idempotency-Key"
            },
            "description": "A unique key that identifies this request. Providing this header will make this an idempotent request. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransactionCaptureCreate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/Transaction"
                    },
                    {
                      "$ref": "#/components/schemas/TransactionCapture"
                    }
                  ],
                  "title": "Response 200 Capture Transaction"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "capture",
        "x-speakeasy-group": "transactions",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.transactions.capture({\n    transactionId: \"7099948d-7286-47e4-aad8-b68f7eb44591\",\n    transactionCaptureCreate: {\n      reauthorizeIfAuthorizationExpired: true,\n    },\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.transactions.capture(transaction_id=\"7099948d-7286-47e4-aad8-b68f7eb44591\", final=True, reauthorize_if_authorization_expired=True)\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"github.com/gr4vy/gr4vy-go/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Transactions.Capture(ctx, operations.CaptureTransactionRequest{\n        TransactionID: \"7099948d-7286-47e4-aad8-b68f7eb44591\",\n        TransactionCaptureCreate: components.TransactionCaptureCreate{\n            ReauthorizeIfAuthorizationExpired: gr4vygo.Pointer(true),\n        },\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        switch res.Type {\n            case operations.Response200CaptureTransactionTypeTransaction:\n                // res.Transaction is populated\n            case operations.Response200CaptureTransactionTypeTransactionCapture:\n                // res.TransactionCapture is populated\n        }\n\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$request = new Gr4vy\\CaptureTransactionRequest(\n    transactionId: '7099948d-7286-47e4-aad8-b68f7eb44591',\n    transactionCaptureCreate: new Gr4vy\\TransactionCaptureCreate(\n        reauthorizeIfAuthorizationExpired: true,\n    ),\n);\n\n$response = $sdk->transactions->capture(\n    request: $request\n);\n\nif ($response->response200CaptureTransaction !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.*;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.*;\nimport java.lang.Exception;\nimport java.lang.Object;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        CaptureTransactionRequest req = CaptureTransactionRequest.builder()\n                .transactionId(\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n                .transactionCaptureCreate(TransactionCaptureCreate.builder()\n                    .reauthorizeIfAuthorizationExpired(true)\n                    .build())\n                .build();\n\n        CaptureTransactionResponse res = sdk.transactions().capture()\n                .request(req)\n                .call();\n\n        if (res.response200CaptureTransaction().isPresent()) {\n            Response200CaptureTransaction unionValue = res.response200CaptureTransaction().get();\n            Object raw = unionValue.value();\n            if (raw instanceof Transaction) {\n                Transaction transactionValue = (Transaction) raw;\n                // Handle transaction variant\n            } else if (raw instanceof TransactionCapture) {\n                TransactionCapture transactionCaptureValue = (TransactionCapture) raw;\n                // Handle transactionCapture variant\n            } else {\n                // Unknown or unsupported variant\n            }\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing Gr4vy.Models.Requests;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nCaptureTransactionRequest req = new CaptureTransactionRequest() {\n    TransactionId = \"7099948d-7286-47e4-aad8-b68f7eb44591\",\n    TransactionCaptureCreate = new TransactionCaptureCreate() {\n        ReauthorizeIfAuthorizationExpired = true,\n    },\n};\n\nvar res = await sdk.Transactions.CaptureAsync(req);\n\n// handle response"
          }
        ]
      }
    },
    "/transactions/{transaction_id}/refunds": {
      "get": {
        "tags": [
          "Refunds"
        ],
        "summary": "List transaction refunds",
        "description": "List refunds for a transaction.",
        "operationId": "list_transaction_refunds",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the transaction",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Transaction Id"
            },
            "description": "The ID of the transaction"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Refunds"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "transactions.refunds",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.transactions.refunds.list(\"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.transactions.refunds.list(transaction_id=\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Transactions.Refunds.List(ctx, \"7099948d-7286-47e4-aad8-b68f7eb44591\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->transactions->refunds->list(\n    transactionId: '7099948d-7286-47e4-aad8-b68f7eb44591'\n);\n\nif ($response->refunds !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListTransactionRefundsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        ListTransactionRefundsResponse res = sdk.transactions().refunds().list()\n                .transactionId(\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n                .call();\n\n        if (res.refunds().isPresent()) {\n            System.out.println(res.refunds().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Transactions.Refunds.ListAsync(transactionId: \"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n// handle response"
          }
        ]
      },
      "post": {
        "tags": [
          "Refunds"
        ],
        "summary": "Create transaction refund",
        "description": "Create a refund for a transaction.",
        "operationId": "create_transaction_refund",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the transaction",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Transaction Id"
            },
            "description": "The ID of the transaction"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          },
          {
            "name": "idempotency-key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A unique key that identifies this request. Providing this header will make this an idempotent request. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions.",
              "examples": [
                "request-12345"
              ],
              "title": "Idempotency-Key"
            },
            "description": "A unique key that identifies this request. Providing this header will make this an idempotent request. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransactionRefundCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Refund"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "transactions.refunds",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.transactions.refunds.create({}, \"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.transactions.refunds.create(transaction_id=\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Transactions.Refunds.Create(ctx, \"7099948d-7286-47e4-aad8-b68f7eb44591\", components.TransactionRefundCreate{}, nil)\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$transactionRefundCreate = new Gr4vy\\TransactionRefundCreate();\n\n$response = $sdk->transactions->refunds->create(\n    transactionId: '7099948d-7286-47e4-aad8-b68f7eb44591',\n    transactionRefundCreate: $transactionRefundCreate\n\n);\n\nif ($response->refund !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.TransactionRefundCreate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreateTransactionRefundResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        CreateTransactionRefundResponse res = sdk.transactions().refunds().create()\n                .transactionId(\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n                .transactionRefundCreate(TransactionRefundCreate.builder()\n                    .build())\n                .call();\n\n        if (res.refund().isPresent()) {\n            System.out.println(res.refund().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Transactions.Refunds.CreateAsync(\n    transactionId: \"7099948d-7286-47e4-aad8-b68f7eb44591\",\n    transactionRefundCreate: new TransactionRefundCreate() {}\n);\n\n// handle response"
          }
        ]
      }
    },
    "/transactions/{transaction_id}/refunds/{refund_id}": {
      "get": {
        "tags": [
          "Refunds"
        ],
        "summary": "Get transaction refund",
        "description": "Fetch refund for a transaction.",
        "operationId": "get_transaction_refund",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the transaction",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Transaction Id"
            },
            "description": "The ID of the transaction"
          },
          {
            "name": "refund_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the refund",
              "examples": [
                "6a1d4e46-14ed-4fe1-a45f-eff4e025d211"
              ],
              "title": "Refund Id"
            },
            "description": "The ID of the refund"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Refund"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "get",
        "x-speakeasy-group": "transactions.refunds",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.transactions.refunds.get(\"7099948d-7286-47e4-aad8-b68f7eb44591\", \"6a1d4e46-14ed-4fe1-a45f-eff4e025d211\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.transactions.refunds.get(transaction_id=\"7099948d-7286-47e4-aad8-b68f7eb44591\", refund_id=\"6a1d4e46-14ed-4fe1-a45f-eff4e025d211\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Transactions.Refunds.Get(ctx, \"7099948d-7286-47e4-aad8-b68f7eb44591\", \"6a1d4e46-14ed-4fe1-a45f-eff4e025d211\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->transactions->refunds->get(\n    transactionId: '7099948d-7286-47e4-aad8-b68f7eb44591',\n    refundId: '6a1d4e46-14ed-4fe1-a45f-eff4e025d211'\n\n);\n\nif ($response->refund !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.GetTransactionRefundResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        GetTransactionRefundResponse res = sdk.transactions().refunds().get()\n                .transactionId(\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n                .refundId(\"6a1d4e46-14ed-4fe1-a45f-eff4e025d211\")\n                .call();\n\n        if (res.refund().isPresent()) {\n            System.out.println(res.refund().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Transactions.Refunds.GetAsync(\n    transactionId: \"7099948d-7286-47e4-aad8-b68f7eb44591\",\n    refundId: \"6a1d4e46-14ed-4fe1-a45f-eff4e025d211\"\n);\n\n// handle response"
          }
        ]
      }
    },
    "/refunds/{refund_id}": {
      "get": {
        "tags": [
          "Refunds"
        ],
        "summary": "Get refund",
        "description": "Fetch a refund.",
        "operationId": "get_refund",
        "parameters": [
          {
            "name": "refund_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the refund",
              "examples": [
                "6a1d4e46-14ed-4fe1-a45f-eff4e025d211"
              ],
              "title": "Refund Id"
            },
            "description": "The ID of the refund"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Refund"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "get",
        "x-speakeasy-group": "refunds",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.refunds.get(\"6a1d4e46-14ed-4fe1-a45f-eff4e025d211\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.refunds.get(refund_id=\"6a1d4e46-14ed-4fe1-a45f-eff4e025d211\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Refunds.Get(ctx, \"6a1d4e46-14ed-4fe1-a45f-eff4e025d211\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->refunds->get(\n    refundId: '6a1d4e46-14ed-4fe1-a45f-eff4e025d211'\n);\n\nif ($response->refund !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.GetRefundResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        GetRefundResponse res = sdk.refunds().get()\n                .refundId(\"6a1d4e46-14ed-4fe1-a45f-eff4e025d211\")\n                .call();\n\n        if (res.refund().isPresent()) {\n            System.out.println(res.refund().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Refunds.GetAsync(refundId: \"6a1d4e46-14ed-4fe1-a45f-eff4e025d211\");\n\n// handle response"
          }
        ]
      }
    },
    "/transactions/{transaction_id}/void": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "Void transaction",
        "description": "Voids a previously authorized transaction. If the transaction was not yet successfully authorized, or was already captured, the void will not be processed. This operation releases the hold on the buyer's funds. Captured transactions can be refunded instead.",
        "operationId": "void_transaction",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the transaction",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Transaction Id"
            },
            "description": "The ID of the transaction"
          },
          {
            "name": "prefer",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "The preferred resource type in the response.",
              "examples": [
                "resource=transaction",
                "resource=transaction-void"
              ],
              "title": "Prefer"
            },
            "description": "The preferred resource type in the response."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          },
          {
            "name": "idempotency-key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A unique key that identifies this request. Providing this header will make this an idempotent request. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions.",
              "examples": [
                "request-12345"
              ],
              "title": "Idempotency-Key"
            },
            "description": "A unique key that identifies this request. Providing this header will make this an idempotent request. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/Transaction"
                    },
                    {
                      "$ref": "#/components/schemas/TransactionVoid"
                    }
                  ],
                  "title": "Response 200 Void Transaction"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "void",
        "x-speakeasy-group": "transactions",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.transactions.void(\"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.transactions.void(transaction_id=\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n\t\"github.com/gr4vy/gr4vy-go/models/operations\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Transactions.Void(ctx, \"7099948d-7286-47e4-aad8-b68f7eb44591\", nil, nil)\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        switch res.Type {\n            case operations.Response200VoidTransactionTypeTransaction:\n                // res.Transaction is populated\n            case operations.Response200VoidTransactionTypeTransactionVoid:\n                // res.TransactionVoid is populated\n        }\n\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->transactions->void(\n    transactionId: '7099948d-7286-47e4-aad8-b68f7eb44591'\n);\n\nif ($response->response200VoidTransaction !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.Transaction;\nimport com.gr4vy.sdk.models.components.TransactionVoid;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.Response200VoidTransaction;\nimport com.gr4vy.sdk.models.operations.VoidTransactionResponse;\nimport java.lang.Exception;\nimport java.lang.Object;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        VoidTransactionResponse res = sdk.transactions().void_()\n                .transactionId(\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n                .call();\n\n        if (res.response200VoidTransaction().isPresent()) {\n            Response200VoidTransaction unionValue = res.response200VoidTransaction().get();\n            Object raw = unionValue.value();\n            if (raw instanceof Transaction) {\n                Transaction transactionValue = (Transaction) raw;\n                // Handle transaction variant\n            } else if (raw instanceof TransactionVoid) {\n                TransactionVoid transactionVoidValue = (TransactionVoid) raw;\n                // Handle transactionVoid variant\n            } else {\n                // Unknown or unsupported variant\n            }\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Transactions.VoidAsync(transactionId: \"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n// handle response"
          }
        ]
      }
    },
    "/transactions/{transaction_id}/cancel": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "Cancel transaction",
        "description": "Cancels a pending transaction. If the transaction was successfully authorized, or was already captured, the cancel will not be processed.",
        "operationId": "cancel_transaction",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the transaction",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Transaction Id"
            },
            "description": "The ID of the transaction"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionCancel"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "cancel",
        "x-speakeasy-group": "transactions",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.transactions.cancel(\"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.transactions.cancel(transaction_id=\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.Transactions.Cancel(ctx, \"7099948d-7286-47e4-aad8-b68f7eb44591\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->transactions->cancel(\n    transactionId: '7099948d-7286-47e4-aad8-b68f7eb44591'\n);\n\nif ($response->transactionCancel !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CancelTransactionResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        CancelTransactionResponse res = sdk.transactions().cancel()\n                .transactionId(\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n                .call();\n\n        if (res.transactionCancel().isPresent()) {\n            System.out.println(res.transactionCancel().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Transactions.CancelAsync(transactionId: \"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n// handle response"
          }
        ]
      }
    },
    "/transactions/{transaction_id}/refunds/all": {
      "post": {
        "tags": [
          "Refunds"
        ],
        "summary": "Create batch transaction refund",
        "description": "Create a refund for all instruments on a transaction.",
        "operationId": "create_full_transaction_refund",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the transaction",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Transaction Id"
            },
            "description": "The ID of the transaction"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          },
          {
            "name": "idempotency-key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A unique key that identifies this request. Providing this header will make this an idempotent request. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions.",
              "examples": [
                "request-12345"
              ],
              "title": "Idempotency-Key"
            },
            "description": "A unique key that identifies this request. Providing this header will make this an idempotent request. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/TransactionRefundAllCreate"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Body"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Refunds"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "transactions.refunds.all",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.transactions.refunds.all.create(\"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.transactions.refunds.all.create(transaction_id=\"7099948d-7286-47e4-aad8-b68f7eb44591\", reason=\"Refund due to user request.\", external_identifier=\"refund-12345\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Transactions.Refunds.All.Create(ctx, \"7099948d-7286-47e4-aad8-b68f7eb44591\", nil, &components.TransactionRefundAllCreate{\n        Reason: gr4vygo.Pointer(\"Refund due to user request.\"),\n        ExternalIdentifier: gr4vygo.Pointer(\"refund-12345\"),\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$transactionRefundAllCreate = new Gr4vy\\TransactionRefundAllCreate(\n    reason: 'Refund due to user request.',\n    externalIdentifier: 'refund-12345',\n);\n\n$response = $sdk->transactions->refunds->all->create(\n    transactionId: '7099948d-7286-47e4-aad8-b68f7eb44591',\n    transactionRefundAllCreate: $transactionRefundAllCreate\n\n);\n\nif ($response->refunds !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.TransactionRefundAllCreate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreateFullTransactionRefundResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        CreateFullTransactionRefundResponse res = sdk.transactions().refunds().all().create()\n                .transactionId(\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n                .transactionRefundAllCreate(TransactionRefundAllCreate.builder()\n                    .reason(\"Refund due to user request.\")\n                    .externalIdentifier(\"refund-12345\")\n                    .build())\n                .call();\n\n        if (res.refunds().isPresent()) {\n            System.out.println(res.refunds().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Transactions.Refunds.All.CreateAsync(\n    transactionId: \"7099948d-7286-47e4-aad8-b68f7eb44591\",\n    transactionRefundAllCreate: new TransactionRefundAllCreate() {\n        Reason = \"Refund due to user request.\",\n        ExternalIdentifier = \"refund-12345\",\n    }\n);\n\n// handle response"
          }
        ]
      }
    },
    "/transactions/{transaction_id}/actions": {
      "get": {
        "tags": [
          "Transactions - Actions"
        ],
        "summary": "List transaction Flow rules",
        "description": "Retrieve the list of Flow rule actions that have been triggered for a transaction.",
        "operationId": "list_transaction_actions",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the transaction",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Transaction Id"
            },
            "description": "The ID of the transaction"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionActions"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "transactions.actions",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.transactions.actions.list(\"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.transactions.actions.list(transaction_id=\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.Transactions.Actions.List(ctx, \"7099948d-7286-47e4-aad8-b68f7eb44591\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->transactions->actions->list(\n    transactionId: '7099948d-7286-47e4-aad8-b68f7eb44591'\n);\n\nif ($response->transactionActions !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListTransactionActionsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        ListTransactionActionsResponse res = sdk.transactions().actions().list()\n                .transactionId(\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n                .call();\n\n        if (res.transactionActions().isPresent()) {\n            System.out.println(res.transactionActions().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Transactions.Actions.ListAsync(transactionId: \"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n// handle response"
          }
        ]
      }
    },
    "/transactions/{transaction_id}/events": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "List transaction events",
        "description": "Retrieve a paginated list of events related to processing a transaction, including status changes, API requests, and webhook delivery attempts. Events are listed in chronological order, with the most recent events first.",
        "operationId": "list_transaction_events",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the transaction",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Transaction Id"
            },
            "description": "The ID of the transaction"
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A pointer to the page of results to return.",
              "examples": [
                "ZXhhbXBsZTE"
              ],
              "title": "Cursor"
            },
            "description": "A pointer to the page of results to return."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "The maximum number of items that are at returned.",
              "examples": [
                100
              ],
              "default": 100,
              "title": "Limit"
            },
            "description": "The maximum number of items that are at returned."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionEvents"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "transactions.events",
        "x-speakeasy-pagination": {
          "type": "cursor",
          "inputs": [
            {
              "name": "cursor",
              "in": "parameters",
              "type": "cursor"
            }
          ],
          "outputs": {
            "nextCursor": "$.next_cursor"
          }
        },
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.transactions.events.list(\"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n  for await (const page of result) {\n    console.log(page);\n  }\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.transactions.events.list(transaction_id=\"7099948d-7286-47e4-aad8-b68f7eb44591\", cursor=\"ZXhhbXBsZTE\", limit=100)\n\n    while res is not None:\n        # Handle items\n\n        res = res.next()"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.Transactions.Events.List(ctx, \"7099948d-7286-47e4-aad8-b68f7eb44591\", gr4vygo.Pointer(\"ZXhhbXBsZTE\"), gr4vygo.Pointer[int64](100))\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        for {\n            // handle items\n\n            res, err = res.Next()\n\n            if err != nil {\n                // handle error\n            }\n\n            if res == nil {\n                break\n            }\n        }\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$responses = $sdk->transactions->events->list(\n    transactionId: '7099948d-7286-47e4-aad8-b68f7eb44591',\n    cursor: 'ZXhhbXBsZTE',\n    limit: 100\n\n);\n\n\nforeach ($responses as $response) {\n    if ($response->statusCode === 200) {\n        // handle response\n    }\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListTransactionEventsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n\n        sdk.transactions().events().list()\n                .transactionId(\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n                .cursor(\"ZXhhbXBsZTE\")\n                .limit(100L)\n                .callAsStream()\n                .forEach((ListTransactionEventsResponse item) -> {\n                   // handle page\n                });\n\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing Gr4vy.Models.Requests;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nListTransactionEventsResponse? res = await sdk.Transactions.Events.ListAsync(\n    transactionId: \"7099948d-7286-47e4-aad8-b68f7eb44591\",\n    cursor: \"ZXhhbXBsZTE\",\n    limit: 100\n);\n\nwhile(res != null)\n{\n    // handle items\n\n    res = await res.Next!();\n}"
          }
        ]
      }
    },
    "/transactions/{transaction_id}/sync": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "Sync transaction",
        "description": "Synchronizes the status of a transaction with the underlying payment service provider. This is useful for transactions in a pending state to check if they've been completed or failed. Only available for some payment service providers.",
        "operationId": "sync_transaction",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Transaction Id"
            }
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Transaction"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "sync",
        "x-speakeasy-group": "transactions",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.transactions.sync(\"2ee546e0-3b11-478e-afec-fdb362611e22\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.transactions.sync(transaction_id=\"2ee546e0-3b11-478e-afec-fdb362611e22\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Transactions.Sync(ctx, \"2ee546e0-3b11-478e-afec-fdb362611e22\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->transactions->sync(\n    transactionId: '2ee546e0-3b11-478e-afec-fdb362611e22'\n);\n\nif ($response->transaction !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.SyncTransactionResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        SyncTransactionResponse res = sdk.transactions().sync()\n                .transactionId(\"2ee546e0-3b11-478e-afec-fdb362611e22\")\n                .call();\n\n        if (res.transaction().isPresent()) {\n            System.out.println(res.transaction().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Transactions.SyncAsync(transactionId: \"2ee546e0-3b11-478e-afec-fdb362611e22\");\n\n// handle response"
          }
        ]
      }
    },
    "/transactions/{transaction_id}/settlements/{settlement_id}": {
      "get": {
        "tags": [
          "Transactions - Settlements"
        ],
        "summary": "Get transaction settlement",
        "description": "Retrieve a specific settlement for a transaction by its unique identifier.",
        "operationId": "get_transaction_settlement",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The unique identifier of the transaction.",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Transaction Id"
            },
            "description": "The unique identifier of the transaction."
          },
          {
            "name": "settlement_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The unique identifier of the settlement.",
              "examples": [
                "b1e2c3d4-5678-1234-9abc-1234567890ab"
              ],
              "title": "Settlement Id"
            },
            "description": "The unique identifier of the settlement."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Settlement"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "get",
        "x-speakeasy-group": "transactions.settlements",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.transactions.settlements.get(\"7099948d-7286-47e4-aad8-b68f7eb44591\", \"b1e2c3d4-5678-1234-9abc-1234567890ab\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.transactions.settlements.get(transaction_id=\"7099948d-7286-47e4-aad8-b68f7eb44591\", settlement_id=\"b1e2c3d4-5678-1234-9abc-1234567890ab\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.Transactions.Settlements.Get(ctx, \"7099948d-7286-47e4-aad8-b68f7eb44591\", \"b1e2c3d4-5678-1234-9abc-1234567890ab\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->transactions->settlements->get(\n    transactionId: '7099948d-7286-47e4-aad8-b68f7eb44591',\n    settlementId: 'b1e2c3d4-5678-1234-9abc-1234567890ab'\n\n);\n\nif ($response->settlement !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.GetTransactionSettlementResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        GetTransactionSettlementResponse res = sdk.transactions().settlements().get()\n                .transactionId(\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n                .settlementId(\"b1e2c3d4-5678-1234-9abc-1234567890ab\")\n                .call();\n\n        if (res.settlement().isPresent()) {\n            System.out.println(res.settlement().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Transactions.Settlements.GetAsync(\n    transactionId: \"7099948d-7286-47e4-aad8-b68f7eb44591\",\n    settlementId: \"b1e2c3d4-5678-1234-9abc-1234567890ab\"\n);\n\n// handle response"
          }
        ]
      }
    },
    "/transactions/{transaction_id}/settlements": {
      "get": {
        "tags": [
          "Transactions - Settlements"
        ],
        "summary": "List transaction settlements",
        "description": "List all settlements for a specific transaction.",
        "operationId": "list_transaction_settlements",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The unique identifier of the transaction.",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Transaction Id"
            },
            "description": "The unique identifier of the transaction."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Settlements"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "transactions.settlements",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.transactions.settlements.list(\"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.transactions.settlements.list(transaction_id=\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.Transactions.Settlements.List(ctx, \"7099948d-7286-47e4-aad8-b68f7eb44591\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->transactions->settlements->list(\n    transactionId: '7099948d-7286-47e4-aad8-b68f7eb44591'\n);\n\nif ($response->settlements !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListTransactionSettlementsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        ListTransactionSettlementsResponse res = sdk.transactions().settlements().list()\n                .transactionId(\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n                .call();\n\n        if (res.settlements().isPresent()) {\n            System.out.println(res.settlements().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Transactions.Settlements.ListAsync(transactionId: \"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n// handle response"
          }
        ]
      }
    },
    "/transactions/{transaction_id}/refund-settlements/{settlement_id}": {
      "get": {
        "tags": [
          "Transactions - Refund settlements"
        ],
        "summary": "Get transaction refund settlement",
        "description": "Retrieve a specific refund settlement for a transaction by its unique identifier.",
        "operationId": "get_transaction_refund_settlement",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The unique identifier of the transaction.",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Transaction Id"
            },
            "description": "The unique identifier of the transaction."
          },
          {
            "name": "settlement_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The unique identifier of the refund settlement.",
              "examples": [
                "b1e2c3d4-5678-1234-9abc-1234567890ab"
              ],
              "title": "Settlement Id"
            },
            "description": "The unique identifier of the refund settlement."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RefundSettlement"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "get",
        "x-speakeasy-group": "transactions.refund-settlements",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.transactions.refundSettlements.get(\"7099948d-7286-47e4-aad8-b68f7eb44591\", \"b1e2c3d4-5678-1234-9abc-1234567890ab\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.transactions.refund_settlements.get(transaction_id=\"7099948d-7286-47e4-aad8-b68f7eb44591\", settlement_id=\"b1e2c3d4-5678-1234-9abc-1234567890ab\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.Transactions.RefundSettlements.Get(ctx, \"7099948d-7286-47e4-aad8-b68f7eb44591\", \"b1e2c3d4-5678-1234-9abc-1234567890ab\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->transactions->refundSettlements->get(\n    transactionId: '7099948d-7286-47e4-aad8-b68f7eb44591',\n    settlementId: 'b1e2c3d4-5678-1234-9abc-1234567890ab'\n\n);\n\nif ($response->refundSettlement !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.GetTransactionRefundSettlementResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        GetTransactionRefundSettlementResponse res = sdk.transactions().refundSettlements().get()\n                .transactionId(\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n                .settlementId(\"b1e2c3d4-5678-1234-9abc-1234567890ab\")\n                .call();\n\n        if (res.refundSettlement().isPresent()) {\n            System.out.println(res.refundSettlement().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Transactions.RefundSettlements.GetAsync(\n    transactionId: \"7099948d-7286-47e4-aad8-b68f7eb44591\",\n    settlementId: \"b1e2c3d4-5678-1234-9abc-1234567890ab\"\n);\n\n// handle response"
          }
        ]
      }
    },
    "/transactions/{transaction_id}/refund-settlements": {
      "get": {
        "tags": [
          "Transactions - Refund settlements"
        ],
        "summary": "List transaction refund settlements",
        "description": "List all refund settlements for a specific transaction.",
        "operationId": "list_transaction_refund_settlements",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The unique identifier of the transaction.",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Transaction Id"
            },
            "description": "The unique identifier of the transaction."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RefundSettlements"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "transactions.refund-settlements",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.transactions.refundSettlements.list(\"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.transactions.refund_settlements.list(transaction_id=\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.Transactions.RefundSettlements.List(ctx, \"7099948d-7286-47e4-aad8-b68f7eb44591\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->transactions->refundSettlements->list(\n    transactionId: '7099948d-7286-47e4-aad8-b68f7eb44591'\n);\n\nif ($response->refundSettlements !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListTransactionRefundSettlementsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        ListTransactionRefundSettlementsResponse res = sdk.transactions().refundSettlements().list()\n                .transactionId(\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n                .call();\n\n        if (res.refundSettlements().isPresent()) {\n            System.out.println(res.refundSettlements().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Transactions.RefundSettlements.ListAsync(transactionId: \"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n// handle response"
          }
        ]
      }
    },
    "/transactions/{transaction_id}/chargebacks": {
      "get": {
        "tags": [
          "Transactions - Chargebacks"
        ],
        "summary": "List transaction chargebacks",
        "description": "List all chargebacks for a specific transaction.",
        "operationId": "list_transaction_chargebacks",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The unique identifier of the transaction.",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Transaction Id"
            },
            "description": "The unique identifier of the transaction."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Chargebacks"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true,
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        }
      }
    },
    "/transactions/{transaction_id}/chargeback-reversals": {
      "get": {
        "tags": [
          "Transactions - Chargeback reversals"
        ],
        "summary": "List transaction chargeback reversals",
        "description": "List all chargeback reversals for a specific transaction.",
        "operationId": "list_transaction_chargeback_reversals",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The unique identifier of the transaction.",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Transaction Id"
            },
            "description": "The unique identifier of the transaction."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChargebackReversals"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true,
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        }
      }
    },
    "/transactions/{transaction_id}/captures": {
      "get": {
        "tags": [
          "Transactions - Captures"
        ],
        "summary": "List transaction captures",
        "description": "List all captures for a specific transaction.",
        "operationId": "list_transaction_captures",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The unique identifier of the transaction.",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Transaction Id"
            },
            "description": "The unique identifier of the transaction."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CaptureCollection"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "transactions.captures",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.transactions.captures.list(\"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.transactions.captures.list(transaction_id=\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.Transactions.Captures.List(ctx, \"7099948d-7286-47e4-aad8-b68f7eb44591\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->transactions->captures->list(\n    transactionId: '7099948d-7286-47e4-aad8-b68f7eb44591'\n);\n\nif ($response->captureCollection !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListTransactionCapturesResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        ListTransactionCapturesResponse res = sdk.transactions().captures().list()\n                .transactionId(\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n                .call();\n\n        if (res.captureCollection().isPresent()) {\n            System.out.println(res.captureCollection().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Transactions.Captures.ListAsync(transactionId: \"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n// handle response"
          }
        ]
      }
    },
    "/transactions/{transaction_id}/captures/{capture_id}": {
      "get": {
        "tags": [
          "Transactions - Captures"
        ],
        "summary": "Get transaction capture",
        "description": "Retrieve a specific capture for a transaction by its unique identifier.",
        "operationId": "get_transaction_capture",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The unique identifier of the transaction.",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Transaction Id"
            },
            "description": "The unique identifier of the transaction."
          },
          {
            "name": "capture_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The unique identifier of the capture.",
              "examples": [
                "b1e2c3d4-5678-1234-9abc-1234567890ab"
              ],
              "title": "Capture Id"
            },
            "description": "The unique identifier of the capture."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Capture"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "get",
        "x-speakeasy-group": "transactions.captures",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.transactions.captures.get(\"7099948d-7286-47e4-aad8-b68f7eb44591\", \"b1e2c3d4-5678-1234-9abc-1234567890ab\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.transactions.captures.get(transaction_id=\"7099948d-7286-47e4-aad8-b68f7eb44591\", capture_id=\"b1e2c3d4-5678-1234-9abc-1234567890ab\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.Transactions.Captures.Get(ctx, \"7099948d-7286-47e4-aad8-b68f7eb44591\", \"b1e2c3d4-5678-1234-9abc-1234567890ab\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->transactions->captures->get(\n    transactionId: '7099948d-7286-47e4-aad8-b68f7eb44591',\n    captureId: 'b1e2c3d4-5678-1234-9abc-1234567890ab'\n\n);\n\nif ($response->capture !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.GetTransactionCaptureResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        GetTransactionCaptureResponse res = sdk.transactions().captures().get()\n                .transactionId(\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n                .captureId(\"b1e2c3d4-5678-1234-9abc-1234567890ab\")\n                .call();\n\n        if (res.capture().isPresent()) {\n            System.out.println(res.capture().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Transactions.Captures.GetAsync(\n    transactionId: \"7099948d-7286-47e4-aad8-b68f7eb44591\",\n    captureId: \"b1e2c3d4-5678-1234-9abc-1234567890ab\"\n);\n\n// handle response"
          }
        ]
      }
    },
    "/transactions/{transaction_id}/authorization/increment": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "Increment transaction authorization",
        "description": "Increment the transaction authorization amount of a given transaction_id.",
        "operationId": "increment_transaction_authorization",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The unique identifier of the transaction.",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Transaction Id"
            },
            "description": "The unique identifier of the transaction."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          },
          {
            "name": "idempotency-key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A unique key that identifies this request. Providing this header will make this an idempotent request. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions.",
              "examples": [
                "request-12345"
              ],
              "title": "Idempotency-Key"
            },
            "description": "A unique key that identifies this request. Providing this header will make this an idempotent request. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransactionAuthorizationIncrementCreate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionAuthorizationIncrement"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "increment_authorization",
        "x-speakeasy-group": "transactions",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.transactions.incrementAuthorization({\n    amount: 1299,\n  }, \"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.transactions.increment_authorization(transaction_id=\"7099948d-7286-47e4-aad8-b68f7eb44591\", amount=1299)\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.Transactions.IncrementAuthorization(ctx, \"7099948d-7286-47e4-aad8-b68f7eb44591\", components.TransactionAuthorizationIncrementCreate{\n        Amount: 1299,\n    }, nil)\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$transactionAuthorizationIncrementCreate = new Gr4vy\\TransactionAuthorizationIncrementCreate(\n    amount: 1299,\n);\n\n$response = $sdk->transactions->incrementAuthorization(\n    transactionId: '7099948d-7286-47e4-aad8-b68f7eb44591',\n    transactionAuthorizationIncrementCreate: $transactionAuthorizationIncrementCreate\n\n);\n\nif ($response->transactionAuthorizationIncrement !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.TransactionAuthorizationIncrementCreate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.IncrementTransactionAuthorizationResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        IncrementTransactionAuthorizationResponse res = sdk.transactions().incrementAuthorization()\n                .transactionId(\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n                .transactionAuthorizationIncrementCreate(TransactionAuthorizationIncrementCreate.builder()\n                    .amount(1299L)\n                    .build())\n                .call();\n\n        if (res.transactionAuthorizationIncrement().isPresent()) {\n            System.out.println(res.transactionAuthorizationIncrement().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Transactions.IncrementAuthorizationAsync(\n    transactionId: \"7099948d-7286-47e4-aad8-b68f7eb44591\",\n    transactionAuthorizationIncrementCreate: new TransactionAuthorizationIncrementCreate() {\n        Amount = 1299,\n    }\n);\n\n// handle response"
          }
        ]
      }
    },
    "/transactions/{transaction_id}/session": {
      "post": {
        "tags": [
          "Transactions - Sessions"
        ],
        "summary": "Get or update session",
        "description": "Gets and/or updates a transaction's session, where the connector supports this feature. Updates are often optional or not supported. Please refer to connector documentation.",
        "operationId": "update_session",
        "parameters": [
          {
            "name": "transaction_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the transaction",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Transaction Id"
            },
            "description": "The ID of the transaction"
          },
          {
            "name": "token",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Transaction session token used to retrieve session data for direct client integrations.",
              "examples": [
                "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"
              ],
              "title": "Token"
            },
            "description": "Transaction session token used to retrieve session data for direct client integrations."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/UpdateTransactionSessionRequest"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Body"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateTransactionSessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true
      }
    },
    "/payment-options": {
      "post": {
        "tags": [
          "Payment options"
        ],
        "summary": "List payment options",
        "description": "List the payment options available at checkout. filtering by country, currency, and additional fields passed to Flow rules.",
        "operationId": "list_payment_options",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentOptionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentOptions"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "payment-options",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentOptions.list({});\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payment_options.list(locale=\"en\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.PaymentOptions.List(ctx, components.PaymentOptionRequest{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$paymentOptionRequest = new Gr4vy\\PaymentOptionRequest();\n\n$response = $sdk->paymentOptions->list(\n    paymentOptionRequest: $paymentOptionRequest\n);\n\nif ($response->paymentOptions !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.PaymentOptionRequest;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListPaymentOptionsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        ListPaymentOptionsResponse res = sdk.paymentOptions().list()\n                .paymentOptionRequest(PaymentOptionRequest.builder()\n                    .build())\n                .call();\n\n        if (res.paymentOptions().isPresent()) {\n            System.out.println(res.paymentOptions().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.PaymentOptions.ListAsync(paymentOptionRequest: new PaymentOptionRequest() {});\n\n// handle response"
          }
        ]
      }
    },
    "/payment-method-definitions": {
      "get": {
        "tags": [
          "Payment methods - Definitions"
        ],
        "summary": "List payment method definitions",
        "description": "Returns a list of all available payment method definitions.",
        "operationId": "list_payment_method_definitions",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentMethodDefinitions"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true,
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        }
      }
    },
    "/payment-service-definitions": {
      "get": {
        "tags": [
          "Payment service definitions"
        ],
        "summary": "List payment service definitions",
        "description": "List the definitions of each payment service that can be configured.",
        "operationId": "list_payment_service_definitions",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A pointer to the page of results to return.",
              "examples": [
                "ZXhhbXBsZTE"
              ],
              "title": "Cursor"
            },
            "description": "A pointer to the page of results to return."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "The maximum number of items that are at returned.",
              "examples": [
                20
              ],
              "default": 20,
              "title": "Limit"
            },
            "description": "The maximum number of items that are at returned."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentServiceDefinitions"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "payment-service-definitions",
        "x-speakeasy-pagination": {
          "type": "cursor",
          "inputs": [
            {
              "name": "cursor",
              "in": "parameters",
              "type": "cursor"
            }
          ],
          "outputs": {
            "nextCursor": "$.next_cursor"
          }
        },
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentServiceDefinitions.list();\n\n  for await (const page of result) {\n    console.log(page);\n  }\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n):\n\n    res = g_client.payment_service_definitions.list(cursor=\"ZXhhbXBsZTE\", limit=20)\n\n    while res is not None:\n        # Handle items\n\n        res = res.next()"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.PaymentServiceDefinitions.List(ctx, gr4vygo.Pointer(\"ZXhhbXBsZTE\"), gr4vygo.Pointer[int64](20))\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        for {\n            // handle items\n\n            res, err = res.Next()\n\n            if err != nil {\n                // handle error\n            }\n\n            if res == nil {\n                break\n            }\n        }\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$responses = $sdk->paymentServiceDefinitions->list(\n    cursor: 'ZXhhbXBsZTE',\n    limit: 20\n\n);\n\n\nforeach ($responses as $response) {\n    if ($response->statusCode === 200) {\n        // handle response\n    }\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListPaymentServiceDefinitionsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n\n        sdk.paymentServiceDefinitions().list()\n                .cursor(\"ZXhhbXBsZTE\")\n                .limit(20L)\n                .callAsStream()\n                .forEach((ListPaymentServiceDefinitionsResponse item) -> {\n                   // handle page\n                });\n\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing Gr4vy.Models.Requests;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nListPaymentServiceDefinitionsResponse? res = await sdk.PaymentServiceDefinitions.ListAsync(\n    cursor: \"ZXhhbXBsZTE\",\n    limit: 20\n);\n\nwhile(res != null)\n{\n    // handle items\n\n    res = await res.Next!();\n}"
          }
        ]
      }
    },
    "/payment-service-definitions/{payment_service_definition_id}": {
      "get": {
        "tags": [
          "Payment service definitions"
        ],
        "summary": "Get a payment service definition",
        "description": "Get the definition of a payment service that can be configured.",
        "operationId": "get_payment_service_definition",
        "parameters": [
          {
            "name": "payment_service_definition_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "examples": [
                "adyen-ideal"
              ],
              "dscription": "The ID of the payment service definition",
              "title": "Payment Service Definition Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentServiceDefinition"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "get",
        "x-speakeasy-group": "payment-service-definitions",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentServiceDefinitions.get(\"adyen-ideal\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n):\n\n    res = g_client.payment_service_definitions.get(payment_service_definition_id=\"adyen-ideal\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.PaymentServiceDefinitions.Get(ctx, \"adyen-ideal\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->paymentServiceDefinitions->get(\n    paymentServiceDefinitionId: 'adyen-ideal'\n);\n\nif ($response->paymentServiceDefinition !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.GetPaymentServiceDefinitionResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        GetPaymentServiceDefinitionResponse res = sdk.paymentServiceDefinitions().get()\n                .paymentServiceDefinitionId(\"adyen-ideal\")\n                .call();\n\n        if (res.paymentServiceDefinition().isPresent()) {\n            System.out.println(res.paymentServiceDefinition().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.PaymentServiceDefinitions.GetAsync(paymentServiceDefinitionId: \"adyen-ideal\");\n\n// handle response"
          }
        ]
      }
    },
    "/payment-service-definitions/{payment_service_definition_id}/sessions": {
      "post": {
        "tags": [
          "Payment service definitions"
        ],
        "summary": "Create a session for a payment service definition",
        "description": "Creates a session for a payment service that supports sessions.",
        "operationId": "create_payment_service_definition_session",
        "parameters": [
          {
            "name": "payment_service_definition_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "examples": [
                "adyen-ideal"
              ],
              "dscription": "The ID of the payment service definition",
              "title": "Payment Service Definition Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "description": "The JSON payload to sent to the payment service's session API.",
                "title": "Body"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSession"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "session",
        "x-speakeasy-group": "payment-service-definitions",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentServiceDefinitions.session({\n\n  }, \"adyen-ideal\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n):\n\n    res = g_client.payment_service_definitions.session(payment_service_definition_id=\"adyen-ideal\", request_body={\n\n    })\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.PaymentServiceDefinitions.Session(ctx, \"adyen-ideal\", map[string]any{\n\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->paymentServiceDefinitions->session(\n    paymentServiceDefinitionId: 'adyen-ideal',\n    requestBody: [\n\n    ]\n\n);\n\nif ($response->createSession !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreatePaymentServiceDefinitionSessionResponse;\nimport java.lang.Exception;\nimport java.util.Map;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        CreatePaymentServiceDefinitionSessionResponse res = sdk.paymentServiceDefinitions().session()\n                .paymentServiceDefinitionId(\"adyen-ideal\")\n                .requestBody(Map.ofEntries(\n                ))\n                .call();\n\n        if (res.createSession().isPresent()) {\n            System.out.println(res.createSession().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing System.Collections.Generic;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.PaymentServiceDefinitions.SessionAsync(\n    paymentServiceDefinitionId: \"adyen-ideal\",\n    requestBody: new Dictionary<string, object>() {\n\n    }\n);\n\n// handle response"
          }
        ]
      }
    },
    "/payment-services": {
      "get": {
        "tags": [
          "Payment services"
        ],
        "summary": "List payment services",
        "description": "List the configured payment services.",
        "operationId": "list_payment_services",
        "parameters": [
          {
            "name": "method",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "abitab",
                    "affirm",
                    "afterpay",
                    "alipay",
                    "alipayhk",
                    "applepay",
                    "arcuspaynetwork",
                    "bacs",
                    "bancontact",
                    "bank",
                    "bcp",
                    "becs",
                    "bitpay",
                    "blik",
                    "ach",
                    "boleto",
                    "boost",
                    "breb",
                    "capitec",
                    "card",
                    "cashapp",
                    "cashappafterpay",
                    "chaseorbital",
                    "clearpay",
                    "click-to-pay",
                    "custom_push",
                    "custom_redirect",
                    "custom_tokenize",
                    "dana",
                    "dcb",
                    "dlocal",
                    "duitnow",
                    "ebanx",
                    "eckoh",
                    "efecty",
                    "eps",
                    "everydaypay",
                    "gcash",
                    "gem",
                    "gemds",
                    "gift-card",
                    "giropay",
                    "givingblock",
                    "gocardless",
                    "googlepay",
                    "googlepay_pan_only",
                    "gopay",
                    "grabpay",
                    "ideal",
                    "interac",
                    "kakaopay",
                    "kcp",
                    "khipu",
                    "klarna",
                    "konbini",
                    "latitude",
                    "latitudeds",
                    "laybuy",
                    "linepay",
                    "linkaja",
                    "maybankqrpay",
                    "mercadopago",
                    "multibanco",
                    "multipago",
                    "nequi",
                    "netbanking",
                    "network-token",
                    "nupay",
                    "oney_10x",
                    "oney_12x",
                    "oney_3x",
                    "oney_4x",
                    "oney_6x",
                    "onlinebankingcz",
                    "onelink",
                    "ovo",
                    "oxxo",
                    "p24",
                    "pagoefectivo",
                    "paybybank",
                    "payid",
                    "paymaya",
                    "paysquad",
                    "paypal",
                    "paypalpaylater",
                    "paypay",
                    "payto",
                    "payvalida",
                    "paze",
                    "picpay",
                    "pix",
                    "plaid",
                    "pse",
                    "rabbitlinepay",
                    "razorpay",
                    "rapipago",
                    "redpagos",
                    "scalapay",
                    "sepa",
                    "servipag",
                    "seveneleven",
                    "sezzle",
                    "shopeepay",
                    "singteldash",
                    "smartpay",
                    "sofort",
                    "spei",
                    "stitch",
                    "swish",
                    "stripe",
                    "stripedd",
                    "stripetoken",
                    "tapi",
                    "tapifintechs",
                    "thaiqr",
                    "touchngo",
                    "truemoney",
                    "trustly",
                    "trustlyeurope",
                    "upi",
                    "venmo",
                    "vipps",
                    "waave",
                    "webpay",
                    "wechat",
                    "wero",
                    "yape",
                    "zippay"
                  ],
                  "title": "Method",
                  "x-speakeasy-unknown-values": "allow"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Return any payment service for this method.",
              "examples": [
                "card"
              ],
              "title": "Method"
            },
            "description": "Return any payment service for this method."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A pointer to the page of results to return.",
              "examples": [
                "ZXhhbXBsZTE"
              ],
              "title": "Cursor"
            },
            "description": "A pointer to the page of results to return."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "The maximum number of items that are at returned.",
              "examples": [
                20
              ],
              "default": 20,
              "title": "Limit"
            },
            "description": "The maximum number of items that are at returned."
          },
          {
            "name": "deleted",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Return any deleted payment service.",
              "examples": [
                true
              ],
              "default": false,
              "title": "Deleted"
            },
            "description": "Return any deleted payment service."
          },
          {
            "name": "include_fields",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Include the non-secret credential and reporting fields for each payment service. Disable this to reduce response time if you don't need them.",
              "examples": [
                true
              ],
              "default": true,
              "title": "Include Fields"
            },
            "description": "Include the non-secret credential and reporting fields for each payment service. Disable this to reduce response time if you don't need them."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentServices"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "payment-services",
        "x-speakeasy-pagination": {
          "type": "cursor",
          "inputs": [
            {
              "name": "cursor",
              "in": "parameters",
              "type": "cursor"
            }
          ],
          "outputs": {
            "nextCursor": "$.next_cursor"
          }
        },
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentServices.list();\n\n  for await (const page of result) {\n    console.log(page);\n  }\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payment_services.list(cursor=\"ZXhhbXBsZTE\", limit=20, deleted=True, include_fields=True)\n\n    while res is not None:\n        # Handle items\n\n        res = res.next()"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.PaymentServices.List(ctx, operations.ListPaymentServicesRequest{\n        Cursor: gr4vygo.Pointer(\"ZXhhbXBsZTE\"),\n        Deleted: gr4vygo.Pointer(true),\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        for {\n            // handle items\n\n            res, err = res.Next()\n\n            if err != nil {\n                // handle error\n            }\n\n            if res == nil {\n                break\n            }\n        }\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$request = new Gr4vy\\ListPaymentServicesRequest(\n    method: 'card',\n    cursor: 'ZXhhbXBsZTE',\n    deleted: true,\n);\n\n$responses = $sdk->paymentServices->list(\n    request: $request\n);\n\n\nforeach ($responses as $response) {\n    if ($response->statusCode === 200) {\n        // handle response\n    }\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListPaymentServicesRequest;\nimport com.gr4vy.sdk.models.operations.ListPaymentServicesResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        ListPaymentServicesRequest req = ListPaymentServicesRequest.builder()\n                .cursor(\"ZXhhbXBsZTE\")\n                .deleted(true)\n                .build();\n\n\n        sdk.paymentServices().list()\n                .callAsStream()\n                .forEach((ListPaymentServicesResponse item) -> {\n                   // handle page\n                });\n\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing Gr4vy.Models.Requests;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nListPaymentServicesRequest req = new ListPaymentServicesRequest() {\n    Method = \"card\",\n    Cursor = \"ZXhhbXBsZTE\",\n    Deleted = true,\n};\n\nListPaymentServicesResponse? res = await sdk.PaymentServices.ListAsync(req);\n\nwhile(res != null)\n{\n    // handle items\n\n    res = await res.Next!();\n}"
          }
        ]
      },
      "post": {
        "tags": [
          "Payment services"
        ],
        "summary": "Configure a payment service",
        "description": "Configures a new payment service for use by merchants.",
        "operationId": "create_payment_service",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentServiceCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentService"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "payment-services",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentServices.create({\n    displayName: \"Stripe\",\n    paymentServiceDefinitionId: \"stripe-card\",\n    fields: [\n      {\n        key: \"api_key\",\n        value: \"key-12345\",\n      },\n    ],\n    acceptedCurrencies: [\n      \"USD\",\n      \"EUR\",\n      \"GBP\",\n    ],\n    acceptedCountries: [\n      \"US\",\n      \"DE\",\n      \"GB\",\n    ],\n    threeDSecureEnabled: true,\n    settlementReportingEnabled: true,\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payment_services.create(display_name=\"Stripe\", payment_service_definition_id=\"stripe-card\", fields=[\n        {\n            \"key\": \"api_key\",\n            \"value\": \"key-12345\",\n        },\n    ], accepted_currencies=[\n        \"USD\",\n        \"EUR\",\n        \"GBP\",\n    ], accepted_countries=[\n        \"US\",\n        \"DE\",\n        \"GB\",\n    ], three_d_secure_enabled=True, settlement_reporting_enabled=True)\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.PaymentServices.Create(ctx, components.PaymentServiceCreate{\n        DisplayName: \"Stripe\",\n        PaymentServiceDefinitionID: \"stripe-card\",\n        Fields: []components.Field{\n            components.Field{\n                Key: \"api_key\",\n                Value: \"key-12345\",\n            },\n        },\n        AcceptedCurrencies: []string{\n            \"USD\",\n            \"EUR\",\n            \"GBP\",\n        },\n        AcceptedCountries: []string{\n            \"US\",\n            \"DE\",\n            \"GB\",\n        },\n        ThreeDSecureEnabled: gr4vygo.Pointer(true),\n        SettlementReportingEnabled: gr4vygo.Pointer(true),\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$paymentServiceCreate = new Gr4vy\\PaymentServiceCreate(\n    displayName: 'Stripe',\n    paymentServiceDefinitionId: 'stripe-card',\n    fields: [\n        new Gr4vy\\Field(\n            key: 'api_key',\n            value: 'key-12345',\n        ),\n    ],\n    acceptedCurrencies: [\n        'USD',\n        'EUR',\n        'GBP',\n    ],\n    acceptedCountries: [\n        'US',\n        'DE',\n        'GB',\n    ],\n    threeDSecureEnabled: true,\n    settlementReportingEnabled: true,\n);\n\n$response = $sdk->paymentServices->create(\n    paymentServiceCreate: $paymentServiceCreate\n);\n\nif ($response->paymentService !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.Field;\nimport com.gr4vy.sdk.models.components.PaymentServiceCreate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreatePaymentServiceResponse;\nimport java.lang.Exception;\nimport java.util.List;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        CreatePaymentServiceResponse res = sdk.paymentServices().create()\n                .paymentServiceCreate(PaymentServiceCreate.builder()\n                    .displayName(\"Stripe\")\n                    .paymentServiceDefinitionId(\"stripe-card\")\n                    .fields(List.of(\n                        Field.builder()\n                            .key(\"api_key\")\n                            .value(\"key-12345\")\n                            .build()))\n                    .acceptedCurrencies(List.of(\n                        \"USD\",\n                        \"EUR\",\n                        \"GBP\"))\n                    .acceptedCountries(List.of(\n                        \"US\",\n                        \"DE\",\n                        \"GB\"))\n                    .threeDSecureEnabled(true)\n                    .settlementReportingEnabled(true)\n                    .build())\n                .call();\n\n        if (res.paymentService().isPresent()) {\n            System.out.println(res.paymentService().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing System.Collections.Generic;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.PaymentServices.CreateAsync(paymentServiceCreate: new PaymentServiceCreate() {\n    DisplayName = \"Stripe\",\n    PaymentServiceDefinitionId = \"stripe-card\",\n    Fields = new List<Field>() {\n        new Field() {\n            Key = \"api_key\",\n            Value = \"key-12345\",\n        },\n    },\n    AcceptedCurrencies = new List<string>() {\n        \"USD\",\n        \"EUR\",\n        \"GBP\",\n    },\n    AcceptedCountries = new List<string>() {\n        \"US\",\n        \"DE\",\n        \"GB\",\n    },\n    ThreeDSecureEnabled = true,\n    SettlementReportingEnabled = true,\n});\n\n// handle response"
          }
        ]
      }
    },
    "/payment-services/{payment_service_id}": {
      "get": {
        "tags": [
          "Payment services"
        ],
        "summary": "Get payment service",
        "description": "Get the details of a configured payment service.",
        "operationId": "get_payment_service",
        "parameters": [
          {
            "name": "payment_service_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "the ID of the payment service",
              "examples": [
                "fffd152a-9532-4087-9a4f-de58754210f0"
              ],
              "title": "Payment Service Id"
            },
            "description": "the ID of the payment service"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentService"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "get",
        "x-speakeasy-group": "payment-services",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentServices.get(\"fffd152a-9532-4087-9a4f-de58754210f0\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payment_services.get(payment_service_id=\"fffd152a-9532-4087-9a4f-de58754210f0\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.PaymentServices.Get(ctx, \"fffd152a-9532-4087-9a4f-de58754210f0\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->paymentServices->get(\n    paymentServiceId: 'fffd152a-9532-4087-9a4f-de58754210f0'\n);\n\nif ($response->paymentService !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.GetPaymentServiceResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        GetPaymentServiceResponse res = sdk.paymentServices().get()\n                .paymentServiceId(\"fffd152a-9532-4087-9a4f-de58754210f0\")\n                .call();\n\n        if (res.paymentService().isPresent()) {\n            System.out.println(res.paymentService().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.PaymentServices.GetAsync(paymentServiceId: \"fffd152a-9532-4087-9a4f-de58754210f0\");\n\n// handle response"
          }
        ]
      },
      "put": {
        "tags": [
          "Payment services"
        ],
        "summary": "Update a configured payment service",
        "description": "Updates the configuration of a payment service.",
        "operationId": "update_payment_service",
        "parameters": [
          {
            "name": "payment_service_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "the ID of the payment service",
              "examples": [
                "fffd152a-9532-4087-9a4f-de58754210f0"
              ],
              "title": "Payment Service Id"
            },
            "description": "the ID of the payment service"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentServiceUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentService"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "update",
        "x-speakeasy-group": "payment-services",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentServices.update({\n    settlementReportingEnabled: true,\n  }, \"fffd152a-9532-4087-9a4f-de58754210f0\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payment_services.update(payment_service_id=\"fffd152a-9532-4087-9a4f-de58754210f0\", settlement_reporting_enabled=True)\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.PaymentServices.Update(ctx, \"fffd152a-9532-4087-9a4f-de58754210f0\", components.PaymentServiceUpdate{\n        SettlementReportingEnabled: gr4vygo.Pointer(true),\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$paymentServiceUpdate = new Gr4vy\\PaymentServiceUpdate(\n    settlementReportingEnabled: true,\n);\n\n$response = $sdk->paymentServices->update(\n    paymentServiceId: 'fffd152a-9532-4087-9a4f-de58754210f0',\n    paymentServiceUpdate: $paymentServiceUpdate\n\n);\n\nif ($response->paymentService !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.PaymentServiceUpdate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.UpdatePaymentServiceResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        UpdatePaymentServiceResponse res = sdk.paymentServices().update()\n                .paymentServiceId(\"fffd152a-9532-4087-9a4f-de58754210f0\")\n                .paymentServiceUpdate(PaymentServiceUpdate.builder()\n                    .settlementReportingEnabled(true)\n                    .build())\n                .call();\n\n        if (res.paymentService().isPresent()) {\n            System.out.println(res.paymentService().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.PaymentServices.UpdateAsync(\n    paymentServiceId: \"fffd152a-9532-4087-9a4f-de58754210f0\",\n    paymentServiceUpdate: new PaymentServiceUpdate() {\n        SettlementReportingEnabled = true,\n    }\n);\n\n// handle response"
          }
        ]
      },
      "delete": {
        "tags": [
          "Payment services"
        ],
        "summary": "Delete a configured payment service",
        "description": "Deletes all the configuration of a payment service.",
        "operationId": "delete_payment_service",
        "parameters": [
          {
            "name": "payment_service_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "the ID of the payment service",
              "examples": [
                "fffd152a-9532-4087-9a4f-de58754210f0"
              ],
              "title": "Payment Service Id"
            },
            "description": "the ID of the payment service"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "delete",
        "x-speakeasy-group": "payment-services",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  await gr4vy.paymentServices.delete(\"fffd152a-9532-4087-9a4f-de58754210f0\");\n\n\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    g_client.payment_services.delete(payment_service_id=\"fffd152a-9532-4087-9a4f-de58754210f0\")\n\n    # Use the SDK ..."
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    err := s.PaymentServices.Delete(ctx, \"fffd152a-9532-4087-9a4f-de58754210f0\")\n    if err != nil {\n        log.Fatal(err)\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->paymentServices->delete(\n    paymentServiceId: 'fffd152a-9532-4087-9a4f-de58754210f0'\n);\n\nif ($response->statusCode === 200) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.DeletePaymentServiceResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        DeletePaymentServiceResponse res = sdk.paymentServices().delete()\n                .paymentServiceId(\"fffd152a-9532-4087-9a4f-de58754210f0\")\n                .call();\n\n        // handle response\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nawait sdk.PaymentServices.DeleteAsync(paymentServiceId: \"fffd152a-9532-4087-9a4f-de58754210f0\");\n\n// handle response"
          }
        ]
      }
    },
    "/payment-services/verify": {
      "post": {
        "tags": [
          "Payment services"
        ],
        "summary": "Verify payment service credentials",
        "description": "Verify the credentials of a configured payment service",
        "operationId": "verify_payment_service_credentials",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyCredentials"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "verify",
        "x-speakeasy-group": "payment-services",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentServices.verify({\n    paymentServiceDefinitionId: \"stripe-card\",\n    fields: [],\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payment_services.verify(payment_service_definition_id=\"stripe-card\", fields=[])\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.PaymentServices.Verify(ctx, components.VerifyCredentials{\n        PaymentServiceDefinitionID: \"stripe-card\",\n        Fields: []components.Field{},\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$verifyCredentials = new Gr4vy\\VerifyCredentials(\n    paymentServiceDefinitionId: 'stripe-card',\n    fields: [],\n);\n\n$response = $sdk->paymentServices->verify(\n    verifyCredentials: $verifyCredentials\n);\n\nif ($response->any !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.VerifyCredentials;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.VerifyPaymentServiceCredentialsResponse;\nimport java.lang.Exception;\nimport java.util.List;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        VerifyPaymentServiceCredentialsResponse res = sdk.paymentServices().verify()\n                .verifyCredentials(VerifyCredentials.builder()\n                    .paymentServiceDefinitionId(\"stripe-card\")\n                    .fields(List.of())\n                    .build())\n                .call();\n\n        if (res.any().isPresent()) {\n            System.out.println(res.any().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing System.Collections.Generic;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.PaymentServices.VerifyAsync(verifyCredentials: new VerifyCredentials() {\n    PaymentServiceDefinitionId = \"stripe-card\",\n    Fields = new List<Field>() {},\n});\n\n// handle response"
          }
        ]
      }
    },
    "/payment-services/{payment_service_id}/sessions": {
      "post": {
        "tags": [
          "Payment services"
        ],
        "summary": "Create a session for a payment service definition",
        "description": "Creates a session for a payment service that supports sessions.",
        "operationId": "create_payment_service_session",
        "parameters": [
          {
            "name": "payment_service_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "the ID of the payment service",
              "examples": [
                "fffd152a-9532-4087-9a4f-de58754210f0"
              ],
              "title": "Payment Service Id"
            },
            "description": "the ID of the payment service"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "description": "The JSON payload to sent to the payment service's session API.",
                "title": "Body"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSession"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "session",
        "x-speakeasy-group": "payment-services",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentServices.session({\n\n  }, \"fffd152a-9532-4087-9a4f-de58754210f0\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payment_services.session(payment_service_id=\"fffd152a-9532-4087-9a4f-de58754210f0\", request_body={\n\n    })\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.PaymentServices.Session(ctx, \"fffd152a-9532-4087-9a4f-de58754210f0\", map[string]any{\n\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->paymentServices->session(\n    paymentServiceId: 'fffd152a-9532-4087-9a4f-de58754210f0',\n    requestBody: [\n\n    ]\n\n);\n\nif ($response->createSession !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreatePaymentServiceSessionResponse;\nimport java.lang.Exception;\nimport java.util.Map;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        CreatePaymentServiceSessionResponse res = sdk.paymentServices().session()\n                .paymentServiceId(\"fffd152a-9532-4087-9a4f-de58754210f0\")\n                .requestBody(Map.ofEntries(\n                ))\n                .call();\n\n        if (res.createSession().isPresent()) {\n            System.out.println(res.createSession().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing System.Collections.Generic;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.PaymentServices.SessionAsync(\n    paymentServiceId: \"fffd152a-9532-4087-9a4f-de58754210f0\",\n    requestBody: new Dictionary<string, object>() {\n\n    }\n);\n\n// handle response"
          }
        ]
      }
    },
    "/card-details": {
      "get": {
        "tags": [
          "Card details"
        ],
        "summary": "Get card details",
        "description": "Gets details about a particular card based on the BIN. Use the currency, amount, and other fields to apply any Flow rules that may put requirements on the card.",
        "operationId": "get_card_details",
        "parameters": [
          {
            "name": "currency",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The three-letter ISO currency code.",
              "examples": [
                "USD"
              ],
              "title": "Currency"
            },
            "description": "The three-letter ISO currency code."
          },
          {
            "name": "bin",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "minLength": 6,
                  "maxLength": 8,
                  "pattern": "^\\d+$"
                },
                {
                  "type": "null"
                }
              ],
              "description": "The bank identification number (BIN) of the card.",
              "examples": [
                "411111"
              ],
              "title": "Bin"
            },
            "description": "The bank identification number (BIN) of the card."
          },
          {
            "name": "payment_method_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "description": "The ID of the payment method to check, instead of the `bin`.",
              "examples": [
                "123e4567-e89b-12d3-a456-426614174000"
              ],
              "title": "Payment Method Id"
            },
            "description": "The ID of the payment method to check, instead of the `bin`."
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^[A-Z]{2}$",
                  "examples": [
                    "DE",
                    "GB",
                    "US"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "description": "The two-letter ISO country code.",
              "examples": [
                "US"
              ],
              "title": "Country"
            },
            "description": "The two-letter ISO country code."
          },
          {
            "name": "amount",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "description": "The payment amount in the smallest currency unit.",
              "examples": [
                1299
              ],
              "title": "Amount"
            },
            "description": "The payment amount in the smallest currency unit."
          },
          {
            "name": "intent",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "authorize",
                    "capture"
                  ],
                  "title": "TransactionIntent",
                  "x-speakeasy-unknown-values": "allow"
                },
                {
                  "type": "null"
                }
              ],
              "description": "The transaction intent.",
              "examples": [
                "authorize"
              ],
              "default": "authorize",
              "title": "Intent"
            },
            "description": "The transaction intent."
          },
          {
            "name": "is_subsequent_payment",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Whether this is a subsequent payment.",
              "examples": [
                false
              ],
              "title": "Is Subsequent Payment"
            },
            "description": "Whether this is a subsequent payment."
          },
          {
            "name": "merchant_initiated",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Whether the transaction is merchant-initiated",
              "examples": [
                false
              ],
              "title": "Merchant Initiated"
            },
            "description": "Whether the transaction is merchant-initiated"
          },
          {
            "name": "metadata",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Additional metadata for the transaction in JSON format",
              "examples": [
                "{\"source\": \"web\"}"
              ],
              "title": "Metadata"
            },
            "description": "Additional metadata for the transaction in JSON format"
          },
          {
            "name": "payment_source",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "ecommerce",
                    "moto",
                    "recurring",
                    "installment",
                    "card_on_file"
                  ],
                  "title": "TransactionPaymentSource",
                  "description": "The way payment method information made it to this transaction.",
                  "x-speakeasy-unknown-values": "allow"
                },
                {
                  "type": "null"
                }
              ],
              "description": "The source of the transaction payment",
              "examples": [
                "web"
              ],
              "title": "Payment Source"
            },
            "description": "The source of the transaction payment"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardDetail"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true,
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        }
      }
    },
    "/audit-logs": {
      "get": {
        "tags": [
          "Audit logs"
        ],
        "summary": "List audit log entries",
        "description": "Returns a list of activity by dashboard users.",
        "operationId": "list_audit_logs",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A pointer to the page of results to return.",
              "examples": [
                "ZXhhbXBsZTE"
              ],
              "title": "Cursor"
            },
            "description": "A pointer to the page of results to return."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "The maximum number of items that are at returned.",
              "examples": [
                20
              ],
              "default": 20,
              "title": "Limit"
            },
            "description": "The maximum number of items that are at returned."
          },
          {
            "name": "action",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "created",
                    "updated",
                    "deleted",
                    "voided",
                    "canceled",
                    "captured"
                  ],
                  "title": "AuditLogAction",
                  "x-speakeasy-unknown-values": "allow"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only the items for which the `audit-log` has an `action` that matches this value.",
              "examples": [
                "created"
              ],
              "title": "Action"
            },
            "description": "Filters the results to only the items for which the `audit-log` has an `action` that matches this value."
          },
          {
            "name": "user_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only the items for which the `user` has an `id` that matches this value.",
              "examples": [
                "14b7b8c5-a6ba-4fb6-bbab-52d43c7f37ef"
              ],
              "title": "User Id"
            },
            "description": "Filters the results to only the items for which the `user` has an `id` that matches this value."
          },
          {
            "name": "resource_type",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only the items for which the `audit-log` has a `resource` that matches this type value.",
              "examples": [
                "user"
              ],
              "title": "Resource Type"
            },
            "description": "Filters the results to only the items for which the `audit-log` has a `resource` that matches this type value."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditLogEntries"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "audit-logs",
        "x-speakeasy-pagination": {
          "type": "cursor",
          "inputs": [
            {
              "name": "cursor",
              "in": "parameters",
              "type": "cursor"
            }
          ],
          "outputs": {
            "nextCursor": "$.next_cursor"
          }
        },
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.auditLogs.list();\n\n  for await (const page of result) {\n    console.log(page);\n  }\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.audit_logs.list(cursor=\"ZXhhbXBsZTE\", limit=20, action=\"created\", user_id=\"14b7b8c5-a6ba-4fb6-bbab-52d43c7f37ef\", resource_type=\"user\")\n\n    while res is not None:\n        # Handle items\n\n        res = res.next()"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"github.com/gr4vy/gr4vy-go/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.AuditLogs.List(ctx, operations.ListAuditLogsRequest{\n        Cursor: gr4vygo.Pointer(\"ZXhhbXBsZTE\"),\n        Action: components.AuditLogActionCreated.ToPointer(),\n        UserID: gr4vygo.Pointer(\"14b7b8c5-a6ba-4fb6-bbab-52d43c7f37ef\"),\n        ResourceType: gr4vygo.Pointer(\"user\"),\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        for {\n            // handle items\n\n            res, err = res.Next()\n\n            if err != nil {\n                // handle error\n            }\n\n            if res == nil {\n                break\n            }\n        }\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$request = new Gr4vy\\ListAuditLogsRequest(\n    cursor: 'ZXhhbXBsZTE',\n    action: 'created',\n    userId: '14b7b8c5-a6ba-4fb6-bbab-52d43c7f37ef',\n    resourceType: 'user',\n);\n\n$responses = $sdk->auditLogs->list(\n    request: $request\n);\n\n\nforeach ($responses as $response) {\n    if ($response->statusCode === 200) {\n        // handle response\n    }\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.AuditLogAction;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListAuditLogsRequest;\nimport com.gr4vy.sdk.models.operations.ListAuditLogsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        ListAuditLogsRequest req = ListAuditLogsRequest.builder()\n                .cursor(\"ZXhhbXBsZTE\")\n                .action(AuditLogAction.CREATED)\n                .userId(\"14b7b8c5-a6ba-4fb6-bbab-52d43c7f37ef\")\n                .resourceType(\"user\")\n                .build();\n\n\n        sdk.auditLogs().list()\n                .callAsStream()\n                .forEach((ListAuditLogsResponse item) -> {\n                   // handle page\n                });\n\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing Gr4vy.Models.Requests;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nListAuditLogsRequest req = new ListAuditLogsRequest() {\n    Cursor = \"ZXhhbXBsZTE\",\n    Action = \"created\",\n    UserId = \"14b7b8c5-a6ba-4fb6-bbab-52d43c7f37ef\",\n    ResourceType = \"user\",\n};\n\nListAuditLogsResponse? res = await sdk.AuditLogs.ListAsync(req);\n\nwhile(res != null)\n{\n    // handle items\n\n    res = await res.Next!();\n}"
          }
        ]
      }
    },
    "/reports": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "List configured reports",
        "description": "List all configured reports that can be generated.",
        "operationId": "list_reports",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A pointer to the page of results to return.",
              "examples": [
                "ZXhhbXBsZTE"
              ],
              "title": "Cursor"
            },
            "description": "A pointer to the page of results to return."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "The maximum number of items that are at returned.",
              "examples": [
                20
              ],
              "default": 20,
              "title": "Limit"
            },
            "description": "The maximum number of items that are at returned."
          },
          {
            "name": "schedule",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "daily",
                      "monthly",
                      "once",
                      "weekly"
                    ],
                    "title": "ReportSchedule",
                    "x-speakeasy-unknown-values": "allow"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the reports by the type of schedule at which they run.",
              "examples": [
                [
                  "daily",
                  "monthly"
                ]
              ],
              "title": "Schedule"
            },
            "description": "Filters the reports by the type of schedule at which they run."
          },
          {
            "name": "schedule_enabled",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the reports by wether their schedule is enabled.",
              "examples": [
                true
              ],
              "title": "Schedule Enabled"
            },
            "description": "Filters the reports by wether their schedule is enabled."
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the reports by searching their name for (partial) matches.",
              "examples": [
                "My report"
              ],
              "title": "Name"
            },
            "description": "Filters the reports by searching their name for (partial) matches."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reports"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "reports",
        "x-speakeasy-pagination": {
          "type": "cursor",
          "inputs": [
            {
              "name": "cursor",
              "in": "parameters",
              "type": "cursor"
            }
          ],
          "outputs": {
            "nextCursor": "$.next_cursor"
          }
        },
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.reports.list();\n\n  for await (const page of result) {\n    console.log(page);\n  }\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.reports.list(limit=20)\n\n    while res is not None:\n        # Handle items\n\n        res = res.next()"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.Reports.List(ctx, operations.ListReportsRequest{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        for {\n            // handle items\n\n            res, err = res.Next()\n\n            if err != nil {\n                // handle error\n            }\n\n            if res == nil {\n                break\n            }\n        }\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$request = new Gr4vy\\ListReportsRequest();\n\n$responses = $sdk->reports->list(\n    request: $request\n);\n\n\nforeach ($responses as $response) {\n    if ($response->statusCode === 200) {\n        // handle response\n    }\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListReportsRequest;\nimport com.gr4vy.sdk.models.operations.ListReportsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        ListReportsRequest req = ListReportsRequest.builder()\n                .build();\n\n\n        sdk.reports().list()\n                .callAsStream()\n                .forEach((ListReportsResponse item) -> {\n                   // handle page\n                });\n\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing Gr4vy.Models.Requests;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nListReportsRequest req = new ListReportsRequest() {};\n\nListReportsResponse? res = await sdk.Reports.ListAsync(req);\n\nwhile(res != null)\n{\n    // handle items\n\n    res = await res.Next!();\n}"
          }
        ]
      },
      "post": {
        "tags": [
          "Reports"
        ],
        "summary": "Add a report",
        "description": "Create a new report.",
        "operationId": "add_report",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReportCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Report"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "reports",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.reports.create({\n    name: \"Monthly Transaction Report\",\n    schedule: \"daily\",\n    scheduleEnabled: true,\n    scheduleTimezone: \"UTC\",\n    spec: {\n      model: \"detailed_settlement\",\n      params: {\n        \"filters\": {\n          \"ingested_at\": {\n            \"end\": \"day_end\",\n            \"start\": \"day_start\",\n          },\n        },\n      },\n    },\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.reports.create(name=\"Monthly Transaction Report\", schedule=\"daily\", schedule_enabled=True, spec={\n        \"model\": \"detailed_settlement\",\n        \"params\": {\n            \"filters\": {\n                \"ingested_at\": {\n                    \"end\": \"day_end\",\n                    \"start\": \"day_start\",\n                },\n            },\n        },\n    }, schedule_timezone=\"UTC\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.Reports.Create(ctx, components.ReportCreate{\n        Name: \"Monthly Transaction Report\",\n        Schedule: components.ReportScheduleDaily,\n        ScheduleEnabled: true,\n        ScheduleTimezone: gr4vygo.Pointer(\"UTC\"),\n        Spec: components.CreateSpecDetailedSettlement(\n            components.DetailedSettlementReportSpec{\n                Params: map[string]any{\n                    \"filters\": map[string]any{\n                        \"ingested_at\": map[string]any{\n                            \"end\": \"day_end\",\n                            \"start\": \"day_start\",\n                        },\n                    },\n                },\n            },\n        ),\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$reportCreate = new Gr4vy\\ReportCreate(\n    name: 'Monthly Transaction Report',\n    schedule: '<value>',\n    scheduleEnabled: true,\n    scheduleTimezone: 'UTC',\n    spec: new Gr4vy\\DetailedSettlementReportSpec(\n        params: [\n            'filters' => [\n                'ingested_at' => [\n                    'end' => 'day_end',\n                    'start' => 'day_start',\n                ],\n            ],\n        ],\n    ),\n);\n\n$response = $sdk->reports->create(\n    reportCreate: $reportCreate\n);\n\nif ($response->report !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.*;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.AddReportResponse;\nimport java.lang.Exception;\nimport java.util.Map;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        AddReportResponse res = sdk.reports().create()\n                .reportCreate(ReportCreate.builder()\n                    .name(\"Monthly Transaction Report\")\n                    .schedule(ReportSchedule.DAILY)\n                    .scheduleEnabled(true)\n                    .spec(DetailedSettlementReportSpec.builder()\n                        .params(Map.ofEntries(\n                            Map.entry(\"filters\", Map.ofEntries(\n                                Map.entry(\"ingested_at\", Map.ofEntries(\n                                    Map.entry(\"end\", \"day_end\"),\n                                    Map.entry(\"start\", \"day_start\")))))))\n                        .build())\n                    .scheduleTimezone(\"UTC\")\n                    .build())\n                .call();\n\n        if (res.report().isPresent()) {\n            System.out.println(res.report().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing System.Collections.Generic;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Reports.CreateAsync(reportCreate: new ReportCreate() {\n    Name = \"Monthly Transaction Report\",\n    Schedule = \"<value>\",\n    ScheduleEnabled = true,\n    ScheduleTimezone = \"UTC\",\n    Spec = new Spec() {\n        Model = \"detailed_settlement\",\n        Params = new Dictionary<string, object>() {\n            { \"filters\", new Dictionary<string, object>() {\n                { \"ingested_at\", new Dictionary<string, object>() {\n                    { \"end\", \"day_end\" },\n                    { \"start\", \"day_start\" },\n                } },\n            } },\n        },\n    },\n});\n\n// handle response"
          }
        ]
      }
    },
    "/reports/{report_id}": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Get a report",
        "description": "Fetches a report by its ID.",
        "operationId": "get_report",
        "parameters": [
          {
            "name": "report_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the report to retrieve details for.",
              "examples": [
                "4d4c7123-b794-4fad-b1b9-5ab2606e6bbe"
              ],
              "title": "Report Id"
            },
            "description": "The ID of the report to retrieve details for."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Report"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "get",
        "x-speakeasy-group": "reports",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.reports.get(\"4d4c7123-b794-4fad-b1b9-5ab2606e6bbe\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.reports.get(report_id=\"4d4c7123-b794-4fad-b1b9-5ab2606e6bbe\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.Reports.Get(ctx, \"4d4c7123-b794-4fad-b1b9-5ab2606e6bbe\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->reports->get(\n    reportId: '4d4c7123-b794-4fad-b1b9-5ab2606e6bbe'\n);\n\nif ($response->report !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.GetReportResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        GetReportResponse res = sdk.reports().get()\n                .reportId(\"4d4c7123-b794-4fad-b1b9-5ab2606e6bbe\")\n                .call();\n\n        if (res.report().isPresent()) {\n            System.out.println(res.report().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Reports.GetAsync(reportId: \"4d4c7123-b794-4fad-b1b9-5ab2606e6bbe\");\n\n// handle response"
          }
        ]
      },
      "put": {
        "tags": [
          "Reports"
        ],
        "summary": "Update a report",
        "description": "Updates the configuration of a report.",
        "operationId": "update_report",
        "parameters": [
          {
            "name": "report_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the report to edit.",
              "examples": [
                "4d4c7123-b794-4fad-b1b9-5ab2606e6bbe"
              ],
              "title": "Report Id"
            },
            "description": "The ID of the report to edit."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReportUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Report"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "put",
        "x-speakeasy-group": "reports",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.reports.put({}, \"4d4c7123-b794-4fad-b1b9-5ab2606e6bbe\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.reports.put(report_id=\"4d4c7123-b794-4fad-b1b9-5ab2606e6bbe\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.Reports.Put(ctx, \"4d4c7123-b794-4fad-b1b9-5ab2606e6bbe\", components.ReportUpdate{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$reportUpdate = new Gr4vy\\ReportUpdate();\n\n$response = $sdk->reports->put(\n    reportId: '4d4c7123-b794-4fad-b1b9-5ab2606e6bbe',\n    reportUpdate: $reportUpdate\n\n);\n\nif ($response->report !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.ReportUpdate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.UpdateReportResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        UpdateReportResponse res = sdk.reports().put()\n                .reportId(\"4d4c7123-b794-4fad-b1b9-5ab2606e6bbe\")\n                .reportUpdate(ReportUpdate.builder()\n                    .build())\n                .call();\n\n        if (res.report().isPresent()) {\n            System.out.println(res.report().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Reports.PutAsync(\n    reportId: \"4d4c7123-b794-4fad-b1b9-5ab2606e6bbe\",\n    reportUpdate: new ReportUpdate() {}\n);\n\n// handle response"
          }
        ]
      }
    },
    "/reports/{report_id}/executions": {
      "get": {
        "tags": [
          "Reports - Executions"
        ],
        "summary": "List executions for report",
        "description": "List all executions of a specific report.",
        "operationId": "list_report_executions",
        "parameters": [
          {
            "name": "report_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the report to retrieve details for.",
              "examples": [
                "4d4c7123-b794-4fad-b1b9-5ab2606e6bbe"
              ],
              "title": "Report Id"
            },
            "description": "The ID of the report to retrieve details for."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A pointer to the page of results to return.",
              "examples": [
                "ZXhhbXBsZTE"
              ],
              "title": "Cursor"
            },
            "description": "A pointer to the page of results to return."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "The maximum number of items that are at returned.",
              "examples": [
                20
              ],
              "default": 20,
              "title": "Limit"
            },
            "description": "The maximum number of items that are at returned."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReportExecutions"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "reports.executions",
        "x-speakeasy-pagination": {
          "type": "cursor",
          "inputs": [
            {
              "name": "cursor",
              "in": "parameters",
              "type": "cursor"
            }
          ],
          "outputs": {
            "nextCursor": "$.next_cursor"
          }
        },
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.reports.executions.list(\"4d4c7123-b794-4fad-b1b9-5ab2606e6bbe\");\n\n  for await (const page of result) {\n    console.log(page);\n  }\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.reports.executions.list(report_id=\"4d4c7123-b794-4fad-b1b9-5ab2606e6bbe\", limit=20)\n\n    while res is not None:\n        # Handle items\n\n        res = res.next()"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.Reports.Executions.List(ctx, \"4d4c7123-b794-4fad-b1b9-5ab2606e6bbe\", nil, gr4vygo.Pointer[int64](20))\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        for {\n            // handle items\n\n            res, err = res.Next()\n\n            if err != nil {\n                // handle error\n            }\n\n            if res == nil {\n                break\n            }\n        }\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$responses = $sdk->reports->executions->list(\n    reportId: '4d4c7123-b794-4fad-b1b9-5ab2606e6bbe',\n    limit: 20\n\n);\n\n\nforeach ($responses as $response) {\n    if ($response->statusCode === 200) {\n        // handle response\n    }\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListReportExecutionsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n\n        sdk.reports().executions().list()\n                .reportId(\"4d4c7123-b794-4fad-b1b9-5ab2606e6bbe\")\n                .limit(20L)\n                .callAsStream()\n                .forEach((ListReportExecutionsResponse item) -> {\n                   // handle page\n                });\n\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing Gr4vy.Models.Requests;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nListReportExecutionsResponse? res = await sdk.Reports.Executions.ListAsync(\n    reportId: \"4d4c7123-b794-4fad-b1b9-5ab2606e6bbe\",\n    limit: 20\n);\n\nwhile(res != null)\n{\n    // handle items\n\n    res = await res.Next!();\n}"
          }
        ]
      }
    },
    "/reports/{report_id}/executions/{report_execution_id}/url": {
      "post": {
        "tags": [
          "Reports - Executions"
        ],
        "summary": "Create URL for executed report",
        "description": "Creates a download URL for a specific execution of a report.",
        "operationId": "create_report_execution_url",
        "parameters": [
          {
            "name": "report_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the report to retrieve a URL for.",
              "examples": [
                "4d4c7123-b794-4fad-b1b9-5ab2606e6bbe"
              ],
              "title": "Report Id"
            },
            "description": "The ID of the report to retrieve a URL for."
          },
          {
            "name": "report_execution_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the execution of a report to retrieve a URL for.",
              "examples": [
                "003bc416-f32a-420c-8eb2-062a386e1fb0"
              ],
              "title": "Report Execution Id"
            },
            "description": "The ID of the execution of a report to retrieve a URL for."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReportExecutionUrlGenerate",
                "default": {
                  "expires_in": 5
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReportExecutionUrl"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "url",
        "x-speakeasy-group": "reports.executions",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.reports.executions.url(\"4d4c7123-b794-4fad-b1b9-5ab2606e6bbe\", \"003bc416-f32a-420c-8eb2-062a386e1fb0\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.reports.executions.url(report_id=\"4d4c7123-b794-4fad-b1b9-5ab2606e6bbe\", report_execution_id=\"003bc416-f32a-420c-8eb2-062a386e1fb0\", expires_in=5)\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.Reports.Executions.URL(ctx, \"4d4c7123-b794-4fad-b1b9-5ab2606e6bbe\", \"003bc416-f32a-420c-8eb2-062a386e1fb0\", nil)\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->reports->executions->url(\n    reportId: '4d4c7123-b794-4fad-b1b9-5ab2606e6bbe',\n    reportExecutionId: '003bc416-f32a-420c-8eb2-062a386e1fb0',\n    reportExecutionUrlGenerate: $reportExecutionUrlGenerate\n\n);\n\nif ($response->reportExecutionUrl !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreateReportExecutionUrlResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        CreateReportExecutionUrlResponse res = sdk.reports().executions().url()\n                .reportId(\"4d4c7123-b794-4fad-b1b9-5ab2606e6bbe\")\n                .reportExecutionId(\"003bc416-f32a-420c-8eb2-062a386e1fb0\")\n                .call();\n\n        if (res.reportExecutionUrl().isPresent()) {\n            System.out.println(res.reportExecutionUrl().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Reports.Executions.UrlAsync(\n    reportId: \"4d4c7123-b794-4fad-b1b9-5ab2606e6bbe\",\n    reportExecutionId: \"003bc416-f32a-420c-8eb2-062a386e1fb0\"\n);\n\n// handle response"
          }
        ]
      }
    },
    "/report-executions": {
      "get": {
        "tags": [
          "Reports - Executions"
        ],
        "summary": "List executed reports",
        "description": "List all executed reports that have been generated.",
        "operationId": "list_all_report_executions",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A pointer to the page of results to return.",
              "examples": [
                "ZXhhbXBsZTE"
              ],
              "title": "Cursor"
            },
            "description": "A pointer to the page of results to return."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "The maximum number of items that are at returned.",
              "examples": [
                20
              ],
              "default": 20,
              "title": "Limit"
            },
            "description": "The maximum number of items that are at returned."
          },
          {
            "name": "report_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the reports by searching their name for (partial) matches.",
              "examples": [
                "My report"
              ],
              "title": "Report Name"
            },
            "description": "Filters the reports by searching their name for (partial) matches."
          },
          {
            "name": "created_at_lte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only reports created before this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.",
              "examples": [
                "2022-01-01T12:00:00+08:00"
              ],
              "title": "Created At Lte"
            },
            "description": "Filters the results to only reports created before this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`."
          },
          {
            "name": "created_at_gte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only reports created after this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.",
              "examples": [
                "2022-01-01T12:00:00+08:00"
              ],
              "title": "Created At Gte"
            },
            "description": "Filters the results to only reports created after this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "dispatched",
                      "failed",
                      "pending",
                      "processing",
                      "succeeded"
                    ],
                    "title": "ReportExecutionStatus",
                    "x-speakeasy-unknown-values": "allow"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only the reports that have a `status` that matches with any of the provided status values.",
              "examples": [
                "succeeded"
              ],
              "title": "Status"
            },
            "description": "Filters the results to only the reports that have a `status` that matches with any of the provided status values."
          },
          {
            "name": "creator_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only the reports that were created by the users with these IDs.",
              "examples": [
                "30362ed1-05cf-4a4c-8b4a-e76323df5f1e"
              ],
              "title": "Creator Id"
            },
            "description": "Filters the results to only the reports that were created by the users with these IDs."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReportExecutions"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "report-executions",
        "x-speakeasy-pagination": {
          "type": "cursor",
          "inputs": [
            {
              "name": "cursor",
              "in": "parameters",
              "type": "cursor"
            }
          ],
          "outputs": {
            "nextCursor": "$.next_cursor"
          }
        },
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.reportExecutions.list();\n\n  for await (const page of result) {\n    console.log(page);\n  }\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.report_executions.list(limit=20)\n\n    while res is not None:\n        # Handle items\n\n        res = res.next()"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.ReportExecutions.List(ctx, operations.ListAllReportExecutionsRequest{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        for {\n            // handle items\n\n            res, err = res.Next()\n\n            if err != nil {\n                // handle error\n            }\n\n            if res == nil {\n                break\n            }\n        }\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$request = new Gr4vy\\ListAllReportExecutionsRequest();\n\n$responses = $sdk->reportExecutions->list(\n    request: $request\n);\n\n\nforeach ($responses as $response) {\n    if ($response->statusCode === 200) {\n        // handle response\n    }\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListAllReportExecutionsRequest;\nimport com.gr4vy.sdk.models.operations.ListAllReportExecutionsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        ListAllReportExecutionsRequest req = ListAllReportExecutionsRequest.builder()\n                .build();\n\n\n        sdk.reportExecutions().list()\n                .callAsStream()\n                .forEach((ListAllReportExecutionsResponse item) -> {\n                   // handle page\n                });\n\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing Gr4vy.Models.Requests;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nListAllReportExecutionsRequest req = new ListAllReportExecutionsRequest() {};\n\nListAllReportExecutionsResponse? res = await sdk.ReportExecutions.ListAsync(req);\n\nwhile(res != null)\n{\n    // handle items\n\n    res = await res.Next!();\n}"
          }
        ]
      }
    },
    "/report-executions/{report_execution_id}": {
      "get": {
        "tags": [
          "Reports - Executions"
        ],
        "summary": "Get executed report",
        "description": "Fetch a specific executed report.",
        "operationId": "get_report_execution",
        "parameters": [
          {
            "name": "report_execution_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the execution of a report to retrieve details for.",
              "examples": [
                "003bc416-f32a-420c-8eb2-062a386e1fb0"
              ],
              "title": "Report Execution Id"
            },
            "description": "The ID of the execution of a report to retrieve details for."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReportExecution"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "get",
        "x-speakeasy-group": "reports.executions",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.reports.executions.get(\"003bc416-f32a-420c-8eb2-062a386e1fb0\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.reports.executions.get(report_execution_id=\"003bc416-f32a-420c-8eb2-062a386e1fb0\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.Reports.Executions.Get(ctx, \"003bc416-f32a-420c-8eb2-062a386e1fb0\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->reports->executions->get(\n    reportExecutionId: '003bc416-f32a-420c-8eb2-062a386e1fb0'\n);\n\nif ($response->reportExecution !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.GetReportExecutionResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        GetReportExecutionResponse res = sdk.reports().executions().get()\n                .reportExecutionId(\"003bc416-f32a-420c-8eb2-062a386e1fb0\")\n                .call();\n\n        if (res.reportExecution().isPresent()) {\n            System.out.println(res.reportExecution().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Reports.Executions.GetAsync(reportExecutionId: \"003bc416-f32a-420c-8eb2-062a386e1fb0\");\n\n// handle response"
          }
        ]
      }
    },
    "/checkout/sessions": {
      "post": {
        "tags": [
          "Checkout sessions"
        ],
        "summary": "Create checkout session",
        "description": "Create a new checkout session.",
        "operationId": "create_checkout_session",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/CheckoutSessionCreate"
                  },
                  {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/GenericModel"
                    }
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Body",
                "$ref": "#/components/schemas/CheckoutSessionCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckoutSession"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "checkout-sessions",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.checkoutSessions.create();\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from datetime import date\nfrom gr4vy import Gr4vy, models\nfrom gr4vy.utils import parse_datetime\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.checkout_sessions.create(checkout_session_create=models.CheckoutSessionCreate(\n        cart_items=[\n            models.CartItem(\n                name=\"GoPro HD\",\n                quantity=2,\n                unit_amount=1299,\n                discount_amount=0,\n                tax_amount=0,\n                external_identifier=\"goprohd\",\n                sku=\"GPHD1078\",\n                product_url=\"https://example.com/catalog/go-pro-hd\",\n                image_url=\"https://example.com/images/go-pro-hd.jpg\",\n                categories=[\n                    \"camera\",\n                    \"travel\",\n                    \"gear\",\n                ],\n                product_type=\"physical\",\n                seller_country=\"GB\",\n            ),\n            models.CartItem(\n                name=\"GoPro HD\",\n                quantity=2,\n                unit_amount=1299,\n                discount_amount=0,\n                tax_amount=0,\n                external_identifier=\"goprohd\",\n                sku=\"GPHD1078\",\n                product_url=\"https://example.com/catalog/go-pro-hd\",\n                image_url=\"https://example.com/images/go-pro-hd.jpg\",\n                categories=[\n                    \"camera\",\n                    \"travel\",\n                    \"gear\",\n                ],\n                product_type=\"physical\",\n                seller_country=\"GB\",\n            ),\n            models.CartItem(\n                name=\"GoPro HD\",\n                quantity=2,\n                unit_amount=1299,\n                discount_amount=0,\n                tax_amount=0,\n                external_identifier=\"goprohd\",\n                sku=\"GPHD1078\",\n                product_url=\"https://example.com/catalog/go-pro-hd\",\n                image_url=\"https://example.com/images/go-pro-hd.jpg\",\n                categories=[\n                    \"camera\",\n                    \"travel\",\n                    \"gear\",\n                ],\n                product_type=\"physical\",\n                seller_country=\"GB\",\n            ),\n        ],\n        metadata={\n            \"cohort\": \"cohort-a\",\n            \"order_id\": \"order-12345\",\n        },\n        buyer=models.GuestBuyer(\n            display_name=\"John Doe\",\n            external_identifier=\"buyer-12345\",\n            billing_details=models.BillingDetails(\n                first_name=\"John\",\n                last_name=\"Doe\",\n                email_address=\"john@example.com\",\n                phone_number=\"+1234567890\",\n                address=models.Address(\n                    city=\"San Jose\",\n                    country=\"US\",\n                    postal_code=\"94560\",\n                    state=\"California\",\n                    state_code=\"US-CA\",\n                    house_number_or_name=\"10\",\n                    line1=\"Stafford Appartments\",\n                    line2=\"29th Street\",\n                    organization=\"Gr4vy\",\n                ),\n                tax_id=models.TaxID(\n                    value=\"12345678931\",\n                    kind=\"ar.cuit\",\n                ),\n            ),\n            shipping_details=models.ShippingDetailsCreate(\n                first_name=\"John\",\n                last_name=\"Doe\",\n                email_address=\"john@example.com\",\n                phone_number=\"+1234567890\",\n                address=models.Address(\n                    city=\"San Jose\",\n                    country=\"US\",\n                    postal_code=\"94560\",\n                    state=\"California\",\n                    state_code=\"US-CA\",\n                    house_number_or_name=\"10\",\n                    line1=\"Stafford Appartments\",\n                    line2=\"29th Street\",\n                    organization=\"Gr4vy\",\n                ),\n            ),\n        ),\n        airline=models.Airline(\n            booking_code=\"X36Q9C\",\n            is_cardholder_traveling=True,\n            issued_address=\"123 Broadway, New York\",\n            issued_at=parse_datetime(\"2013-07-16T19:23:00.000+00:00\"),\n            issuing_carrier_code=\"649\",\n            issuing_carrier_name=\"Air Transat A.T. Inc\",\n            issuing_iata_designator=\"TS\",\n            issuing_icao_code=\"TSC\",\n            legs=[\n                models.AirlineLeg(\n                    arrival_airport=\"LAX\",\n                    arrival_at=parse_datetime(\"2013-07-16T19:23:00.000+00:00\"),\n                    arrival_city=\"Los Angeles\",\n                    arrival_country=\"US\",\n                    carrier_code=\"649\",\n                    carrier_name=\"Air Transat A.T. Inc\",\n                    iata_designator=\"TS\",\n                    icao_code=\"TSC\",\n                    coupon_number=\"15885566\",\n                    departure_airport=\"LHR\",\n                    departure_at=parse_datetime(\"2013-07-16T19:23:00.000+00:00\"),\n                    departure_city=\"London\",\n                    departure_country=\"GB\",\n                    departure_tax_amount=1200,\n                    fare_amount=129900,\n                    fare_basis_code=\"FY\",\n                    fee_amount=1200,\n                    flight_class=\"E\",\n                    flight_number=\"101\",\n                    route_type=\"round_trip\",\n                    seat_class=\"F\",\n                    stop_over=False,\n                    tax_amount=1200,\n                ),\n                models.AirlineLeg(\n                    arrival_airport=\"LAX\",\n                    arrival_at=parse_datetime(\"2013-07-16T19:23:00.000+00:00\"),\n                    arrival_city=\"Los Angeles\",\n                    arrival_country=\"US\",\n                    carrier_code=\"649\",\n                    carrier_name=\"Air Transat A.T. Inc\",\n                    iata_designator=\"TS\",\n                    icao_code=\"TSC\",\n                    coupon_number=\"15885566\",\n                    departure_airport=\"LHR\",\n                    departure_at=parse_datetime(\"2013-07-16T19:23:00.000+00:00\"),\n                    departure_city=\"London\",\n                    departure_country=\"GB\",\n                    departure_tax_amount=1200,\n                    fare_amount=129900,\n                    fare_basis_code=\"FY\",\n                    fee_amount=1200,\n                    flight_class=\"E\",\n                    flight_number=\"101\",\n                    route_type=\"round_trip\",\n                    seat_class=\"F\",\n                    stop_over=False,\n                    tax_amount=1200,\n                ),\n                models.AirlineLeg(\n                    arrival_airport=\"LAX\",\n                    arrival_at=parse_datetime(\"2013-07-16T19:23:00.000+00:00\"),\n                    arrival_city=\"Los Angeles\",\n                    arrival_country=\"US\",\n                    carrier_code=\"649\",\n                    carrier_name=\"Air Transat A.T. Inc\",\n                    iata_designator=\"TS\",\n                    icao_code=\"TSC\",\n                    coupon_number=\"15885566\",\n                    departure_airport=\"LHR\",\n                    departure_at=parse_datetime(\"2013-07-16T19:23:00.000+00:00\"),\n                    departure_city=\"London\",\n                    departure_country=\"GB\",\n                    departure_tax_amount=1200,\n                    fare_amount=129900,\n                    fare_basis_code=\"FY\",\n                    fee_amount=1200,\n                    flight_class=\"E\",\n                    flight_number=\"101\",\n                    route_type=\"round_trip\",\n                    seat_class=\"F\",\n                    stop_over=False,\n                    tax_amount=1200,\n                ),\n            ],\n            passenger_name_record=\"JOHN L\",\n            passengers=[\n                models.AirlinePassenger(\n                    age_group=\"adult\",\n                    date_of_birth=date.fromisoformat(\"2013-07-16\"),\n                    email_address=\"john@example.com\",\n                    first_name=\"John\",\n                    frequent_flyer_number=\"15885566\",\n                    last_name=\"Luhn\",\n                    passport_number=\"11117700225\",\n                    phone_number=\"+1234567890\",\n                    ticket_number=\"BA1236699999\",\n                    title=\"Mr.\",\n                    country_code=\"US\",\n                ),\n                models.AirlinePassenger(\n                    age_group=\"adult\",\n                    date_of_birth=date.fromisoformat(\"2013-07-16\"),\n                    email_address=\"john@example.com\",\n                    first_name=\"John\",\n                    frequent_flyer_number=\"15885566\",\n                    last_name=\"Luhn\",\n                    passport_number=\"11117700225\",\n                    phone_number=\"+1234567890\",\n                    ticket_number=\"BA1236699999\",\n                    title=\"Mr.\",\n                    country_code=\"US\",\n                ),\n            ],\n            reservation_system=\"Amadeus\",\n            restricted_ticket=False,\n            ticket_delivery_method=\"electronic\",\n            ticket_number=\"123-1234-151555\",\n            travel_agency_code=\"12345\",\n            travel_agency_invoice_number=\"EG15555155\",\n            travel_agency_name=\"ACME Agency\",\n            travel_agency_plan_name=\"B733\",\n        ),\n    ))\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"github.com/gr4vy/gr4vy-go/types\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.CheckoutSessions.Create(ctx, &components.CheckoutSessionCreate{\n        CartItems: []components.CartItem{\n            components.CartItem{\n                Name: \"GoPro HD\",\n                Quantity: 2,\n                UnitAmount: 1299,\n                DiscountAmount: gr4vygo.Pointer[int64](0),\n                TaxAmount: gr4vygo.Pointer[int64](0),\n                ExternalIdentifier: gr4vygo.Pointer(\"goprohd\"),\n                Sku: gr4vygo.Pointer(\"GPHD1078\"),\n                ProductURL: gr4vygo.Pointer(\"https://example.com/catalog/go-pro-hd\"),\n                ImageURL: gr4vygo.Pointer(\"https://example.com/images/go-pro-hd.jpg\"),\n                Categories: []string{\n                    \"camera\",\n                    \"travel\",\n                    \"gear\",\n                },\n                ProductType: components.ProductTypePhysical.ToPointer(),\n                SellerCountry: gr4vygo.Pointer(\"US\"),\n            },\n            components.CartItem{\n                Name: \"GoPro HD\",\n                Quantity: 2,\n                UnitAmount: 1299,\n                DiscountAmount: gr4vygo.Pointer[int64](0),\n                TaxAmount: gr4vygo.Pointer[int64](0),\n                ExternalIdentifier: gr4vygo.Pointer(\"goprohd\"),\n                Sku: gr4vygo.Pointer(\"GPHD1078\"),\n                ProductURL: gr4vygo.Pointer(\"https://example.com/catalog/go-pro-hd\"),\n                ImageURL: gr4vygo.Pointer(\"https://example.com/images/go-pro-hd.jpg\"),\n                Categories: []string{\n                    \"camera\",\n                    \"travel\",\n                    \"gear\",\n                },\n                ProductType: components.ProductTypePhysical.ToPointer(),\n                SellerCountry: gr4vygo.Pointer(\"US\"),\n            },\n        },\n        Metadata: map[string]string{\n            \"cohort\": \"cohort-a\",\n            \"order_id\": \"order-12345\",\n        },\n        Buyer: nil,\n        Airline: &components.Airline{\n            BookingCode: gr4vygo.Pointer(\"X36Q9C\"),\n            IsCardholderTraveling: gr4vygo.Pointer(true),\n            IssuedAddress: gr4vygo.Pointer(\"123 Broadway, New York\"),\n            IssuedAt: types.MustNewTimeFromString(\"2013-07-16T19:23:00.000+00:00\"),\n            IssuingCarrierCode: gr4vygo.Pointer(\"649\"),\n            IssuingCarrierName: gr4vygo.Pointer(\"Air Transat A.T. Inc\"),\n            IssuingIataDesignator: gr4vygo.Pointer(\"TS\"),\n            IssuingIcaoCode: gr4vygo.Pointer(\"TSC\"),\n            Legs: []components.AirlineLeg{\n                components.AirlineLeg{\n                    ArrivalAirport: gr4vygo.Pointer(\"LAX\"),\n                    ArrivalAt: types.MustNewTimeFromString(\"2013-07-16T19:23:00.000+00:00\"),\n                    ArrivalCity: gr4vygo.Pointer(\"Los Angeles\"),\n                    ArrivalCountry: gr4vygo.Pointer(\"US\"),\n                    CarrierCode: gr4vygo.Pointer(\"649\"),\n                    CarrierName: gr4vygo.Pointer(\"Air Transat A.T. Inc\"),\n                    IataDesignator: gr4vygo.Pointer(\"TS\"),\n                    IcaoCode: gr4vygo.Pointer(\"TSC\"),\n                    CouponNumber: gr4vygo.Pointer(\"15885566\"),\n                    DepartureAirport: gr4vygo.Pointer(\"LHR\"),\n                    DepartureAt: types.MustNewTimeFromString(\"2013-07-16T19:23:00.000+00:00\"),\n                    DepartureCity: gr4vygo.Pointer(\"London\"),\n                    DepartureCountry: gr4vygo.Pointer(\"GB\"),\n                    DepartureTaxAmount: gr4vygo.Pointer[int64](1200),\n                    FareAmount: gr4vygo.Pointer[int64](129900),\n                    FareBasisCode: gr4vygo.Pointer(\"FY\"),\n                    FeeAmount: gr4vygo.Pointer[int64](1200),\n                    FlightClass: gr4vygo.Pointer(\"E\"),\n                    FlightNumber: gr4vygo.Pointer(\"101\"),\n                    RouteType: components.RouteTypeRoundTrip.ToPointer(),\n                    SeatClass: gr4vygo.Pointer(\"F\"),\n                    StopOver: gr4vygo.Pointer(false),\n                    TaxAmount: gr4vygo.Pointer[int64](1200),\n                },\n            },\n            PassengerNameRecord: gr4vygo.Pointer(\"JOHN L\"),\n            Passengers: []components.AirlinePassenger{\n                components.AirlinePassenger{\n                    AgeGroup: components.AgeGroupAdult.ToPointer(),\n                    DateOfBirth: types.MustNewDateFromString(\"2013-07-16\"),\n                    EmailAddress: gr4vygo.Pointer(\"john@example.com\"),\n                    FirstName: gr4vygo.Pointer(\"John\"),\n                    FrequentFlyerNumber: gr4vygo.Pointer(\"15885566\"),\n                    LastName: gr4vygo.Pointer(\"Luhn\"),\n                    PassportNumber: gr4vygo.Pointer(\"11117700225\"),\n                    PhoneNumber: gr4vygo.Pointer(\"+1234567890\"),\n                    TicketNumber: gr4vygo.Pointer(\"BA1236699999\"),\n                    Title: gr4vygo.Pointer(\"Mr.\"),\n                    CountryCode: gr4vygo.Pointer(\"US\"),\n                },\n                components.AirlinePassenger{\n                    AgeGroup: components.AgeGroupAdult.ToPointer(),\n                    DateOfBirth: types.MustNewDateFromString(\"2013-07-16\"),\n                    EmailAddress: gr4vygo.Pointer(\"john@example.com\"),\n                    FirstName: gr4vygo.Pointer(\"John\"),\n                    FrequentFlyerNumber: gr4vygo.Pointer(\"15885566\"),\n                    LastName: gr4vygo.Pointer(\"Luhn\"),\n                    PassportNumber: gr4vygo.Pointer(\"11117700225\"),\n                    PhoneNumber: gr4vygo.Pointer(\"+1234567890\"),\n                    TicketNumber: gr4vygo.Pointer(\"BA1236699999\"),\n                    Title: gr4vygo.Pointer(\"Mr.\"),\n                    CountryCode: gr4vygo.Pointer(\"US\"),\n                },\n            },\n            ReservationSystem: gr4vygo.Pointer(\"Amadeus\"),\n            RestrictedTicket: gr4vygo.Pointer(false),\n            TicketDeliveryMethod: components.TicketDeliveryMethodElectronic.ToPointer(),\n            TicketNumber: gr4vygo.Pointer(\"123-1234-151555\"),\n            TravelAgencyCode: gr4vygo.Pointer(\"12345\"),\n            TravelAgencyInvoiceNumber: gr4vygo.Pointer(\"EG15555155\"),\n            TravelAgencyName: gr4vygo.Pointer(\"ACME Agency\"),\n            TravelAgencyPlanName: gr4vygo.Pointer(\"B733\"),\n        },\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Brick\\DateTime\\LocalDate;\nuse Gr4vy;\nuse Gr4vy\\Utils;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$checkoutSessionCreate = new Gr4vy\\CheckoutSessionCreate(\n    cartItems: [\n        new Gr4vy\\CartItem(\n            name: 'GoPro HD',\n            quantity: 2,\n            unitAmount: 1299,\n            discountAmount: 0,\n            taxAmount: 0,\n            externalIdentifier: 'goprohd',\n            sku: 'GPHD1078',\n            productUrl: 'https://example.com/catalog/go-pro-hd',\n            imageUrl: 'https://example.com/images/go-pro-hd.jpg',\n            categories: [\n                'camera',\n                'travel',\n                'gear',\n            ],\n            productType: 'physical',\n            sellerCountry: 'US',\n        ),\n        new Gr4vy\\CartItem(\n            name: 'GoPro HD',\n            quantity: 2,\n            unitAmount: 1299,\n            discountAmount: 0,\n            taxAmount: 0,\n            externalIdentifier: 'goprohd',\n            sku: 'GPHD1078',\n            productUrl: 'https://example.com/catalog/go-pro-hd',\n            imageUrl: 'https://example.com/images/go-pro-hd.jpg',\n            categories: [\n                'camera',\n                'travel',\n                'gear',\n            ],\n            productType: 'physical',\n            sellerCountry: 'US',\n        ),\n    ],\n    metadata: [\n        'cohort' => 'cohort-a',\n        'order_id' => 'order-12345',\n    ],\n    buyer: new Gr4vy\\GuestBuyer(\n        displayName: 'John Doe',\n        externalIdentifier: 'buyer-12345',\n        billingDetails: new Gr4vy\\BillingDetails(\n            firstName: 'John',\n            lastName: 'Doe',\n            emailAddress: 'john@example.com',\n            phoneNumber: '+1234567890',\n            address: new Gr4vy\\Address(\n                city: 'San Jose',\n                country: 'US',\n                postalCode: '94560',\n                state: 'California',\n                stateCode: 'US-CA',\n                houseNumberOrName: '10',\n                line1: 'Stafford Appartments',\n                line2: '29th Street',\n                organization: 'Gr4vy',\n            ),\n            taxId: new Gr4vy\\TaxId(\n                value: '12345678931',\n                kind: 'my.frp',\n            ),\n        ),\n        shippingDetails: new Gr4vy\\ShippingDetailsCreate(\n            firstName: 'John',\n            lastName: 'Doe',\n            emailAddress: 'john@example.com',\n            phoneNumber: '+1234567890',\n            address: null,\n        ),\n    ),\n    airline: new Gr4vy\\Airline(\n        bookingCode: 'X36Q9C',\n        isCardholderTraveling: true,\n        issuedAddress: '123 Broadway, New York',\n        issuedAt: Utils\\Utils::parseDateTime('2013-07-16T19:23:00.000+00:00'),\n        issuingCarrierCode: '649',\n        issuingCarrierName: 'Air Transat A.T. Inc',\n        issuingIataDesignator: 'TS',\n        issuingIcaoCode: 'TSC',\n        legs: [\n            new Gr4vy\\AirlineLeg(\n                arrivalAirport: 'LAX',\n                arrivalAt: Utils\\Utils::parseDateTime('2013-07-16T19:23:00.000+00:00'),\n                arrivalCity: 'Los Angeles',\n                arrivalCountry: 'US',\n                carrierCode: '649',\n                carrierName: 'Air Transat A.T. Inc',\n                iataDesignator: 'TS',\n                icaoCode: 'TSC',\n                couponNumber: '15885566',\n                departureAirport: 'LHR',\n                departureAt: Utils\\Utils::parseDateTime('2013-07-16T19:23:00.000+00:00'),\n                departureCity: 'London',\n                departureCountry: 'GB',\n                departureTaxAmount: 1200,\n                fareAmount: 129900,\n                fareBasisCode: 'FY',\n                feeAmount: 1200,\n                flightClass: 'E',\n                flightNumber: '101',\n                routeType: 'round_trip',\n                seatClass: 'F',\n                stopOver: false,\n                taxAmount: 1200,\n            ),\n            new Gr4vy\\AirlineLeg(\n                arrivalAirport: 'LAX',\n                arrivalAt: Utils\\Utils::parseDateTime('2013-07-16T19:23:00.000+00:00'),\n                arrivalCity: 'Los Angeles',\n                arrivalCountry: 'US',\n                carrierCode: '649',\n                carrierName: 'Air Transat A.T. Inc',\n                iataDesignator: 'TS',\n                icaoCode: 'TSC',\n                couponNumber: '15885566',\n                departureAirport: 'LHR',\n                departureAt: Utils\\Utils::parseDateTime('2013-07-16T19:23:00.000+00:00'),\n                departureCity: 'London',\n                departureCountry: 'GB',\n                departureTaxAmount: 1200,\n                fareAmount: 129900,\n                fareBasisCode: 'FY',\n                feeAmount: 1200,\n                flightClass: 'E',\n                flightNumber: '101',\n                routeType: 'round_trip',\n                seatClass: 'F',\n                stopOver: false,\n                taxAmount: 1200,\n            ),\n            new Gr4vy\\AirlineLeg(\n                arrivalAirport: 'LAX',\n                arrivalAt: Utils\\Utils::parseDateTime('2013-07-16T19:23:00.000+00:00'),\n                arrivalCity: 'Los Angeles',\n                arrivalCountry: 'US',\n                carrierCode: '649',\n                carrierName: 'Air Transat A.T. Inc',\n                iataDesignator: 'TS',\n                icaoCode: 'TSC',\n                couponNumber: '15885566',\n                departureAirport: 'LHR',\n                departureAt: Utils\\Utils::parseDateTime('2013-07-16T19:23:00.000+00:00'),\n                departureCity: 'London',\n                departureCountry: 'GB',\n                departureTaxAmount: 1200,\n                fareAmount: 129900,\n                fareBasisCode: 'FY',\n                feeAmount: 1200,\n                flightClass: 'E',\n                flightNumber: '101',\n                routeType: 'round_trip',\n                seatClass: 'F',\n                stopOver: false,\n                taxAmount: 1200,\n            ),\n        ],\n        passengerNameRecord: 'JOHN L',\n        passengers: [\n            new Gr4vy\\AirlinePassenger(\n                ageGroup: 'adult',\n                dateOfBirth: LocalDate::parse('2013-07-16'),\n                emailAddress: 'john@example.com',\n                firstName: 'John',\n                frequentFlyerNumber: '15885566',\n                lastName: 'Luhn',\n                passportNumber: '11117700225',\n                phoneNumber: '+1234567890',\n                ticketNumber: 'BA1236699999',\n                title: 'Mr.',\n                countryCode: 'US',\n            ),\n            new Gr4vy\\AirlinePassenger(\n                ageGroup: 'adult',\n                dateOfBirth: LocalDate::parse('2013-07-16'),\n                emailAddress: 'john@example.com',\n                firstName: 'John',\n                frequentFlyerNumber: '15885566',\n                lastName: 'Luhn',\n                passportNumber: '11117700225',\n                phoneNumber: '+1234567890',\n                ticketNumber: 'BA1236699999',\n                title: 'Mr.',\n                countryCode: 'US',\n            ),\n        ],\n        reservationSystem: 'Amadeus',\n        restrictedTicket: false,\n        ticketDeliveryMethod: 'electronic',\n        ticketNumber: '123-1234-151555',\n        travelAgencyCode: '12345',\n        travelAgencyInvoiceNumber: 'EG15555155',\n        travelAgencyName: 'ACME Agency',\n        travelAgencyPlanName: 'B733',\n    ),\n);\n\n$response = $sdk->checkoutSessions->create(\n    checkoutSessionCreate: $checkoutSessionCreate\n);\n\nif ($response->checkoutSession !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.*;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreateCheckoutSessionResponse;\nimport java.lang.Exception;\nimport java.time.LocalDate;\nimport java.time.OffsetDateTime;\nimport java.util.List;\nimport java.util.Map;\nimport org.openapitools.jackson.nullable.JsonNullable;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        CreateCheckoutSessionResponse res = sdk.checkoutSessions().create()\n                .checkoutSessionCreate(CheckoutSessionCreate.builder()\n                    .cartItems(List.of(\n                        CartItem.builder()\n                            .name(\"GoPro HD\")\n                            .quantity(2L)\n                            .unitAmount(1299L)\n                            .discountAmount(0L)\n                            .taxAmount(0L)\n                            .externalIdentifier(\"goprohd\")\n                            .sku(\"GPHD1078\")\n                            .productUrl(\"https://example.com/catalog/go-pro-hd\")\n                            .imageUrl(\"https://example.com/images/go-pro-hd.jpg\")\n                            .categories(List.of(\n                                \"camera\",\n                                \"travel\",\n                                \"gear\"))\n                            .productType(ProductType.PHYSICAL)\n                            .sellerCountry(\"US\")\n                            .build(),\n                        CartItem.builder()\n                            .name(\"GoPro HD\")\n                            .quantity(2L)\n                            .unitAmount(1299L)\n                            .discountAmount(0L)\n                            .taxAmount(0L)\n                            .externalIdentifier(\"goprohd\")\n                            .sku(\"GPHD1078\")\n                            .productUrl(\"https://example.com/catalog/go-pro-hd\")\n                            .imageUrl(\"https://example.com/images/go-pro-hd.jpg\")\n                            .categories(List.of(\n                                \"camera\",\n                                \"travel\",\n                                \"gear\"))\n                            .productType(ProductType.PHYSICAL)\n                            .sellerCountry(\"US\")\n                            .build()))\n                    .metadata(Map.ofEntries(\n                        Map.entry(\"cohort\", \"cohort-a\"),\n                        Map.entry(\"order_id\", \"order-12345\")))\n                    .buyer(JsonNullable.of(null))\n                    .airline(Airline.builder()\n                        .bookingCode(\"X36Q9C\")\n                        .isCardholderTraveling(true)\n                        .issuedAddress(\"123 Broadway, New York\")\n                        .issuedAt(OffsetDateTime.parse(\"2013-07-16T19:23:00.000+00:00\"))\n                        .issuingCarrierCode(\"649\")\n                        .issuingCarrierName(\"Air Transat A.T. Inc\")\n                        .issuingIataDesignator(\"TS\")\n                        .issuingIcaoCode(\"TSC\")\n                        .legs(List.of(\n                            AirlineLeg.builder()\n                                .arrivalAirport(\"LAX\")\n                                .arrivalAt(OffsetDateTime.parse(\"2013-07-16T19:23:00.000+00:00\"))\n                                .arrivalCity(\"Los Angeles\")\n                                .arrivalCountry(\"US\")\n                                .carrierCode(\"649\")\n                                .carrierName(\"Air Transat A.T. Inc\")\n                                .iataDesignator(\"TS\")\n                                .icaoCode(\"TSC\")\n                                .couponNumber(\"15885566\")\n                                .departureAirport(\"LHR\")\n                                .departureAt(OffsetDateTime.parse(\"2013-07-16T19:23:00.000+00:00\"))\n                                .departureCity(\"London\")\n                                .departureCountry(\"GB\")\n                                .departureTaxAmount(1200L)\n                                .fareAmount(129900L)\n                                .fareBasisCode(\"FY\")\n                                .feeAmount(1200L)\n                                .flightClass(\"E\")\n                                .flightNumber(\"101\")\n                                .routeType(RouteType.ROUND_TRIP)\n                                .seatClass(\"F\")\n                                .stopOver(false)\n                                .taxAmount(1200L)\n                                .build()))\n                        .passengerNameRecord(\"JOHN L\")\n                        .passengers(List.of(\n                            AirlinePassenger.builder()\n                                .ageGroup(AgeGroup.ADULT)\n                                .dateOfBirth(LocalDate.parse(\"2013-07-16\"))\n                                .emailAddress(\"john@example.com\")\n                                .firstName(\"John\")\n                                .frequentFlyerNumber(\"15885566\")\n                                .lastName(\"Luhn\")\n                                .passportNumber(\"11117700225\")\n                                .phoneNumber(\"+1234567890\")\n                                .ticketNumber(\"BA1236699999\")\n                                .title(\"Mr.\")\n                                .countryCode(\"US\")\n                                .build(),\n                            AirlinePassenger.builder()\n                                .ageGroup(AgeGroup.ADULT)\n                                .dateOfBirth(LocalDate.parse(\"2013-07-16\"))\n                                .emailAddress(\"john@example.com\")\n                                .firstName(\"John\")\n                                .frequentFlyerNumber(\"15885566\")\n                                .lastName(\"Luhn\")\n                                .passportNumber(\"11117700225\")\n                                .phoneNumber(\"+1234567890\")\n                                .ticketNumber(\"BA1236699999\")\n                                .title(\"Mr.\")\n                                .countryCode(\"US\")\n                                .build()))\n                        .reservationSystem(\"Amadeus\")\n                        .restrictedTicket(false)\n                        .ticketDeliveryMethod(TicketDeliveryMethod.ELECTRONIC)\n                        .ticketNumber(\"123-1234-151555\")\n                        .travelAgencyCode(\"12345\")\n                        .travelAgencyInvoiceNumber(\"EG15555155\")\n                        .travelAgencyName(\"ACME Agency\")\n                        .travelAgencyPlanName(\"B733\")\n                        .build())\n                    .build())\n                .call();\n\n        if (res.checkoutSession().isPresent()) {\n            System.out.println(res.checkoutSession().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing NodaTime;\nusing System;\nusing System.Collections.Generic;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.CheckoutSessions.CreateAsync(checkoutSessionCreate: new CheckoutSessionCreate() {\n    CartItems = new List<CartItem>() {\n        new CartItem() {\n            Name = \"GoPro HD\",\n            Quantity = 2,\n            UnitAmount = 1299,\n            DiscountAmount = 0,\n            TaxAmount = 0,\n            ExternalIdentifier = \"goprohd\",\n            Sku = \"GPHD1078\",\n            ProductUrl = \"https://example.com/catalog/go-pro-hd\",\n            ImageUrl = \"https://example.com/images/go-pro-hd.jpg\",\n            Categories = new List<string>() {\n                \"camera\",\n                \"travel\",\n                \"gear\",\n            },\n            ProductType = \"physical\",\n            SellerCountry = \"GB\",\n        },\n        new CartItem() {\n            Name = \"GoPro HD\",\n            Quantity = 2,\n            UnitAmount = 1299,\n            DiscountAmount = 0,\n            TaxAmount = 0,\n            ExternalIdentifier = \"goprohd\",\n            Sku = \"GPHD1078\",\n            ProductUrl = \"https://example.com/catalog/go-pro-hd\",\n            ImageUrl = \"https://example.com/images/go-pro-hd.jpg\",\n            Categories = new List<string>() {\n                \"camera\",\n                \"travel\",\n                \"gear\",\n            },\n            ProductType = \"physical\",\n            SellerCountry = \"GB\",\n        },\n        new CartItem() {\n            Name = \"GoPro HD\",\n            Quantity = 2,\n            UnitAmount = 1299,\n            DiscountAmount = 0,\n            TaxAmount = 0,\n            ExternalIdentifier = \"goprohd\",\n            Sku = \"GPHD1078\",\n            ProductUrl = \"https://example.com/catalog/go-pro-hd\",\n            ImageUrl = \"https://example.com/images/go-pro-hd.jpg\",\n            Categories = new List<string>() {\n                \"camera\",\n                \"travel\",\n                \"gear\",\n            },\n            ProductType = \"physical\",\n            SellerCountry = \"US\",\n        },\n    },\n    Metadata = new Dictionary<string, string>() {\n        { \"cohort\", \"cohort-a\" },\n        { \"order_id\", \"order-12345\" },\n    },\n    Buyer = new GuestBuyer() {\n        DisplayName = \"John Doe\",\n        ExternalIdentifier = \"buyer-12345\",\n        BillingDetails = new BillingDetails() {\n            FirstName = \"John\",\n            LastName = \"Doe\",\n            EmailAddress = \"john@example.com\",\n            PhoneNumber = \"+1234567890\",\n            Address = new Address() {\n                City = \"San Jose\",\n                Country = \"US\",\n                PostalCode = \"94560\",\n                State = \"California\",\n                StateCode = \"US-CA\",\n                HouseNumberOrName = \"10\",\n                Line1 = \"Stafford Appartments\",\n                Line2 = \"29th Street\",\n                Organization = \"Gr4vy\",\n            },\n            TaxId = new TaxId() {\n                Value = \"12345678931\",\n                Kind = \"ar.cuit\",\n            },\n        },\n        ShippingDetails = new ShippingDetailsCreate() {\n            FirstName = \"John\",\n            LastName = \"Doe\",\n            EmailAddress = \"john@example.com\",\n            PhoneNumber = \"+1234567890\",\n            Address = new Address() {\n                City = \"San Jose\",\n                Country = \"US\",\n                PostalCode = \"94560\",\n                State = \"California\",\n                StateCode = \"US-CA\",\n                HouseNumberOrName = \"10\",\n                Line1 = \"Stafford Appartments\",\n                Line2 = \"29th Street\",\n                Organization = \"Gr4vy\",\n            },\n        },\n    },\n    Airline = new Airline() {\n        BookingCode = \"X36Q9C\",\n        IsCardholderTraveling = true,\n        IssuedAddress = \"123 Broadway, New York\",\n        IssuedAt = System.DateTime.Parse(\"2013-07-16T19:23:00.000+00:00\").ToUniversalTime(),\n        IssuingCarrierCode = \"649\",\n        IssuingCarrierName = \"Air Transat A.T. Inc\",\n        IssuingIataDesignator = \"TS\",\n        IssuingIcaoCode = \"TSC\",\n        Legs = new List<AirlineLeg>() {\n            new AirlineLeg() {\n                ArrivalAirport = \"LAX\",\n                ArrivalAt = System.DateTime.Parse(\"2013-07-16T19:23:00.000+00:00\").ToUniversalTime(),\n                ArrivalCity = \"Los Angeles\",\n                ArrivalCountry = \"US\",\n                CarrierCode = \"649\",\n                CarrierName = \"Air Transat A.T. Inc\",\n                IataDesignator = \"TS\",\n                IcaoCode = \"TSC\",\n                CouponNumber = \"15885566\",\n                DepartureAirport = \"LHR\",\n                DepartureAt = System.DateTime.Parse(\"2013-07-16T19:23:00.000+00:00\").ToUniversalTime(),\n                DepartureCity = \"London\",\n                DepartureCountry = \"GB\",\n                DepartureTaxAmount = 1200,\n                FareAmount = 129900,\n                FareBasisCode = \"FY\",\n                FeeAmount = 1200,\n                FlightClass = \"E\",\n                FlightNumber = \"101\",\n                RouteType = \"round_trip\",\n                SeatClass = \"F\",\n                StopOver = false,\n                TaxAmount = 1200,\n            },\n            new AirlineLeg() {\n                ArrivalAirport = \"LAX\",\n                ArrivalAt = System.DateTime.Parse(\"2013-07-16T19:23:00.000+00:00\").ToUniversalTime(),\n                ArrivalCity = \"Los Angeles\",\n                ArrivalCountry = \"US\",\n                CarrierCode = \"649\",\n                CarrierName = \"Air Transat A.T. Inc\",\n                IataDesignator = \"TS\",\n                IcaoCode = \"TSC\",\n                CouponNumber = \"15885566\",\n                DepartureAirport = \"LHR\",\n                DepartureAt = System.DateTime.Parse(\"2013-07-16T19:23:00.000+00:00\").ToUniversalTime(),\n                DepartureCity = \"London\",\n                DepartureCountry = \"GB\",\n                DepartureTaxAmount = 1200,\n                FareAmount = 129900,\n                FareBasisCode = \"FY\",\n                FeeAmount = 1200,\n                FlightClass = \"E\",\n                FlightNumber = \"101\",\n                RouteType = \"round_trip\",\n                SeatClass = \"F\",\n                StopOver = false,\n                TaxAmount = 1200,\n            },\n            new AirlineLeg() {\n                ArrivalAirport = \"LAX\",\n                ArrivalAt = System.DateTime.Parse(\"2013-07-16T19:23:00.000+00:00\").ToUniversalTime(),\n                ArrivalCity = \"Los Angeles\",\n                ArrivalCountry = \"US\",\n                CarrierCode = \"649\",\n                CarrierName = \"Air Transat A.T. Inc\",\n                IataDesignator = \"TS\",\n                IcaoCode = \"TSC\",\n                CouponNumber = \"15885566\",\n                DepartureAirport = \"LHR\",\n                DepartureAt = System.DateTime.Parse(\"2013-07-16T19:23:00.000+00:00\").ToUniversalTime(),\n                DepartureCity = \"London\",\n                DepartureCountry = \"GB\",\n                DepartureTaxAmount = 1200,\n                FareAmount = 129900,\n                FareBasisCode = \"FY\",\n                FeeAmount = 1200,\n                FlightClass = \"E\",\n                FlightNumber = \"101\",\n                RouteType = \"round_trip\",\n                SeatClass = \"F\",\n                StopOver = false,\n                TaxAmount = 1200,\n            },\n        },\n        PassengerNameRecord = \"JOHN L\",\n        Passengers = new List<AirlinePassenger>() {\n            new AirlinePassenger() {\n                AgeGroup = \"adult\",\n                DateOfBirth = LocalDate.FromDateTime(System.DateTime.Parse(\"2013-07-16\")),\n                EmailAddress = \"john@example.com\",\n                FirstName = \"John\",\n                FrequentFlyerNumber = \"15885566\",\n                LastName = \"Luhn\",\n                PassportNumber = \"11117700225\",\n                PhoneNumber = \"+1234567890\",\n                TicketNumber = \"BA1236699999\",\n                Title = \"Mr.\",\n                CountryCode = \"US\",\n            },\n            new AirlinePassenger() {\n                AgeGroup = \"adult\",\n                DateOfBirth = LocalDate.FromDateTime(System.DateTime.Parse(\"2013-07-16\")),\n                EmailAddress = \"john@example.com\",\n                FirstName = \"John\",\n                FrequentFlyerNumber = \"15885566\",\n                LastName = \"Luhn\",\n                PassportNumber = \"11117700225\",\n                PhoneNumber = \"+1234567890\",\n                TicketNumber = \"BA1236699999\",\n                Title = \"Mr.\",\n                CountryCode = \"US\",\n            },\n        },\n        ReservationSystem = \"Amadeus\",\n        RestrictedTicket = false,\n        TicketDeliveryMethod = \"electronic\",\n        TicketNumber = \"123-1234-151555\",\n        TravelAgencyCode = \"12345\",\n        TravelAgencyInvoiceNumber = \"EG15555155\",\n        TravelAgencyName = \"ACME Agency\",\n        TravelAgencyPlanName = \"B733\",\n    },\n});\n\n// handle response"
          }
        ]
      }
    },
    "/checkout/sessions/{session_id}": {
      "put": {
        "tags": [
          "Checkout sessions"
        ],
        "summary": "Update checkout session",
        "description": "Update the information stored on a checkout session.",
        "operationId": "update_checkout_session",
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the checkout session.",
              "examples": [
                "4137b1cf-39ac-42a8-bad6-1c680d5dab6b"
              ],
              "title": "Session Id"
            },
            "description": "The ID of the checkout session."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckoutSessionCreate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckoutSession"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "update",
        "x-speakeasy-group": "checkout-sessions",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.checkoutSessions.update({}, \"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.checkout_sessions.update(session_id=\"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\", expires_in=3600)\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.CheckoutSessions.Update(ctx, \"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\", components.CheckoutSessionCreate{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$checkoutSessionCreate = new Gr4vy\\CheckoutSessionCreate();\n\n$response = $sdk->checkoutSessions->update(\n    sessionId: '4137b1cf-39ac-42a8-bad6-1c680d5dab6b',\n    checkoutSessionCreate: $checkoutSessionCreate\n\n);\n\nif ($response->checkoutSession !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.CheckoutSessionCreate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.UpdateCheckoutSessionResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        UpdateCheckoutSessionResponse res = sdk.checkoutSessions().update()\n                .sessionId(\"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\")\n                .checkoutSessionCreate(CheckoutSessionCreate.builder()\n                    .build())\n                .call();\n\n        if (res.checkoutSession().isPresent()) {\n            System.out.println(res.checkoutSession().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.CheckoutSessions.UpdateAsync(\n    sessionId: \"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\",\n    checkoutSessionCreate: new CheckoutSessionCreate() {}\n);\n\n// handle response"
          }
        ]
      },
      "get": {
        "tags": [
          "Checkout sessions"
        ],
        "summary": "Get checkout session",
        "description": "Retrieve the information stored on a checkout session.",
        "operationId": "get_checkout_session",
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the checkout session.",
              "examples": [
                "4137b1cf-39ac-42a8-bad6-1c680d5dab6b"
              ],
              "title": "Session Id"
            },
            "description": "The ID of the checkout session."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckoutSession"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Empty response when referenced payment method does not exist."
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "get",
        "x-speakeasy-group": "checkout-sessions",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.checkoutSessions.get(\"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.checkout_sessions.get(session_id=\"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.CheckoutSessions.Get(ctx, \"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->checkoutSessions->get(\n    sessionId: '4137b1cf-39ac-42a8-bad6-1c680d5dab6b'\n);\n\nif ($response->checkoutSession !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.GetCheckoutSessionResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        GetCheckoutSessionResponse res = sdk.checkoutSessions().get()\n                .sessionId(\"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\")\n                .call();\n\n        if (res.checkoutSession().isPresent()) {\n            System.out.println(res.checkoutSession().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.CheckoutSessions.GetAsync(sessionId: \"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\");\n\n// handle response"
          }
        ]
      },
      "delete": {
        "tags": [
          "Checkout sessions"
        ],
        "summary": "Delete checkout session",
        "description": "Delete a checkout session and all of its (PCI) data.",
        "operationId": "delete_checkout_session",
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the checkout session.",
              "examples": [
                "4137b1cf-39ac-42a8-bad6-1c680d5dab6b"
              ],
              "title": "Session Id"
            },
            "description": "The ID of the checkout session."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "delete",
        "x-speakeasy-group": "checkout-sessions",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  await gr4vy.checkoutSessions.delete(\"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\");\n\n\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    g_client.checkout_sessions.delete(session_id=\"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\")\n\n    # Use the SDK ..."
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    err := s.CheckoutSessions.Delete(ctx, \"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\")\n    if err != nil {\n        log.Fatal(err)\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->checkoutSessions->delete(\n    sessionId: '4137b1cf-39ac-42a8-bad6-1c680d5dab6b'\n);\n\nif ($response->statusCode === 200) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.DeleteCheckoutSessionResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        DeleteCheckoutSessionResponse res = sdk.checkoutSessions().delete()\n                .sessionId(\"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\")\n                .call();\n\n        // handle response\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nawait sdk.CheckoutSessions.DeleteAsync(sessionId: \"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\");\n\n// handle response"
          }
        ]
      }
    },
    "/checkout/sessions/{session_id}/fields": {
      "put": {
        "tags": [
          "Checkout sessions"
        ],
        "summary": "Update checkout session fields",
        "description": "Update a checkout session with card data.",
        "operationId": "update_checkout_session_fields",
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Session Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckoutSessionSecureFields"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true
      }
    },
    "/roles": {
      "get": {
        "tags": [
          "Roles"
        ],
        "summary": "List all roles",
        "description": "List all roles available in the instance.",
        "operationId": "list_roles",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A pointer to the page of results to return.",
              "examples": [
                "ZXhhbXBsZTE"
              ],
              "title": "Cursor"
            },
            "description": "A pointer to the page of results to return."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "The maximum number of items that are returned.",
              "examples": [
                20
              ],
              "default": 20,
              "title": "Limit"
            },
            "description": "The maximum number of items that are returned."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Collection_Role_"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "roles",
        "x-speakeasy-pagination": {
          "type": "cursor",
          "inputs": [
            {
              "name": "cursor",
              "in": "parameters",
              "type": "cursor"
            }
          ],
          "outputs": {
            "nextCursor": "$.next_cursor"
          }
        },
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.roles.list();\n\n  for await (const page of result) {\n    console.log(page);\n  }\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n):\n\n    res = g_client.roles.list(limit=20)\n\n    while res is not None:\n        # Handle items\n\n        res = res.next()"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.Roles.List(ctx, nil, gr4vygo.Pointer[int64](20))\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        for {\n            // handle items\n\n            res, err = res.Next()\n\n            if err != nil {\n                // handle error\n            }\n\n            if res == nil {\n                break\n            }\n        }\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$responses = $sdk->roles->list(\n    limit: 20\n);\n\n\nforeach ($responses as $response) {\n    if ($response->statusCode === 200) {\n        // handle response\n    }\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListRolesResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n\n        sdk.roles().list()\n                .limit(20L)\n                .callAsStream()\n                .forEach((ListRolesResponse item) -> {\n                   // handle page\n                });\n\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing Gr4vy.Models.Requests;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nListRolesResponse? res = await sdk.Roles.ListAsync(limit: 20);\n\nwhile(res != null)\n{\n    // handle items\n\n    res = await res.Next!();\n}"
          }
        ]
      }
    },
    "/merchant-accounts": {
      "get": {
        "tags": [
          "Merchant accounts"
        ],
        "summary": "List all merchant accounts",
        "description": "List all merchant accounts in an instance.",
        "operationId": "list_merchant_accounts",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A pointer to the page of results to return.",
              "examples": [
                "ZXhhbXBsZTE"
              ],
              "title": "Cursor"
            },
            "description": "A pointer to the page of results to return."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "The maximum number of items that are at returned.",
              "examples": [
                20
              ],
              "default": 20,
              "title": "Limit"
            },
            "description": "The maximum number of items that are at returned."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "The search term to filter merchant accounts by.",
              "examples": [
                "merchant-12345"
              ],
              "title": "Search"
            },
            "description": "The search term to filter merchant accounts by."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantAccounts"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "merchant-accounts",
        "x-speakeasy-pagination": {
          "type": "cursor",
          "inputs": [
            {
              "name": "cursor",
              "in": "parameters",
              "type": "cursor"
            }
          ],
          "outputs": {
            "nextCursor": "$.next_cursor"
          }
        },
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.merchantAccounts.list();\n\n  for await (const page of result) {\n    console.log(page);\n  }\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n):\n\n    res = g_client.merchant_accounts.list(cursor=\"ZXhhbXBsZTE\", limit=20, search=\"merchant-12345\")\n\n    while res is not None:\n        # Handle items\n\n        res = res.next()"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.MerchantAccounts.List(ctx, gr4vygo.Pointer(\"ZXhhbXBsZTE\"), gr4vygo.Pointer[int64](20), gr4vygo.Pointer(\"merchant-12345\"))\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        for {\n            // handle items\n\n            res, err = res.Next()\n\n            if err != nil {\n                // handle error\n            }\n\n            if res == nil {\n                break\n            }\n        }\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$responses = $sdk->merchantAccounts->list(\n    cursor: 'ZXhhbXBsZTE',\n    limit: 20,\n    search: 'merchant-12345'\n\n);\n\n\nforeach ($responses as $response) {\n    if ($response->statusCode === 200) {\n        // handle response\n    }\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListMerchantAccountsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n\n        sdk.merchantAccounts().list()\n                .cursor(\"ZXhhbXBsZTE\")\n                .limit(20L)\n                .search(\"merchant-12345\")\n                .callAsStream()\n                .forEach((ListMerchantAccountsResponse item) -> {\n                   // handle page\n                });\n\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing Gr4vy.Models.Requests;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nListMerchantAccountsResponse? res = await sdk.MerchantAccounts.ListAsync(\n    cursor: \"ZXhhbXBsZTE\",\n    limit: 20,\n    search: \"merchant-12345\"\n);\n\nwhile(res != null)\n{\n    // handle items\n\n    res = await res.Next!();\n}"
          }
        ]
      },
      "post": {
        "tags": [
          "Merchant accounts"
        ],
        "summary": "Create a merchant account",
        "description": "Create a new merchant account in an instance.",
        "operationId": "create_merchant_account",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MerchantAccountCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantAccount"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "merchant-accounts",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.merchantAccounts.create({\n    accountUpdaterEnabled: true,\n    asyncNetworkTokensEnabled: true,\n    id: \"merchant-12345\",\n    displayName: \"Example\",\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n):\n\n    res = g_client.merchant_accounts.create(id=\"merchant-12345\", display_name=\"Example\", account_updater_enabled=True, async_network_tokens_enabled=True)\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.MerchantAccounts.Create(ctx, components.MerchantAccountCreate{\n        AccountUpdaterEnabled: gr4vygo.Pointer(true),\n        AsyncNetworkTokensEnabled: gr4vygo.Pointer(true),\n        ID: \"merchant-12345\",\n        DisplayName: \"Example\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$request = new Gr4vy\\MerchantAccountCreate(\n    accountUpdaterEnabled: true,\n    asyncNetworkTokensEnabled: true,\n    id: 'merchant-12345',\n    displayName: 'Example',\n);\n\n$response = $sdk->merchantAccounts->create(\n    request: $request\n);\n\nif ($response->merchantAccount !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.MerchantAccountCreate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreateMerchantAccountResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        MerchantAccountCreate req = MerchantAccountCreate.builder()\n                .id(\"merchant-12345\")\n                .displayName(\"Example\")\n                .accountUpdaterEnabled(true)\n                .asyncNetworkTokensEnabled(true)\n                .build();\n\n        CreateMerchantAccountResponse res = sdk.merchantAccounts().create()\n                .request(req)\n                .call();\n\n        if (res.merchantAccount().isPresent()) {\n            System.out.println(res.merchantAccount().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nMerchantAccountCreate req = new MerchantAccountCreate() {\n    AccountUpdaterEnabled = true,\n    AsyncNetworkTokensEnabled = true,\n    Id = \"merchant-12345\",\n    DisplayName = \"Example\",\n};\n\nvar res = await sdk.MerchantAccounts.CreateAsync(req);\n\n// handle response"
          }
        ]
      }
    },
    "/merchant-accounts/{merchant_account_id}": {
      "get": {
        "tags": [
          "Merchant accounts"
        ],
        "summary": "Get a merchant account",
        "description": "Get info about a merchant account in an instance.",
        "operationId": "get_merchant_account",
        "parameters": [
          {
            "name": "merchant_account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account.",
              "examples": [
                "merchant-12345"
              ],
              "title": "Merchant Account Id"
            },
            "description": "The ID of the merchant account."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantAccount"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "get",
        "x-speakeasy-group": "merchant-accounts",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.merchantAccounts.get(\"merchant-12345\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n):\n\n    res = g_client.merchant_accounts.get(merchant_account_id=\"merchant-12345\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.MerchantAccounts.Get(ctx, \"merchant-12345\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->merchantAccounts->get(\n    merchantAccountId: 'merchant-12345'\n);\n\nif ($response->merchantAccount !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.GetMerchantAccountResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        GetMerchantAccountResponse res = sdk.merchantAccounts().get()\n                .merchantAccountId(\"merchant-12345\")\n                .call();\n\n        if (res.merchantAccount().isPresent()) {\n            System.out.println(res.merchantAccount().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.MerchantAccounts.GetAsync(merchantAccountId: \"merchant-12345\");\n\n// handle response"
          }
        ]
      },
      "put": {
        "tags": [
          "Merchant accounts"
        ],
        "summary": "Update a merchant account",
        "description": "Update info for a merchant account in an instance.",
        "operationId": "update_merchant_account",
        "parameters": [
          {
            "name": "merchant_account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account.",
              "examples": [
                "merchant-12345"
              ],
              "title": "Merchant Account Id"
            },
            "description": "The ID of the merchant account."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MerchantAccountUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantAccount"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "update",
        "x-speakeasy-group": "merchant-accounts",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.merchantAccounts.update({\n    accountUpdaterEnabled: true,\n    asyncNetworkTokensEnabled: true,\n  }, \"merchant-12345\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n):\n\n    res = g_client.merchant_accounts.update(merchant_account_id=\"merchant-12345\", account_updater_enabled=True, async_network_tokens_enabled=True)\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.MerchantAccounts.Update(ctx, \"merchant-12345\", components.MerchantAccountUpdate{\n        AccountUpdaterEnabled: gr4vygo.Pointer(true),\n        AsyncNetworkTokensEnabled: gr4vygo.Pointer(true),\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$merchantAccountUpdate = new Gr4vy\\MerchantAccountUpdate(\n    accountUpdaterEnabled: true,\n    asyncNetworkTokensEnabled: true,\n);\n\n$response = $sdk->merchantAccounts->update(\n    merchantAccountId: 'merchant-12345',\n    merchantAccountUpdate: $merchantAccountUpdate\n\n);\n\nif ($response->merchantAccount !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.MerchantAccountUpdate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.UpdateMerchantAccountResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        UpdateMerchantAccountResponse res = sdk.merchantAccounts().update()\n                .merchantAccountId(\"merchant-12345\")\n                .merchantAccountUpdate(MerchantAccountUpdate.builder()\n                    .accountUpdaterEnabled(true)\n                    .asyncNetworkTokensEnabled(true)\n                    .build())\n                .call();\n\n        if (res.merchantAccount().isPresent()) {\n            System.out.println(res.merchantAccount().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.MerchantAccounts.UpdateAsync(\n    merchantAccountId: \"merchant-12345\",\n    merchantAccountUpdate: new MerchantAccountUpdate() {\n        AccountUpdaterEnabled = true,\n        AsyncNetworkTokensEnabled = true,\n    }\n);\n\n// handle response"
          }
        ]
      }
    },
    "/merchant-accounts/{merchant_account_id}/three-ds-configurations": {
      "post": {
        "tags": [
          "Merchant accounts - 3DS configuration"
        ],
        "summary": "Create 3DS configuration for merchant",
        "description": "Create a new 3DS configuration for a merchant account.",
        "operationId": "create_three_ds_configuration",
        "parameters": [
          {
            "name": "merchant_account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account.",
              "examples": [
                "merchant-12345"
              ],
              "title": "Merchant Account Id"
            },
            "description": "The ID of the merchant account."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MerchantAccountThreeDSConfigurationCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantAccountThreeDSConfiguration"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "merchant-accounts.three-ds-configuration",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.merchantAccounts.threeDsConfiguration.create({\n    merchantAcquirerBin: \"516327\",\n    merchantAcquirerId: \"123456789012345\",\n    merchantName: \"Acme Inc.\",\n    merchantCountryCode: \"840\",\n    merchantCategoryCode: \"1234\",\n    merchantUrl: \"https://example.com\",\n    scheme: \"visa\",\n    metadata: {\n      \"key\": \"<value>\",\n      \"key1\": \"<value>\",\n      \"key2\": \"<value>\",\n    },\n  }, \"merchant-12345\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n):\n\n    res = g_client.merchant_accounts.three_ds_configuration.create(merchant_account_id=\"merchant-12345\", merchant_acquirer_bin=\"516327\", merchant_acquirer_id=\"123456789012345\", merchant_name=\"Acme Inc.\", merchant_country_code=\"840\", merchant_category_code=\"1234\", merchant_url=\"https://example.com\", scheme=\"visa\", metadata={\n        \"key\": \"<value>\",\n        \"key1\": \"<value>\",\n        \"key2\": \"<value>\",\n    })\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.MerchantAccounts.ThreeDsConfiguration.Create(ctx, \"merchant-12345\", components.MerchantAccountThreeDSConfigurationCreate{\n        MerchantAcquirerBin: \"516327\",\n        MerchantAcquirerID: \"123456789012345\",\n        MerchantName: \"Acme Inc.\",\n        MerchantCountryCode: \"840\",\n        MerchantCategoryCode: \"1234\",\n        MerchantURL: \"https://example.com\",\n        Scheme: components.CardSchemeVisa,\n        Metadata: map[string]string{\n            \"key\": \"<value>\",\n            \"key1\": \"<value>\",\n            \"key2\": \"<value>\",\n        },\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$merchantAccountThreeDSConfigurationCreate = new Gr4vy\\MerchantAccountThreeDSConfigurationCreate(\n    merchantAcquirerBin: '516327',\n    merchantAcquirerId: '123456789012345',\n    merchantName: 'Acme Inc.',\n    merchantCountryCode: '840',\n    merchantCategoryCode: '1234',\n    merchantUrl: 'https://example.com',\n    scheme: '<value>',\n    metadata: [\n        'key' => '<value>',\n        'key1' => '<value>',\n        'key2' => '<value>',\n    ],\n);\n\n$response = $sdk->merchantAccounts->threeDsConfiguration->create(\n    merchantAccountId: 'merchant-12345',\n    merchantAccountThreeDSConfigurationCreate: $merchantAccountThreeDSConfigurationCreate\n\n);\n\nif ($response->merchantAccountThreeDSConfiguration !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.CardScheme;\nimport com.gr4vy.sdk.models.components.MerchantAccountThreeDSConfigurationCreate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreateThreeDsConfigurationResponse;\nimport java.lang.Exception;\nimport java.util.Map;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        CreateThreeDsConfigurationResponse res = sdk.merchantAccounts().threeDsConfiguration().create()\n                .merchantAccountId(\"merchant-12345\")\n                .merchantAccountThreeDSConfigurationCreate(MerchantAccountThreeDSConfigurationCreate.builder()\n                    .merchantAcquirerBin(\"516327\")\n                    .merchantAcquirerId(\"123456789012345\")\n                    .merchantName(\"Acme Inc.\")\n                    .merchantCountryCode(\"840\")\n                    .merchantCategoryCode(\"1234\")\n                    .merchantUrl(\"https://example.com\")\n                    .scheme(CardScheme.VISA)\n                    .metadata(Map.ofEntries(\n                        Map.entry(\"key\", \"<value>\"),\n                        Map.entry(\"key1\", \"<value>\"),\n                        Map.entry(\"key2\", \"<value>\")))\n                    .build())\n                .call();\n\n        if (res.merchantAccountThreeDSConfiguration().isPresent()) {\n            System.out.println(res.merchantAccountThreeDSConfiguration().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing System.Collections.Generic;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.MerchantAccounts.ThreeDsConfiguration.CreateAsync(\n    merchantAccountId: \"merchant-12345\",\n    merchantAccountThreeDSConfigurationCreate: new MerchantAccountThreeDSConfigurationCreate() {\n        MerchantAcquirerBin = \"516327\",\n        MerchantAcquirerId = \"123456789012345\",\n        MerchantName = \"Acme Inc.\",\n        MerchantCountryCode = \"840\",\n        MerchantCategoryCode = \"1234\",\n        MerchantUrl = \"https://example.com\",\n        Scheme = \"<value>\",\n        Metadata = new Dictionary<string, string>() {\n            { \"key\", \"<value>\" },\n            { \"key1\", \"<value>\" },\n            { \"key2\", \"<value>\" },\n        },\n    }\n);\n\n// handle response"
          }
        ]
      },
      "get": {
        "tags": [
          "Merchant accounts - 3DS configuration"
        ],
        "summary": "List 3DS configurations for merchant",
        "description": "List all 3DS configurations for a merchant account.",
        "operationId": "list_three_ds_configurations",
        "parameters": [
          {
            "name": "merchant_account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account.",
              "examples": [
                "merchant-12345"
              ],
              "title": "Merchant Account Id"
            },
            "description": "The ID of the merchant account."
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^[A-Z]{3}$",
                  "examples": [
                    "EUR",
                    "GBP",
                    "USD"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "description": "ISO 4217 currency code (3 characters) to filter 3DS configurations.",
              "examples": [
                "USD",
                "EUR",
                "GBP"
              ],
              "title": "Currency"
            },
            "description": "ISO 4217 currency code (3 characters) to filter 3DS configurations."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantAccountThreeDSConfigurations"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "merchant-accounts.three-ds-configuration",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.merchantAccounts.threeDsConfiguration.list(\"merchant-12345\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n):\n\n    res = g_client.merchant_accounts.three_ds_configuration.list(merchant_account_id=\"merchant-12345\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.MerchantAccounts.ThreeDsConfiguration.List(ctx, \"merchant-12345\", nil)\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->merchantAccounts->threeDsConfiguration->list(\n    merchantAccountId: 'merchant-12345'\n);\n\nif ($response->merchantAccountThreeDSConfigurations !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListThreeDsConfigurationsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        ListThreeDsConfigurationsResponse res = sdk.merchantAccounts().threeDsConfiguration().list()\n                .merchantAccountId(\"merchant-12345\")\n                .call();\n\n        if (res.merchantAccountThreeDSConfigurations().isPresent()) {\n            System.out.println(res.merchantAccountThreeDSConfigurations().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.MerchantAccounts.ThreeDsConfiguration.ListAsync(merchantAccountId: \"merchant-12345\");\n\n// handle response"
          }
        ]
      }
    },
    "/merchant-accounts/{merchant_account_id}/three-ds-configurations/{three_ds_configuration_id}": {
      "put": {
        "tags": [
          "Merchant accounts - 3DS configuration"
        ],
        "summary": "Edit 3DS configuration",
        "description": "Update the 3DS configuration for a merchant account.",
        "operationId": "edit_three_ds_configuration",
        "parameters": [
          {
            "name": "merchant_account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account.",
              "examples": [
                "merchant-12345"
              ],
              "title": "Merchant Account Id"
            },
            "description": "The ID of the merchant account."
          },
          {
            "name": "three_ds_configuration_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the 3DS configuration for a merchant account.",
              "examples": [
                "1808f5e6-b49c-4db9-94fa-22371ea352f5"
              ],
              "title": "Three Ds Configuration Id"
            },
            "description": "The ID of the 3DS configuration for a merchant account."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MerchantAccountThreeDSConfigurationUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MerchantAccountThreeDSConfiguration"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "update",
        "x-speakeasy-group": "merchant-accounts.three-ds-configuration",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.merchantAccounts.threeDsConfiguration.update({}, \"merchant-12345\", \"1808f5e6-b49c-4db9-94fa-22371ea352f5\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n):\n\n    res = g_client.merchant_accounts.three_ds_configuration.update(merchant_account_id=\"merchant-12345\", three_ds_configuration_id=\"1808f5e6-b49c-4db9-94fa-22371ea352f5\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.MerchantAccounts.ThreeDsConfiguration.Update(ctx, \"merchant-12345\", \"1808f5e6-b49c-4db9-94fa-22371ea352f5\", components.MerchantAccountThreeDSConfigurationUpdate{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$merchantAccountThreeDSConfigurationUpdate = new Gr4vy\\MerchantAccountThreeDSConfigurationUpdate();\n\n$response = $sdk->merchantAccounts->threeDsConfiguration->update(\n    merchantAccountId: 'merchant-12345',\n    threeDsConfigurationId: '1808f5e6-b49c-4db9-94fa-22371ea352f5',\n    merchantAccountThreeDSConfigurationUpdate: $merchantAccountThreeDSConfigurationUpdate\n\n);\n\nif ($response->merchantAccountThreeDSConfiguration !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.MerchantAccountThreeDSConfigurationUpdate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.EditThreeDsConfigurationResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        EditThreeDsConfigurationResponse res = sdk.merchantAccounts().threeDsConfiguration().update()\n                .merchantAccountId(\"merchant-12345\")\n                .threeDsConfigurationId(\"1808f5e6-b49c-4db9-94fa-22371ea352f5\")\n                .merchantAccountThreeDSConfigurationUpdate(MerchantAccountThreeDSConfigurationUpdate.builder()\n                    .build())\n                .call();\n\n        if (res.merchantAccountThreeDSConfiguration().isPresent()) {\n            System.out.println(res.merchantAccountThreeDSConfiguration().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.MerchantAccounts.ThreeDsConfiguration.UpdateAsync(\n    merchantAccountId: \"merchant-12345\",\n    threeDsConfigurationId: \"1808f5e6-b49c-4db9-94fa-22371ea352f5\",\n    merchantAccountThreeDSConfigurationUpdate: new MerchantAccountThreeDSConfigurationUpdate() {}\n);\n\n// handle response"
          }
        ]
      },
      "delete": {
        "tags": [
          "Merchant accounts - 3DS configuration"
        ],
        "summary": "Delete 3DS configuration for a merchant",
        "description": "Delete a 3DS configuration for a merchant account.",
        "operationId": "delete_three_ds_configuration",
        "parameters": [
          {
            "name": "merchant_account_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account.",
              "examples": [
                "merchant-12345"
              ],
              "title": "Merchant Account Id"
            },
            "description": "The ID of the merchant account."
          },
          {
            "name": "three_ds_configuration_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the 3DS configuration for a merchant account.",
              "examples": [
                "1808f5e6-b49c-4db9-94fa-22371ea352f5"
              ],
              "title": "Three Ds Configuration Id"
            },
            "description": "The ID of the 3DS configuration for a merchant account."
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "delete",
        "x-speakeasy-group": "merchant-accounts.three-ds-configuration",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  await gr4vy.merchantAccounts.threeDsConfiguration.delete(\"merchant-12345\", \"1808f5e6-b49c-4db9-94fa-22371ea352f5\");\n\n\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n):\n\n    g_client.merchant_accounts.three_ds_configuration.delete(merchant_account_id=\"merchant-12345\", three_ds_configuration_id=\"1808f5e6-b49c-4db9-94fa-22371ea352f5\")\n\n    # Use the SDK ..."
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    err := s.MerchantAccounts.ThreeDsConfiguration.Delete(ctx, \"merchant-12345\", \"1808f5e6-b49c-4db9-94fa-22371ea352f5\")\n    if err != nil {\n        log.Fatal(err)\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->merchantAccounts->threeDsConfiguration->delete(\n    merchantAccountId: 'merchant-12345',\n    threeDsConfigurationId: '1808f5e6-b49c-4db9-94fa-22371ea352f5'\n\n);\n\nif ($response->statusCode === 200) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.DeleteThreeDsConfigurationResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        DeleteThreeDsConfigurationResponse res = sdk.merchantAccounts().threeDsConfiguration().delete()\n                .merchantAccountId(\"merchant-12345\")\n                .threeDsConfigurationId(\"1808f5e6-b49c-4db9-94fa-22371ea352f5\")\n                .call();\n\n        // handle response\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nawait sdk.MerchantAccounts.ThreeDsConfiguration.DeleteAsync(\n    merchantAccountId: \"merchant-12345\",\n    threeDsConfigurationId: \"1808f5e6-b49c-4db9-94fa-22371ea352f5\"\n);\n\n// handle response"
          }
        ]
      }
    },
    "/monitoring/metrics": {
      "post": {
        "tags": [
          "Monitoring"
        ],
        "summary": "Create a monitoring metric",
        "description": "Create a monitoring metric with spec model and params.",
        "operationId": "create_monitoring_metric",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MonitoringMetricCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MonitoringMetric"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true
      },
      "get": {
        "tags": [
          "Monitoring"
        ],
        "summary": "List all monitoring metrics",
        "description": "List all created monitoring metrics.",
        "operationId": "list_monitoring_metrics",
        "parameters": [
          {
            "name": "samples_timestamp_interval",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Filters the samples to the set of data aggregated over the duration of the specified period. This parameter should be in the format of [ISO 8601 interval](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals) while the duration only format is not accepted. Start and end are either a datetime in ISO 8601 format or a placeholder which is one of the following: `now`, `hour_start` and `hour_end`.",
              "examples": [
                "2025-01-01T00:00:00/P2H"
              ],
              "title": "Samples Timestamp Interval"
            },
            "description": "Filters the samples to the set of data aggregated over the duration of the specified period. This parameter should be in the format of [ISO 8601 interval](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals) while the duration only format is not accepted. Start and end are either a datetime in ISO 8601 format or a placeholder which is one of the following: `now`, `hour_start` and `hour_end`."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "The search term to filter monitoring metrics by.",
              "examples": [
                "metric-12345"
              ],
              "title": "Search"
            },
            "description": "The search term to filter monitoring metrics by."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A pointer to the page of results to return.",
              "examples": [
                "ZXhhbXBsZTE"
              ],
              "title": "Cursor"
            },
            "description": "A pointer to the page of results to return."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 10,
              "minimum": 1,
              "description": "The maximum number of items that are returned.",
              "examples": [
                10
              ],
              "default": 5,
              "title": "Limit"
            },
            "description": "The maximum number of items that are returned."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MonitoringMetrics"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true,
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        }
      }
    },
    "/monitoring/metrics/{metric_id}": {
      "put": {
        "tags": [
          "Monitoring"
        ],
        "summary": "Update a monitoring metric",
        "description": "Update a monitoring metric.",
        "operationId": "update_monitoring_metric",
        "parameters": [
          {
            "name": "metric_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the metric",
              "examples": [
                "7d9c3fa3-6f56-42b1-bf35-4463ca6ab452"
              ],
              "title": "Metric Id"
            },
            "description": "The ID of the metric"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MonitoringMetricUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MonitoringMetric"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true
      },
      "get": {
        "tags": [
          "Monitoring"
        ],
        "summary": "Get a monitoring metric",
        "description": "Retrieves a monitoring metric with a subset of its samples",
        "operationId": "get_monitoring_metric",
        "parameters": [
          {
            "name": "metric_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the metric",
              "examples": [
                "7d9c3fa3-6f56-42b1-bf35-4463ca6ab452"
              ],
              "title": "Metric Id"
            },
            "description": "The ID of the metric"
          },
          {
            "name": "samples_timestamp_interval",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Timestamp interval for querying a subset of the metric samples. This parameter should be in the format of [ISO 8601 interval](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals) while the duration only format is not accepted. Start and end are either a datetime in ISO 8601 format or a placeholder which is one of the following: `now`, `hour_start` and `hour_end`.",
              "examples": [
                "2025-01-01T00:00:00/P1D"
              ],
              "title": "Samples Timestamp Interval"
            },
            "description": "Timestamp interval for querying a subset of the metric samples. This parameter should be in the format of [ISO 8601 interval](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals) while the duration only format is not accepted. Start and end are either a datetime in ISO 8601 format or a placeholder which is one of the following: `now`, `hour_start` and `hour_end`."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MonitoringMetric"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true,
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        }
      },
      "delete": {
        "tags": [
          "Monitoring"
        ],
        "summary": "Delete a monitoring metric",
        "description": "Deletes a monitoring metric.",
        "operationId": "delete_monitoring_metric",
        "parameters": [
          {
            "name": "metric_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the metric",
              "examples": [
                "7d9c3fa3-6f56-42b1-bf35-4463ca6ab452"
              ],
              "title": "Metric Id"
            },
            "description": "The ID of the metric"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true
      }
    },
    "/monitoring/metrics/{metric_id}/incidents": {
      "get": {
        "tags": [
          "Monitoring"
        ],
        "summary": "List monitoring incidents for a specific metric",
        "description": "List monitoring incidents for a specific metric.",
        "operationId": "list_monitoring_metric_incidents",
        "parameters": [
          {
            "name": "metric_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the metric",
              "examples": [
                "7d9c3fa3-6f56-42b1-bf35-4463ca6ab452"
              ],
              "title": "Metric Id"
            },
            "description": "The ID of the metric"
          },
          {
            "name": "timestamp_interval",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the incidents to those that were created within the specified interval. This parameter should be in the format of [ISO 8601 interval](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals) while the duration only format is not accepted. Start and end are either a datetime in ISO 8601 format or a placeholder which is one of the following: `now`, `hour_start` and `hour_end`.",
              "examples": [
                "2025-01-01T00:00:00/2025-01-02T00:00:00"
              ],
              "title": "Timestamp Interval"
            },
            "description": "Filters the incidents to those that were created within the specified interval. This parameter should be in the format of [ISO 8601 interval](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals) while the duration only format is not accepted. Start and end are either a datetime in ISO 8601 format or a placeholder which is one of the following: `now`, `hour_start` and `hour_end`."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A pointer to the page of results to return.",
              "examples": [
                "ZXhhbXBsZTE"
              ],
              "title": "Cursor"
            },
            "description": "A pointer to the page of results to return."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "The maximum number of items that are returned.",
              "examples": [
                20
              ],
              "default": 20,
              "title": "Limit"
            },
            "description": "The maximum number of items that are returned."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MonitoringIncidents"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true,
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        }
      }
    },
    "/monitoring/incidents": {
      "get": {
        "tags": [
          "Monitoring"
        ],
        "summary": "List all monitoring incidents",
        "description": "List all monitoring incidents.",
        "operationId": "list_monitoring_incidents",
        "parameters": [
          {
            "name": "timestamp_interval",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the incidents to those that were created within the specified interval. This parameter should be in the format of [ISO 8601 interval](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals) while the duration only format is not accepted. Start and end are either a datetime in ISO 8601 format or a placeholder which is one of the following: `now`, `hour_start` and `hour_end`.",
              "examples": [
                "2025-01-01T00:00:00/2025-01-02T00:00:00"
              ],
              "title": "Timestamp Interval"
            },
            "description": "Filters the incidents to those that were created within the specified interval. This parameter should be in the format of [ISO 8601 interval](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals) while the duration only format is not accepted. Start and end are either a datetime in ISO 8601 format or a placeholder which is one of the following: `now`, `hour_start` and `hour_end`."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A pointer to the page of results to return.",
              "examples": [
                "ZXhhbXBsZTE"
              ],
              "title": "Cursor"
            },
            "description": "A pointer to the page of results to return."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "The maximum number of items that are returned.",
              "examples": [
                20
              ],
              "default": 20,
              "title": "Limit"
            },
            "description": "The maximum number of items that are returned."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MonitoringIncidents"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true,
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        }
      }
    },
    "/monitoring/incidents/{incident_id}": {
      "get": {
        "tags": [
          "Monitoring"
        ],
        "summary": "Get a monitoring incident",
        "description": "Retrieves a monitoring incident",
        "operationId": "get_monitoring_incident",
        "parameters": [
          {
            "name": "incident_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the incident",
              "examples": [
                "0f1a61f4-8808-46ae-9001-358d86cc1d13"
              ],
              "title": "Incident Id"
            },
            "description": "The ID of the incident"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MonitoringIncident"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true,
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        }
      },
      "put": {
        "tags": [
          "Monitoring"
        ],
        "summary": "Update a monitoring incident",
        "description": "Update a monitoring incident.",
        "operationId": "update_monitoring_incident",
        "parameters": [
          {
            "name": "incident_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the monitoring incident",
              "examples": [
                "7d9c3fa3-6f56-42b1-bf35-4463ca6ab452"
              ],
              "title": "Incident Id"
            },
            "description": "The ID of the monitoring incident"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MonitoringIncidentUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MonitoringIncident"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true
      }
    },
    "/three-ds-scenarios": {
      "post": {
        "tags": [
          "3DS scenarios"
        ],
        "summary": "Create a 3DS scenario",
        "description": "Create a new 3DS scenario for a merchant account. Only available in sandbox environments.",
        "operationId": "create_three_ds_scenario",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ThreeDSecureScenarioCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThreeDSecureScenario"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "three-ds-scenarios",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.threeDsScenarios.create({\n    conditions: {},\n    outcome: {\n      authentication: {\n        transactionStatus: \"Y\",\n      },\n    },\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.three_ds_scenarios.create(conditions={}, outcome={\n        \"authentication\": {\n            \"transaction_status\": \"Y\",\n        },\n    })\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.ThreeDsScenarios.Create(ctx, components.ThreeDSecureScenarioCreate{\n        Conditions: components.ThreeDSecureScenarioConditions{},\n        Outcome: components.ThreeDSecureScenarioOutcome{\n            Authentication: components.ThreeDSecureScenarioOutcomeAuthentication{\n                TransactionStatus: components.ThreeDSecureScenarioOutcomeAuthenticationTransactionStatusY,\n            },\n        },\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$threeDSecureScenarioCreate = new Gr4vy\\ThreeDSecureScenarioCreate(\n    conditions: new Gr4vy\\ThreeDSecureScenarioConditions(),\n    outcome: new Gr4vy\\ThreeDSecureScenarioOutcome(\n        authentication: new Gr4vy\\ThreeDSecureScenarioOutcomeAuthentication(\n            transactionStatus: 'Y',\n        ),\n    ),\n);\n\n$response = $sdk->threeDsScenarios->create(\n    threeDSecureScenarioCreate: $threeDSecureScenarioCreate\n);\n\nif ($response->threeDSecureScenario !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.*;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreateThreeDsScenarioResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        CreateThreeDsScenarioResponse res = sdk.threeDsScenarios().create()\n                .threeDSecureScenarioCreate(ThreeDSecureScenarioCreate.builder()\n                    .conditions(ThreeDSecureScenarioConditions.builder()\n                        .build())\n                    .outcome(ThreeDSecureScenarioOutcome.builder()\n                        .authentication(ThreeDSecureScenarioOutcomeAuthentication.builder()\n                            .transactionStatus(ThreeDSecureScenarioOutcomeAuthenticationTransactionStatus.Y)\n                            .build())\n                        .build())\n                    .build())\n                .call();\n\n        if (res.threeDSecureScenario().isPresent()) {\n            System.out.println(res.threeDSecureScenario().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.ThreeDsScenarios.CreateAsync(threeDSecureScenarioCreate: new ThreeDSecureScenarioCreate() {\n    Conditions = new ThreeDSecureScenarioConditions() {},\n    Outcome = new ThreeDSecureScenarioOutcome() {\n        Authentication = new ThreeDSecureScenarioOutcomeAuthentication() {\n            TransactionStatus = \"Y\",\n        },\n    },\n});\n\n// handle response"
          }
        ]
      },
      "get": {
        "tags": [
          "3DS scenarios"
        ],
        "summary": "List 3DS scenario",
        "description": "List all 3DS scenarios for a merchant account. Only available in sandbox environments.",
        "operationId": "get_three_ds_scenario",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A pointer to the page of results to return.",
              "examples": [
                "ZXhhbXBsZTE"
              ],
              "title": "Cursor"
            },
            "description": "A pointer to the page of results to return."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "The maximum number of items that are at returned.",
              "examples": [
                20
              ],
              "default": 20,
              "title": "Limit"
            },
            "description": "The maximum number of items that are at returned."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThreeDSecureScenarios"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "three-ds-scenarios",
        "x-speakeasy-pagination": {
          "type": "cursor",
          "inputs": [
            {
              "name": "cursor",
              "in": "parameters",
              "type": "cursor"
            }
          ],
          "outputs": {
            "nextCursor": "$.next_cursor"
          }
        },
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.threeDsScenarios.list();\n\n  for await (const page of result) {\n    console.log(page);\n  }\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.three_ds_scenarios.list(limit=20)\n\n    while res is not None:\n        # Handle items\n\n        res = res.next()"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.ThreeDsScenarios.List(ctx, nil, gr4vygo.Pointer[int64](20))\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        for {\n            // handle items\n\n            res, err = res.Next()\n\n            if err != nil {\n                // handle error\n            }\n\n            if res == nil {\n                break\n            }\n        }\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$responses = $sdk->threeDsScenarios->list(\n    limit: 20\n);\n\n\nforeach ($responses as $response) {\n    if ($response->statusCode === 200) {\n        // handle response\n    }\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.GetThreeDsScenarioResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n\n        sdk.threeDsScenarios().list()\n                .limit(20L)\n                .callAsStream()\n                .forEach((GetThreeDsScenarioResponse item) -> {\n                   // handle page\n                });\n\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing Gr4vy.Models.Requests;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nGetThreeDsScenarioResponse? res = await sdk.ThreeDsScenarios.ListAsync(limit: 20);\n\nwhile(res != null)\n{\n    // handle items\n\n    res = await res.Next!();\n}"
          }
        ]
      }
    },
    "/three-ds-scenarios/{three_ds_scenario_id}": {
      "put": {
        "tags": [
          "3DS scenarios"
        ],
        "summary": "Update a 3DS scenario",
        "description": "Update a 3DS scenario. Only available in sandbox environments.",
        "operationId": "update_three_ds_scenario",
        "parameters": [
          {
            "name": "three_ds_scenario_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the 3DS scenario",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Three Ds Scenario Id"
            },
            "description": "The ID of the 3DS scenario"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ThreeDSecureScenarioUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThreeDSecureScenario"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "update",
        "x-speakeasy-group": "three-ds-scenarios",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.threeDsScenarios.update({}, \"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.three_ds_scenarios.update(three_ds_scenario_id=\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.ThreeDsScenarios.Update(ctx, \"7099948d-7286-47e4-aad8-b68f7eb44591\", components.ThreeDSecureScenarioUpdate{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$threeDSecureScenarioUpdate = new Gr4vy\\ThreeDSecureScenarioUpdate();\n\n$response = $sdk->threeDsScenarios->update(\n    threeDsScenarioId: '7099948d-7286-47e4-aad8-b68f7eb44591',\n    threeDSecureScenarioUpdate: $threeDSecureScenarioUpdate\n\n);\n\nif ($response->threeDSecureScenario !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.ThreeDSecureScenarioUpdate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.UpdateThreeDsScenarioResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        UpdateThreeDsScenarioResponse res = sdk.threeDsScenarios().update()\n                .threeDsScenarioId(\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n                .threeDSecureScenarioUpdate(ThreeDSecureScenarioUpdate.builder()\n                    .build())\n                .call();\n\n        if (res.threeDSecureScenario().isPresent()) {\n            System.out.println(res.threeDSecureScenario().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.ThreeDsScenarios.UpdateAsync(\n    threeDsScenarioId: \"7099948d-7286-47e4-aad8-b68f7eb44591\",\n    threeDSecureScenarioUpdate: new ThreeDSecureScenarioUpdate() {}\n);\n\n// handle response"
          }
        ]
      },
      "delete": {
        "tags": [
          "3DS scenarios"
        ],
        "summary": "Delete a 3DS scenario",
        "description": "Removes a 3DS scenario from our system. Only available in sandbox environments.",
        "operationId": "delete_three_ds_scenario",
        "parameters": [
          {
            "name": "three_ds_scenario_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the 3DS scenario",
              "examples": [
                "7099948d-7286-47e4-aad8-b68f7eb44591"
              ],
              "title": "Three Ds Scenario Id"
            },
            "description": "The ID of the 3DS scenario"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "delete",
        "x-speakeasy-group": "three-ds-scenarios",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  await gr4vy.threeDsScenarios.delete(\"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    g_client.three_ds_scenarios.delete(three_ds_scenario_id=\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n\n    # Use the SDK ..."
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    err := s.ThreeDsScenarios.Delete(ctx, \"7099948d-7286-47e4-aad8-b68f7eb44591\")\n    if err != nil {\n        log.Fatal(err)\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->threeDsScenarios->delete(\n    threeDsScenarioId: '7099948d-7286-47e4-aad8-b68f7eb44591'\n);\n\nif ($response->statusCode === 200) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.DeleteThreeDsScenarioResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        DeleteThreeDsScenarioResponse res = sdk.threeDsScenarios().delete()\n                .threeDsScenarioId(\"7099948d-7286-47e4-aad8-b68f7eb44591\")\n                .call();\n\n        // handle response\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nawait sdk.ThreeDsScenarios.DeleteAsync(threeDsScenarioId: \"7099948d-7286-47e4-aad8-b68f7eb44591\");\n\n// handle response"
          }
        ]
      }
    },
    "/payouts": {
      "get": {
        "tags": [
          "Payouts"
        ],
        "summary": "List payouts created",
        "description": "Returns a list of payouts made.",
        "operationId": "list_payouts",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A pointer to the page of results to return.",
              "examples": [
                "ZXhhbXBsZTE"
              ],
              "title": "Cursor"
            },
            "description": "A pointer to the page of results to return."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "The maximum number of items that are at returned.",
              "examples": [
                20
              ],
              "default": 20,
              "title": "Limit"
            },
            "description": "The maximum number of items that are at returned."
          },
          {
            "name": "created_at_lte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only payouts created before this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.",
              "examples": [
                "2022-01-01T12:00:00+08:00"
              ],
              "title": "Created At Lte"
            },
            "description": "Filters the results to only payouts created before this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`."
          },
          {
            "name": "created_at_gte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only payouts created after this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.",
              "examples": [
                "2022-01-01T12:00:00+08:00"
              ],
              "title": "Created At Gte"
            },
            "description": "Filters the results to only payouts created after this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`."
          },
          {
            "name": "updated_at_lte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only payouts updated before this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.",
              "examples": [
                "2022-01-01T12:00:00+08:00"
              ],
              "title": "Updated At Lte"
            },
            "description": "Filters the results to only payouts updated before this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`."
          },
          {
            "name": "updated_at_gte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only payouts updated after this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.",
              "examples": [
                "2022-01-01T12:00:00+08:00"
              ],
              "title": "Updated At Gte"
            },
            "description": "Filters the results to only payouts updated after this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`."
          },
          {
            "name": "external_identifier",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only the payouts that have an `external_identifier` that exactly matches this value.",
              "examples": [
                "payout-12345"
              ],
              "title": "External Identifier"
            },
            "description": "Filters the results to only the payouts that have an `external_identifier` that exactly matches this value."
          },
          {
            "name": "payment_service_payout_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only the payouts that have a `payment_service_payout_id` that exactly matches this value.",
              "examples": [
                "po_1234567890"
              ],
              "title": "Payment Service Payout Id"
            },
            "description": "Filters the results to only the payouts that have a `payment_service_payout_id` that exactly matches this value."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "declined",
                      "failed",
                      "pending",
                      "succeeded"
                    ],
                    "title": "PayoutStatus",
                    "x-speakeasy-unknown-values": "allow"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only the payouts that have a `status` that matches with any of the provided status values.",
              "examples": [
                "succeeded"
              ],
              "title": "Status"
            },
            "description": "Filters the results to only the payouts that have a `status` that matches with any of the provided status values."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayoutSummaries"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "payouts",
        "x-speakeasy-pagination": {
          "type": "cursor",
          "inputs": [
            {
              "name": "cursor",
              "in": "parameters",
              "type": "cursor"
            }
          ],
          "outputs": {
            "nextCursor": "$.next_cursor"
          }
        },
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.payouts.list();\n\n  for await (const page of result) {\n    console.log(page);\n  }\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payouts.list(cursor=\"ZXhhbXBsZTE\", limit=20)\n\n    while res is not None:\n        # Handle items\n\n        res = res.next()"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Payouts.List(ctx, operations.ListPayoutsRequest{\n        Cursor: gr4vygo.Pointer(\"ZXhhbXBsZTE\"),\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        for {\n            // handle items\n\n            res, err = res.Next()\n\n            if err != nil {\n                // handle error\n            }\n\n            if res == nil {\n                break\n            }\n        }\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$request = new Gr4vy\\ListPayoutsRequest(\n    cursor: 'ZXhhbXBsZTE',\n);\n\n$responses = $sdk->payouts->list(\n    request: $request\n);\n\n\nforeach ($responses as $response) {\n    if ($response->statusCode === 200) {\n        // handle response\n    }\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListPayoutsRequest;\nimport com.gr4vy.sdk.models.operations.ListPayoutsResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        ListPayoutsRequest req = ListPayoutsRequest.builder()\n                .cursor(\"ZXhhbXBsZTE\")\n                .build();\n\n\n        sdk.payouts().list()\n                .callAsStream()\n                .forEach((ListPayoutsResponse item) -> {\n                   // handle page\n                });\n\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing Gr4vy.Models.Requests;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nListPayoutsRequest req = new ListPayoutsRequest() {\n    Cursor = \"ZXhhbXBsZTE\",\n};\n\nListPayoutsResponse? res = await sdk.Payouts.ListAsync(req);\n\nwhile(res != null)\n{\n    // handle items\n\n    res = await res.Next!();\n}"
          }
        ]
      },
      "post": {
        "tags": [
          "Payouts"
        ],
        "summary": "Create a payout",
        "description": "Creates a new payout.",
        "operationId": "create_payout",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PayoutCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayoutSummary"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "payouts",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.payouts.create({\n    amount: 1299,\n    currency: \"EUR\",\n    paymentServiceId: \"ed8bd87d-85ad-40cf-8e8f-007e21e55aad\",\n    paymentMethod: {\n      method: \"id\",\n      id: \"852b951c-d7ea-4c98-b09e-4a1c9e97c077\",\n    },\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payouts.create(amount=1299, currency=\"EUR\", payment_service_id=\"ed8bd87d-85ad-40cf-8e8f-007e21e55aad\", payment_method={\n        \"method\": \"id\",\n        \"id\": \"852b951c-d7ea-4c98-b09e-4a1c9e97c077\",\n    })\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Payouts.Create(ctx, components.PayoutCreate{\n        Amount: 1299,\n        Currency: \"EUR\",\n        PaymentServiceID: \"ed8bd87d-85ad-40cf-8e8f-007e21e55aad\",\n        PaymentMethod: components.CreatePayoutCreatePaymentMethodPaymentMethodStoredCard(\n            components.PaymentMethodStoredCard{\n                ID: \"852b951c-d7ea-4c98-b09e-4a1c9e97c077\",\n            },\n        ),\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$payoutCreate = new Gr4vy\\PayoutCreate(\n    amount: 1299,\n    currency: 'EUR',\n    paymentServiceId: 'ed8bd87d-85ad-40cf-8e8f-007e21e55aad',\n    paymentMethod: new Gr4vy\\PaymentMethodStoredCard(\n        id: '852b951c-d7ea-4c98-b09e-4a1c9e97c077',\n    ),\n);\n\n$response = $sdk->payouts->create(\n    payoutCreate: $payoutCreate\n);\n\nif ($response->payoutSummary !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.*;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.CreatePayoutResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        CreatePayoutResponse res = sdk.payouts().create()\n                .payoutCreate(PayoutCreate.builder()\n                    .amount(1299L)\n                    .currency(\"EUR\")\n                    .paymentServiceId(\"ed8bd87d-85ad-40cf-8e8f-007e21e55aad\")\n                    .paymentMethod(PayoutCreatePaymentMethod.of(PaymentMethodStoredCard.builder()\n                        .id(\"852b951c-d7ea-4c98-b09e-4a1c9e97c077\")\n                        .build()))\n                    .build())\n                .call();\n\n        if (res.payoutSummary().isPresent()) {\n            System.out.println(res.payoutSummary().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Payouts.CreateAsync(payoutCreate: new PayoutCreate() {\n    Amount = 1299,\n    Currency = \"EUR\",\n    PaymentServiceId = \"ed8bd87d-85ad-40cf-8e8f-007e21e55aad\",\n    PaymentMethod = PayoutCreatePaymentMethod.CreatePaymentMethodStoredCard(\n        new PaymentMethodStoredCard() {\n            Id = \"852b951c-d7ea-4c98-b09e-4a1c9e97c077\",\n        }\n    ),\n});\n\n// handle response"
          }
        ]
      }
    },
    "/payouts/{payout_id}": {
      "get": {
        "tags": [
          "Payouts"
        ],
        "summary": "Get a payout",
        "description": "Retrieves a payout.",
        "operationId": "get_payout",
        "parameters": [
          {
            "name": "payout_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Payout Id"
            }
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayoutSummary"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "get",
        "x-speakeasy-group": "payouts",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.payouts.get(\"4344fef2-bc2f-49a6-924f-343e62f67224\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payouts.get(payout_id=\"4344fef2-bc2f-49a6-924f-343e62f67224\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Payouts.Get(ctx, \"4344fef2-bc2f-49a6-924f-343e62f67224\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->payouts->get(\n    payoutId: '4344fef2-bc2f-49a6-924f-343e62f67224'\n);\n\nif ($response->payoutSummary !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.GetPayoutResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .merchantAccountId(\"default\")\n                .bearerAuth(System.getenv().getOrDefault(\"BEARER_AUTH\", \"\"))\n            .build();\n\n        GetPayoutResponse res = sdk.payouts().get()\n                .payoutId(\"4344fef2-bc2f-49a6-924f-343e62f67224\")\n                .call();\n\n        if (res.payoutSummary().isPresent()) {\n            System.out.println(res.payoutSummary().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.Payouts.GetAsync(payoutId: \"4344fef2-bc2f-49a6-924f-343e62f67224\");\n\n// handle response"
          }
        ]
      }
    },
    "/payment-links": {
      "post": {
        "tags": [
          "Payment links"
        ],
        "summary": "Add a payment link",
        "description": "Create a new payment link.",
        "operationId": "add_payment_link",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentLinkCreate",
                "description": "The payment link to create"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentLink"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "create",
        "x-speakeasy-group": "payment-links",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentLinks.create({\n    amount: 1299,\n    country: \"DE\",\n    currency: \"EUR\",\n    store: true,\n  });\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payment_links.create(amount=1299, country=\"DE\", currency=\"EUR\", store=True)\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.PaymentLinks.Create(ctx, components.PaymentLinkCreate{\n        Amount: 1299,\n        Country: \"DE\",\n        Currency: \"EUR\",\n        Store: gr4vygo.Pointer(true),\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$paymentLinkCreate = new Gr4vy\\PaymentLinkCreate(\n    amount: 1299,\n    country: 'DE',\n    currency: 'EUR',\n    store: true,\n);\n\n$response = $sdk->paymentLinks->create(\n    paymentLinkCreate: $paymentLinkCreate\n);\n\nif ($response->paymentLink !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.components.PaymentLinkCreate;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.AddPaymentLinkResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        AddPaymentLinkResponse res = sdk.paymentLinks().create()\n                .paymentLinkCreate(PaymentLinkCreate.builder()\n                    .amount(1299L)\n                    .country(\"DE\")\n                    .currency(\"EUR\")\n                    .store(true)\n                    .build())\n                .call();\n\n        if (res.paymentLink().isPresent()) {\n            System.out.println(res.paymentLink().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.PaymentLinks.CreateAsync(paymentLinkCreate: new PaymentLinkCreate() {\n    Amount = 1299,\n    Country = \"DE\",\n    Currency = \"EUR\",\n    Store = true,\n});\n\n// handle response"
          }
        ]
      },
      "get": {
        "tags": [
          "Payment links"
        ],
        "summary": "List all payment links",
        "description": "List all created payment links.",
        "operationId": "list_payment_links",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "A pointer to the page of results to return.",
              "examples": [
                "ZXhhbXBsZTE"
              ],
              "title": "Cursor"
            },
            "description": "A pointer to the page of results to return."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "The maximum number of items that are returned.",
              "examples": [
                20
              ],
              "default": 20,
              "title": "Limit"
            },
            "description": "The maximum number of items that are returned."
          },
          {
            "name": "created_at_lte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only payment links created before this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.",
              "examples": [
                "2022-01-01T12:00:00+08:00"
              ],
              "title": "Created At Lte"
            },
            "description": "Filters the results to only payment links created before this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`."
          },
          {
            "name": "created_at_gte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only payment links created after this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.",
              "examples": [
                "2022-01-01T12:00:00+08:00"
              ],
              "title": "Created At Gte"
            },
            "description": "Filters the results to only payment links created after this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`."
          },
          {
            "name": "updated_at_lte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only payment links updated before this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.",
              "examples": [
                "2022-01-01T12:00:00+08:00"
              ],
              "title": "Updated At Lte"
            },
            "description": "Filters the results to only payment links updated before this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`."
          },
          {
            "name": "updated_at_gte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only payment links updated after this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.",
              "examples": [
                "2022-01-01T12:00:00+08:00"
              ],
              "title": "Updated At Gte"
            },
            "description": "Filters the results to only payment links updated after this ISO date-time string. The time zone must be included. Ensure that the date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00` must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`."
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[A-Z]{3}$",
                    "examples": [
                      "EUR",
                      "GBP",
                      "USD"
                    ]
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for payment links that have matching `currency` values. The `currency` values provided must be formatted as 3-letter ISO currency codes.",
              "examples": [
                [
                  "USD"
                ]
              ],
              "title": "Currency"
            },
            "description": "Filters for payment links that have matching `currency` values. The `currency` values provided must be formatted as 3-letter ISO currency codes."
          },
          {
            "name": "amount_eq",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for payment links that have an `amount` equal to this value.",
              "examples": [
                1299
              ],
              "title": "Amount Eq"
            },
            "description": "Filters for payment links that have an `amount` equal to this value."
          },
          {
            "name": "amount_gte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for payment links that have an `amount` greater than or equal to this value.",
              "examples": [
                1299
              ],
              "title": "Amount Gte"
            },
            "description": "Filters for payment links that have an `amount` greater than or equal to this value."
          },
          {
            "name": "amount_lte",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2147483647,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters for payment links that have an `amount` less than or equal to this value.",
              "examples": [
                1299
              ],
              "title": "Amount Lte"
            },
            "description": "Filters for payment links that have an `amount` less than or equal to this value."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "active",
                      "completed",
                      "expired",
                      "processing"
                    ],
                    "title": "PaymentLinkStatus",
                    "x-speakeasy-unknown-values": "allow"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only the payment links that have a `status` that matches with any of the provided status values.",
              "examples": [
                "active"
              ],
              "title": "Status"
            },
            "description": "Filters the results to only the payment links that have a `status` that matches with any of the provided status values."
          },
          {
            "name": "buyer_search",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only get the items for which some of the buyer data contains exactly the provided `buyer_search` values.",
              "examples": [
                [
                  "John",
                  "London"
                ]
              ],
              "title": "Buyer Search"
            },
            "description": "Filters the results to only get the items for which some of the buyer data contains exactly the provided `buyer_search` values."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentLinks"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "list",
        "x-speakeasy-group": "payment-links",
        "x-speakeasy-pagination": {
          "type": "cursor",
          "inputs": [
            {
              "name": "cursor",
              "in": "parameters",
              "type": "cursor"
            }
          ],
          "outputs": {
            "nextCursor": "$.next_cursor"
          }
        },
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentLinks.list();\n\n  for await (const page of result) {\n    console.log(page);\n  }\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payment_links.list(limit=20)\n\n    while res is not None:\n        # Handle items\n\n        res = res.next()"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.PaymentLinks.List(ctx, operations.ListPaymentLinksRequest{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        for {\n            // handle items\n\n            res, err = res.Next()\n\n            if err != nil {\n                // handle error\n            }\n\n            if res == nil {\n                break\n            }\n        }\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n$request = new Gr4vy\\ListPaymentLinksRequest();\n\n$responses = $sdk->paymentLinks->list(\n    request: $request\n);\n\n\nforeach ($responses as $response) {\n    if ($response->statusCode === 200) {\n        // handle response\n    }\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ListPaymentLinksRequest;\nimport com.gr4vy.sdk.models.operations.ListPaymentLinksResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        ListPaymentLinksRequest req = ListPaymentLinksRequest.builder()\n                .build();\n\n\n        sdk.paymentLinks().list()\n                .callAsStream()\n                .forEach((ListPaymentLinksResponse item) -> {\n                   // handle page\n                });\n\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\nusing Gr4vy.Models.Requests;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nListPaymentLinksRequest req = new ListPaymentLinksRequest() {};\n\nListPaymentLinksResponse? res = await sdk.PaymentLinks.ListAsync(req);\n\nwhile(res != null)\n{\n    // handle items\n\n    res = await res.Next!();\n}"
          }
        ]
      }
    },
    "/payment-links/{payment_link_id}/expire": {
      "post": {
        "tags": [
          "Payment links"
        ],
        "summary": "Expire a payment link",
        "description": "Expire an existing payment link.",
        "operationId": "expire_payment_link",
        "parameters": [
          {
            "name": "payment_link_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The unique identifier for the payment link.",
              "examples": [
                "a1b2c3d4-5678-90ab-cdef-1234567890ab"
              ],
              "title": "Payment Link Id"
            },
            "description": "The unique identifier for the payment link."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "expire",
        "x-speakeasy-group": "payment-links",
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  await gr4vy.paymentLinks.expire(\"a1b2c3d4-5678-90ab-cdef-1234567890ab\");\n\n\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    g_client.payment_links.expire(payment_link_id=\"a1b2c3d4-5678-90ab-cdef-1234567890ab\")\n\n    # Use the SDK ..."
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    err := s.PaymentLinks.Expire(ctx, \"a1b2c3d4-5678-90ab-cdef-1234567890ab\")\n    if err != nil {\n        log.Fatal(err)\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->paymentLinks->expire(\n    paymentLinkId: 'a1b2c3d4-5678-90ab-cdef-1234567890ab'\n);\n\nif ($response->statusCode === 200) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.ExpirePaymentLinkResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        ExpirePaymentLinkResponse res = sdk.paymentLinks().expire()\n                .paymentLinkId(\"a1b2c3d4-5678-90ab-cdef-1234567890ab\")\n                .call();\n\n        // handle response\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nawait sdk.PaymentLinks.ExpireAsync(paymentLinkId: \"a1b2c3d4-5678-90ab-cdef-1234567890ab\");\n\n// handle response"
          }
        ]
      }
    },
    "/payment-links/{payment_link_id}": {
      "get": {
        "tags": [
          "Payment links"
        ],
        "summary": "Get payment link",
        "description": "Fetch the details for a payment link.",
        "operationId": "get_payment_link",
        "parameters": [
          {
            "name": "payment_link_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The unique identifier for the payment link.",
              "examples": [
                "a1b2c3d4-5678-90ab-cdef-1234567890ab"
              ],
              "title": "Payment Link Id"
            },
            "description": "The unique identifier for the payment link."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentLink"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-name-override": "get",
        "x-speakeasy-group": "payment-links",
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        },
        "x-codeSamples": [
          {
            "lang": "javascript",
            "label": "TypeScript",
            "source": "import { Gr4vy, withToken } from \"@gr4vy/sdk\";\nimport fs from \"fs\";\n\nconst gr4vy = new Gr4vy({\n    id: \"example\",\n    server: \"sandbox\",\n    merchantAccountId: \"default\",\n    bearerAuth: withToken({\n      privateKey: fs.readFileSync(\"private_key.pem\", \"utf8\"),\n    }),\n});\n\nasync function run() {\n  const result = await gr4vy.paymentLinks.get(\"a1b2c3d4-5678-90ab-cdef-1234567890ab\");\n\n  console.log(result);\n}\n\nrun();"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "from gr4vy import Gr4vy\nimport os\n\n\nwith Gr4vy(\n    id=\"example\",\n    server=\"sandbox\",\n    merchant_account_id=\"default\",\n    bearer_auth=auth.with_token(open(\"./private_key.pem\").read())\n) as g_client:\n\n    res = g_client.payment_links.get(payment_link_id=\"a1b2c3d4-5678-90ab-cdef-1234567890ab\")\n\n    # Handle response\n    print(res)"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vy.New(\n\t\tgr4vy.WithID(\"example\"),\n\t\tgr4vy.WithServer(gr4vy.ServerSandbox),\n\t\tgr4vy.WithSecuritySource(withToken),\n\t\tgr4vy.WithMerchantAccountID(\"default\"),\n\t)\n\n    res, err := s.PaymentLinks.Get(ctx, \"a1b2c3d4-5678-90ab-cdef-1234567890ab\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        // handle response\n    }\n}"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse Gr4vy;\n\n$sdk = Gr4vy\\SDK::builder()\n    ->setId('example')\n    ->setServer('sandbox')\n    ->setSecuritySource(Auth::withToken($privateKey))\n    ->setMerchantAccountId('default')\n    ->build();\n\n\n\n$response = $sdk->paymentLinks->get(\n    paymentLinkId: 'a1b2c3d4-5678-90ab-cdef-1234567890ab'\n);\n\nif ($response->paymentLink !== null) {\n    // handle response\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "package hello.world;\n\nimport com.gr4vy.sdk.Gr4vy;\nimport com.gr4vy.sdk.models.errors.*;\nimport com.gr4vy.sdk.models.operations.GetPaymentLinkResponse;\nimport java.lang.Exception;\n\npublic class Application {\n\n    public static void main(String[] args) throws Exception {\n\n        Gr4vy sdk = Gr4vy.builder()\n                .id(\"example\")\n                .server(AvailableServers.SANDBOX)\n                .merchantAccountId(\"default\")\n                .securitySource(new BearerSecuritySource.Builder(privateKey).build())\n            .build();\n\n        GetPaymentLinkResponse res = sdk.paymentLinks().get()\n                .paymentLinkId(\"a1b2c3d4-5678-90ab-cdef-1234567890ab\")\n                .call();\n\n        if (res.paymentLink().isPresent()) {\n            System.out.println(res.paymentLink().get());\n        }\n    }\n}"
          },
          {
            "lang": "csharp",
            "label": "C#",
            "source": "using Gr4vy;\nusing Gr4vy.Models.Components;\n\nvar sdk = new Gr4vySDK(\n    id: \"example\",\n    server: SDKConfig.Server.Sandbox,\n    bearerAuthSource: Auth.WithToken(privateKey),\n    merchantAccountId: \"default\"\n);\n\nvar res = await sdk.PaymentLinks.GetAsync(paymentLinkId: \"a1b2c3d4-5678-90ab-cdef-1234567890ab\");\n\n// handle response"
          }
        ]
      }
    },
    "/metrics-explorer/{source}/metrics/{metric}/modules/{module}": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Get module's data",
        "description": "Retrieves the data for a module. The data to be used depends on `source`.<br/>**Important:** The currency filter query parameter is **required** when the `metric` is set to `volume`.",
        "operationId": "get_metrics_explorer_module",
        "parameters": [
          {
            "name": "source",
            "in": "path",
            "required": true,
            "schema": {
              "description": "Source of the data",
              "examples": [
                "authentication",
                "authorization"
              ],
              "type": "string",
              "enum": [
                "authentication",
                "authorization",
                "monitoring"
              ],
              "title": "MetricsExplorerSource",
              "x-speakeasy-unknown-values": "allow"
            },
            "description": "Source of the data"
          },
          {
            "name": "metric",
            "in": "path",
            "required": true,
            "schema": {
              "description": "The metric to be calculated",
              "examples": [
                "transactions"
              ],
              "type": "string",
              "enum": [
                "volume",
                "transactions",
                "auth_rate"
              ],
              "title": "MetricsExplorerMetric",
              "x-speakeasy-unknown-values": "allow"
            },
            "description": "The metric to be calculated"
          },
          {
            "name": "module",
            "in": "path",
            "required": true,
            "schema": {
              "description": "Module for which to retrieve data",
              "examples": [
                "country"
              ],
              "type": "string",
              "enum": [
                "authentication_outcome",
                "authorized",
                "country",
                "currency",
                "error_code",
                "instrument_type",
                "is_subsequent_payment",
                "liability_shifted",
                "merchant_initiated",
                "metadata",
                "method",
                "payment_method_bin",
                "payment_method_card_issuer_name",
                "payment_method_card_type",
                "payment_method_country",
                "payment_method_scheme",
                "payment_service",
                "payment_source",
                "raw_response_code",
                "rule_route_transaction",
                "rule_skip_3ds",
                "rule_variant_id",
                "three_d_secure_auth_resp",
                "three_d_secure_eci",
                "three_d_secure_method"
              ],
              "title": "MetricsExplorerModule",
              "x-speakeasy-unknown-values": "allow"
            },
            "description": "Module for which to retrieve data"
          },
          {
            "name": "datetime_range",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Filters the results to the set of data aggregated over the duration of the specified period. This parameter should be in the format of [ISO 8601 interval](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals) while the duration only format is not accepted. Start and end are either a datetime in ISO 8601 format or a placeholder which is one of the following: `now`, `hour_start` and `hour_end`.",
              "examples": [
                "2025-01-01T00:00:00/P7D"
              ],
              "title": "Datetime Range"
            },
            "description": "Filters the results to the set of data aggregated over the duration of the specified period. This parameter should be in the format of [ISO 8601 interval](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals) while the duration only format is not accepted. Start and end are either a datetime in ISO 8601 format or a placeholder which is one of the following: `now`, `hour_start` and `hour_end`."
          },
          {
            "name": "authentication_outcome",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions whose authentication process ended with the specified outcome. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that didn't undergo an authentication process.",
              "examples": [
                "abandoned"
              ],
              "title": "Authentication Outcome"
            },
            "description": "Filters the results to only include transactions whose authentication process ended with the specified outcome. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that didn't undergo an authentication process."
          },
          {
            "name": "authorized",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were authorized (1) or declined (0).",
              "examples": [
                "1"
              ],
              "title": "Authorized"
            },
            "description": "Filters the results to only include transactions that were authorized (1) or declined (0)."
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed in the specified country. The country code should be in the ISO 3166-1 two letter format. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "GB"
              ],
              "title": "Country"
            },
            "description": "Filters the results to only include transactions that were processed in the specified country. The country code should be in the ISO 3166-1 two letter format. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed in the specified currency. The currency code should be in the ISO 4217 format.<br/>**Important:** This query parameter is **required** when the `metric` is set to `volume`.",
              "examples": [
                "GBP"
              ],
              "title": "Currency"
            },
            "description": "Filters the results to only include transactions that were processed in the specified currency. The currency code should be in the ISO 4217 format.<br/>**Important:** This query parameter is **required** when the `metric` is set to `volume`."
          },
          {
            "name": "error_code",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that failed with the specified error code. The error code is a string that describes the reason for the failure. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "invalid_credentials"
              ],
              "title": "Error Code"
            },
            "description": "Filters the results to only include transactions that failed with the specified error code. The error code is a string that describes the reason for the failure. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "instrument_type",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that used the specified instrument type. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "network_token"
              ],
              "title": "Instrument Type"
            },
            "description": "Filters the results to only include transactions that used the specified instrument type. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "is_subsequent_payment",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that are subsequent payments. A subsequent payment is a payment that is made after an initial payment, typically in a subscription or recurring payment scenario. The value should be either \"0\" (false) or \"1\" (true).",
              "examples": [
                "0",
                "1"
              ],
              "title": "Is Subsequent Payment"
            },
            "description": "Filters the results to only include transactions that are subsequent payments. A subsequent payment is a payment that is made after an initial payment, typically in a subscription or recurring payment scenario. The value should be either \"0\" (false) or \"1\" (true)."
          },
          {
            "name": "liability_shifted",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions where liability was shifted (1) or was not shifted (0).",
              "examples": [
                "0",
                "1"
              ],
              "title": "Liability Shifted"
            },
            "description": "Filters the results to only include transactions where liability was shifted (1) or was not shifted (0)."
          },
          {
            "name": "merchant_initiated",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were initiated by the merchant. The value should be either \"0\" (false) or \"1\" (true).",
              "examples": [
                "0",
                "1"
              ],
              "title": "Merchant Initiated"
            },
            "description": "Filters the results to only include transactions that were initiated by the merchant. The value should be either \"0\" (false) or \"1\" (true)."
          },
          {
            "name": "metadata",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that have the specified metadata. The metadata should be in JSON format and contain a single key-value pair.",
              "examples": [
                {
                  "key": "value"
                }
              ],
              "title": "Metadata"
            },
            "description": "Filters the results to only include transactions that have the specified metadata. The metadata should be in JSON format and contain a single key-value pair."
          },
          {
            "name": "method",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed using the specified payment method. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "card"
              ],
              "title": "Method"
            },
            "description": "Filters the results to only include transactions that were processed using the specified payment method. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "payment_method_bin",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that used the specified payment method bin. The payment method bin is the first 6 digits of the card number. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "123456"
              ],
              "title": "Payment Method Bin"
            },
            "description": "Filters the results to only include transactions that used the specified payment method bin. The payment method bin is the first 6 digits of the card number. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "payment_method_card_issuer_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed with the specified card issuer name. The card issuer name is the name of the bank or financial institution that issued the card used for the transaction. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "Barclays"
              ],
              "title": "Payment Method Card Issuer Name"
            },
            "description": "Filters the results to only include transactions that were processed with the specified card issuer name. The card issuer name is the name of the bank or financial institution that issued the card used for the transaction. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "payment_method_card_type",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that used the specified card type. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "credit",
                "debit",
                "prepaid"
              ],
              "title": "Payment Method Card Type"
            },
            "description": "Filters the results to only include transactions that used the specified card type. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "payment_method_country",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed with a card issued in the specified country. The country code should be in the ISO 3166-1 two letter format. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "GB"
              ],
              "title": "Payment Method Country"
            },
            "description": "Filters the results to only include transactions that were processed with a card issued in the specified country. The country code should be in the ISO 3166-1 two letter format. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "payment_method_scheme",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed with the specified payment method scheme. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "visa"
              ],
              "title": "Payment Method Scheme"
            },
            "description": "Filters the results to only include transactions that were processed with the specified payment method scheme. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "payment_service_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed with the specified payment service ID. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "06319aec-2c0f-4c7b-8af1-047ca037fc021"
              ],
              "title": "Payment Service Id"
            },
            "description": "Filters the results to only include transactions that were processed with the specified payment service ID. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "payment_source",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed with the specified payment source.",
              "examples": [
                "ecommerce",
                "recurring"
              ],
              "title": "Payment Source"
            },
            "description": "Filters the results to only include transactions that were processed with the specified payment source."
          },
          {
            "name": "raw_response_code",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that received the specified raw response code from the payment service. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "COMPLETED"
              ],
              "title": "Raw Response Code"
            },
            "description": "Filters the results to only include transactions that received the specified raw response code from the payment service. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "rule_id_route_transaction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed with the specified routing rule. The rule ID should be in UUID format. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that were not processed by any routing rule.",
              "examples": [
                "c2fefd1b-6ed0-4038-bbc8-48ea2fb7e9f7"
              ],
              "title": "Rule Id Route Transaction"
            },
            "description": "Filters the results to only include transactions that were processed with the specified routing rule. The rule ID should be in UUID format. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that were not processed by any routing rule."
          },
          {
            "name": "rule_id_skip_3ds",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed with the specified 3DS rule. The rule ID should be in UUID format. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that were not processed by any 3DS rule.",
              "examples": [
                "c2fefd1b-6ed0-4038-bbc8-48ea2fb7e9f7"
              ],
              "title": "Rule Id Skip 3Ds"
            },
            "description": "Filters the results to only include transactions that were processed with the specified 3DS rule. The rule ID should be in UUID format. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that were not processed by any 3DS rule."
          },
          {
            "name": "rule_variant_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed with the specified split routing rule outcome variant. The variant ID should be in UUID format.",
              "examples": [
                "9897134a-fd29-4b0f-9391-a5cf965f0859"
              ],
              "title": "Rule Variant Id"
            },
            "description": "Filters the results to only include transactions that were processed with the specified split routing rule outcome variant. The variant ID should be in UUID format."
          },
          {
            "name": "three_d_secure_auth_resp",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that received the specified response during 3DS authentication. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "Y"
              ],
              "title": "Three D Secure Auth Resp"
            },
            "description": "Filters the results to only include transactions that received the specified response during 3DS authentication. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "three_d_secure_eci",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that received the specified ECI during 3DS authentication. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "05"
              ],
              "title": "Three D Secure Eci"
            },
            "description": "Filters the results to only include transactions that received the specified ECI during 3DS authentication. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "three_d_secure_method",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that underwent 3DS authentication with the specified method. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that didn't undergo 3DS authentication.",
              "examples": [
                "challenge",
                "frictionless"
              ],
              "title": "Three D Secure Method"
            },
            "description": "Filters the results to only include transactions that underwent 3DS authentication with the specified method. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that didn't undergo 3DS authentication."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ModuleResponse"
                  },
                  "title": "Response Get Metrics Explorer Module"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true,
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        }
      }
    },
    "/metrics-explorer/{source}/metrics/{metric}/totals": {
      "get": {
        "tags": [
          "Insights"
        ],
        "summary": "Get totals data",
        "description": "Retrieves the data for the line chart and summary. The data to be used depends on `source`.<br/>**Important:** The currency filter query parameter is **required** when the `metric` is set to `volume`.",
        "operationId": "get_metrics_explorer_totals",
        "parameters": [
          {
            "name": "source",
            "in": "path",
            "required": true,
            "schema": {
              "description": "Source of the data",
              "examples": [
                "authentication",
                "authorization"
              ],
              "type": "string",
              "enum": [
                "authentication",
                "authorization",
                "monitoring"
              ],
              "title": "MetricsExplorerSource",
              "x-speakeasy-unknown-values": "allow"
            },
            "description": "Source of the data"
          },
          {
            "name": "metric",
            "in": "path",
            "required": true,
            "schema": {
              "description": "The metric to be calculated",
              "examples": [
                "transactions"
              ],
              "type": "string",
              "enum": [
                "volume",
                "transactions",
                "auth_rate"
              ],
              "title": "MetricsExplorerMetric",
              "x-speakeasy-unknown-values": "allow"
            },
            "description": "The metric to be calculated"
          },
          {
            "name": "datetime_range",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Filters the results to the set of data aggregated over the duration of the specified period. This parameter should be in the format of [ISO 8601 interval](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals) while the duration only format is not accepted. Start and end are either a datetime in ISO 8601 format or a placeholder which is one of the following: `now`, `hour_start` and `hour_end`.",
              "examples": [
                "2025-01-01T00:00:00/P7D"
              ],
              "title": "Datetime Range"
            },
            "description": "Filters the results to the set of data aggregated over the duration of the specified period. This parameter should be in the format of [ISO 8601 interval](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals) while the duration only format is not accepted. Start and end are either a datetime in ISO 8601 format or a placeholder which is one of the following: `now`, `hour_start` and `hour_end`."
          },
          {
            "name": "authentication_outcome",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions whose authentication process ended with the specified outcome. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that didn't undergo an authentication process.",
              "examples": [
                "abandoned"
              ],
              "title": "Authentication Outcome"
            },
            "description": "Filters the results to only include transactions whose authentication process ended with the specified outcome. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that didn't undergo an authentication process."
          },
          {
            "name": "authorized",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were authorized (1) or declined (0).",
              "examples": [
                "1"
              ],
              "title": "Authorized"
            },
            "description": "Filters the results to only include transactions that were authorized (1) or declined (0)."
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed in the specified country. The country code should be in the ISO 3166-1 two letter format. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "GB"
              ],
              "title": "Country"
            },
            "description": "Filters the results to only include transactions that were processed in the specified country. The country code should be in the ISO 3166-1 two letter format. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed in the specified currency. The currency code should be in the ISO 4217 format.<br/>**Important:** This query parameter is **required** when the `metric` is set to `volume`.",
              "examples": [
                "GBP"
              ],
              "title": "Currency"
            },
            "description": "Filters the results to only include transactions that were processed in the specified currency. The currency code should be in the ISO 4217 format.<br/>**Important:** This query parameter is **required** when the `metric` is set to `volume`."
          },
          {
            "name": "error_code",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that failed with the specified error code. The error code is a string that describes the reason for the failure. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "invalid_credentials"
              ],
              "title": "Error Code"
            },
            "description": "Filters the results to only include transactions that failed with the specified error code. The error code is a string that describes the reason for the failure. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "instrument_type",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that used the specified instrument type. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "network_token"
              ],
              "title": "Instrument Type"
            },
            "description": "Filters the results to only include transactions that used the specified instrument type. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "is_subsequent_payment",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that are subsequent payments. A subsequent payment is a payment that is made after an initial payment, typically in a subscription or recurring payment scenario. The value should be either \"0\" (false) or \"1\" (true).",
              "examples": [
                "0",
                "1"
              ],
              "title": "Is Subsequent Payment"
            },
            "description": "Filters the results to only include transactions that are subsequent payments. A subsequent payment is a payment that is made after an initial payment, typically in a subscription or recurring payment scenario. The value should be either \"0\" (false) or \"1\" (true)."
          },
          {
            "name": "liability_shifted",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions where liability was shifted (1) or was not shifted (0).",
              "examples": [
                "0",
                "1"
              ],
              "title": "Liability Shifted"
            },
            "description": "Filters the results to only include transactions where liability was shifted (1) or was not shifted (0)."
          },
          {
            "name": "merchant_initiated",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were initiated by the merchant. The value should be either \"0\" (false) or \"1\" (true).",
              "examples": [
                "0",
                "1"
              ],
              "title": "Merchant Initiated"
            },
            "description": "Filters the results to only include transactions that were initiated by the merchant. The value should be either \"0\" (false) or \"1\" (true)."
          },
          {
            "name": "metadata",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that have the specified metadata. The metadata should be in JSON format and contain a single key-value pair.",
              "examples": [
                {
                  "key": "value"
                }
              ],
              "title": "Metadata"
            },
            "description": "Filters the results to only include transactions that have the specified metadata. The metadata should be in JSON format and contain a single key-value pair."
          },
          {
            "name": "method",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed using the specified payment method. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "card"
              ],
              "title": "Method"
            },
            "description": "Filters the results to only include transactions that were processed using the specified payment method. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "payment_method_bin",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that used the specified payment method bin. The payment method bin is the first 6 digits of the card number. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "123456"
              ],
              "title": "Payment Method Bin"
            },
            "description": "Filters the results to only include transactions that used the specified payment method bin. The payment method bin is the first 6 digits of the card number. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "payment_method_card_issuer_name",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed with the specified card issuer name. The card issuer name is the name of the bank or financial institution that issued the card used for the transaction. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "Barclays"
              ],
              "title": "Payment Method Card Issuer Name"
            },
            "description": "Filters the results to only include transactions that were processed with the specified card issuer name. The card issuer name is the name of the bank or financial institution that issued the card used for the transaction. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "payment_method_card_type",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that used the specified card type. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "credit",
                "debit",
                "prepaid"
              ],
              "title": "Payment Method Card Type"
            },
            "description": "Filters the results to only include transactions that used the specified card type. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "payment_method_country",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed with a card issued in the specified country. The country code should be in the ISO 3166-1 two letter format. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "GB"
              ],
              "title": "Payment Method Country"
            },
            "description": "Filters the results to only include transactions that were processed with a card issued in the specified country. The country code should be in the ISO 3166-1 two letter format. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "payment_method_scheme",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed with the specified payment method scheme. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "visa"
              ],
              "title": "Payment Method Scheme"
            },
            "description": "Filters the results to only include transactions that were processed with the specified payment method scheme. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "payment_service_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed with the specified payment service ID. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "06319aec-2c0f-4c7b-8af1-047ca037fc021"
              ],
              "title": "Payment Service Id"
            },
            "description": "Filters the results to only include transactions that were processed with the specified payment service ID. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "payment_source",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed with the specified payment source.",
              "examples": [
                "ecommerce",
                "recurring"
              ],
              "title": "Payment Source"
            },
            "description": "Filters the results to only include transactions that were processed with the specified payment source."
          },
          {
            "name": "raw_response_code",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that received the specified raw response code from the payment service. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "COMPLETED"
              ],
              "title": "Raw Response Code"
            },
            "description": "Filters the results to only include transactions that received the specified raw response code from the payment service. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "rule_id_route_transaction",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed with the specified routing rule. The rule ID should be in UUID format. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that were not processed by any routing rule.",
              "examples": [
                "c2fefd1b-6ed0-4038-bbc8-48ea2fb7e9f7"
              ],
              "title": "Rule Id Route Transaction"
            },
            "description": "Filters the results to only include transactions that were processed with the specified routing rule. The rule ID should be in UUID format. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that were not processed by any routing rule."
          },
          {
            "name": "rule_id_skip_3ds",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed with the specified 3DS rule. The rule ID should be in UUID format. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that were not processed by any 3DS rule.",
              "examples": [
                "c2fefd1b-6ed0-4038-bbc8-48ea2fb7e9f7"
              ],
              "title": "Rule Id Skip 3Ds"
            },
            "description": "Filters the results to only include transactions that were processed with the specified 3DS rule. The rule ID should be in UUID format. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that were not processed by any 3DS rule."
          },
          {
            "name": "rule_variant_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that were processed with the specified split routing rule outcome variant. The variant ID should be in UUID format.",
              "examples": [
                "9897134a-fd29-4b0f-9391-a5cf965f0859"
              ],
              "title": "Rule Variant Id"
            },
            "description": "Filters the results to only include transactions that were processed with the specified split routing rule outcome variant. The variant ID should be in UUID format."
          },
          {
            "name": "three_d_secure_auth_resp",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that received the specified response during 3DS authentication. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "Y"
              ],
              "title": "Three D Secure Auth Resp"
            },
            "description": "Filters the results to only include transactions that received the specified response during 3DS authentication. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "three_d_secure_eci",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that received the specified ECI during 3DS authentication. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
              "examples": [
                "05"
              ],
              "title": "Three D Secure Eci"
            },
            "description": "Filters the results to only include transactions that received the specified ECI during 3DS authentication. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field."
          },
          {
            "name": "three_d_secure_method",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filters the results to only include transactions that underwent 3DS authentication with the specified method. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that didn't undergo 3DS authentication.",
              "examples": [
                "challenge",
                "frictionless"
              ],
              "title": "Three D Secure Method"
            },
            "description": "Filters the results to only include transactions that underwent 3DS authentication with the specified method. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that didn't undergo 3DS authentication."
          },
          {
            "name": "exclude_previous",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "If set to `true`, aggregations and data from the previous period will not be calculated nor returned.",
              "examples": [
                "true"
              ],
              "default": false,
              "title": "Exclude Previous"
            },
            "description": "If set to `true`, aggregations and data from the previous period will not be calculated nor returned."
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetricsExplorerTotalResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true,
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        }
      }
    },
    "/metrics-explorer/{source}/presets": {
      "get": {
        "tags": [
          "Insights - Presets"
        ],
        "summary": "List presets",
        "description": "Get all available presets for a specific source. These presets can be used to quickly set predefined filters.",
        "operationId": "list_metrics_explorer_presets",
        "parameters": [
          {
            "name": "source",
            "in": "path",
            "required": true,
            "schema": {
              "description": "Source of the data",
              "examples": [
                "authentication",
                "authorization"
              ],
              "type": "string",
              "enum": [
                "authentication",
                "authorization",
                "monitoring"
              ],
              "title": "MetricsExplorerSource",
              "x-speakeasy-unknown-values": "allow"
            },
            "description": "Source of the data"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MetricsExplorerPreset"
                  },
                  "title": "Response List Metrics Explorer Presets"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true,
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        }
      },
      "post": {
        "tags": [
          "Insights - Presets"
        ],
        "summary": "Create a preset",
        "description": "Create a preset with a name, metric and a set of filters.",
        "operationId": "create_metrics_explorer_preset",
        "parameters": [
          {
            "name": "source",
            "in": "path",
            "required": true,
            "schema": {
              "description": "Source of the data",
              "examples": [
                "authentication",
                "authorization"
              ],
              "type": "string",
              "enum": [
                "authentication",
                "authorization",
                "monitoring"
              ],
              "title": "MetricsExplorerSource",
              "x-speakeasy-unknown-values": "allow"
            },
            "description": "Source of the data"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetricsExplorerPresetCreate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetricsExplorerPreset"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true
      }
    },
    "/metrics-explorer/{source}/presets/{preset_id}": {
      "put": {
        "tags": [
          "Insights - Presets"
        ],
        "summary": "Update a preset",
        "description": "Update a preset. This operation can only update the name of the preset.",
        "operationId": "update_metrics_explorer_preset",
        "parameters": [
          {
            "name": "source",
            "in": "path",
            "required": true,
            "schema": {
              "description": "Source of the data",
              "examples": [
                "authentication",
                "authorization"
              ],
              "type": "string",
              "enum": [
                "authentication",
                "authorization",
                "monitoring"
              ],
              "title": "MetricsExplorerSource",
              "x-speakeasy-unknown-values": "allow"
            },
            "description": "Source of the data"
          },
          {
            "name": "preset_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "ID of the preset to update",
              "examples": [
                "8ce33ea7-7a87-49b7-b661-65653630a185"
              ],
              "title": "Preset Id"
            },
            "description": "ID of the preset to update"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetricsExplorerPresetUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetricsExplorerPreset"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true
      },
      "delete": {
        "tags": [
          "Insights - Presets"
        ],
        "summary": "Delete a preset",
        "description": "Delete a preset.",
        "operationId": "delete_metrics_explorer_preset",
        "parameters": [
          {
            "name": "source",
            "in": "path",
            "required": true,
            "schema": {
              "description": "Source of the data",
              "examples": [
                "authentication",
                "authorization"
              ],
              "type": "string",
              "enum": [
                "authentication",
                "authorization",
                "monitoring"
              ],
              "title": "MetricsExplorerSource",
              "x-speakeasy-unknown-values": "allow"
            },
            "description": "Source of the data"
          },
          {
            "name": "preset_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "ID of the preset to delete",
              "examples": [
                "8ce33ea7-7a87-49b7-b661-65653630a185"
              ],
              "title": "Preset Id"
            },
            "description": "ID of the preset to delete"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "204": {
            "description": "Preset successfully deleted."
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true
      }
    },
    "/webhook-subscriptions": {
      "post": {
        "tags": [
          "Webhook subscriptions"
        ],
        "summary": "Create webhook subscription",
        "description": "Create a new webhook subscription to receive event notifications. Subscriptions allow you to specify a URL where webhook events will be delivered and configure authentication credentials to secure the webhook communication.",
        "operationId": "create_webhook_subscription",
        "parameters": [
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookSubscriptionCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSubscription"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true
      },
      "get": {
        "tags": [
          "Webhook subscriptions"
        ],
        "summary": "List webhook subscriptions",
        "description": "Retrieve a paginated list of all webhook subscriptions for your account. This endpoint returns subscription details including URLs, authentication methods, and active status. Use pagination parameters to navigate through large collections of subscriptions. Results are sorted by creation date, with the most recent subscriptions appearing first.",
        "operationId": "list_webhook_subscription",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 20,
              "title": "Limit"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSubscriptions"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true,
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        }
      }
    },
    "/webhook-subscriptions/{subscription_id}": {
      "put": {
        "tags": [
          "Webhook subscriptions"
        ],
        "summary": "Update webhook subscription",
        "description": "Update an existing webhook subscription's properties. You can modify the subscription URL, authentication details, or toggle the active status. Only the fields you include in your request will be updated, and all other properties will remain unchanged.",
        "operationId": "update_webhook_subscription",
        "parameters": [
          {
            "name": "subscription_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the webhook subscription",
              "examples": [
                "ef9496d8-53a5-4aad-8ca2-00eb68334389"
              ],
              "title": "Subscription Id"
            },
            "description": "The ID of the webhook subscription"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookSubscriptionUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSubscription"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true
      },
      "delete": {
        "tags": [
          "Webhook subscriptions"
        ],
        "summary": "Delete webhook subscription",
        "description": "Permanently removes a webhook subscription from your account. Once deleted, you will no longer receive event notifications at the subscription's URL. This action cannot be undone, and you'll need to create a new subscription if you want to receive webhooks at this endpoint again in the future.",
        "operationId": "delete_webhook_subscription",
        "parameters": [
          {
            "name": "subscription_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the webhook subscription",
              "examples": [
                "ef9496d8-53a5-4aad-8ca2-00eb68334389"
              ],
              "title": "Subscription Id"
            },
            "description": "The ID of the webhook subscription"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true
      },
      "get": {
        "tags": [
          "Webhook subscriptions"
        ],
        "summary": "Get webhook subscription",
        "description": "Retrieve detailed information about a specific webhook subscription. This endpoint returns the full configuration of a subscription including its URL, authentication details, active status, and signing secret information. Use this to verify your webhook subscription settings or retrieve details needed for webhook verification.",
        "operationId": "read_webhook_subscription",
        "parameters": [
          {
            "name": "subscription_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the webhook subscription",
              "examples": [
                "ef9496d8-53a5-4aad-8ca2-00eb68334389"
              ],
              "title": "Subscription Id"
            },
            "description": "The ID of the webhook subscription"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSubscription"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true,
        "x-speakeasy-retries": {
          "strategy": "backoff",
          "backoff": {
            "initialInterval": 200,
            "maxInterval": 200,
            "maxElapsedTime": 1000,
            "exponent": 1
          },
          "statusCodes": [
            "5XX"
          ],
          "retryConnectionErrors": true
        }
      }
    },
    "/webhook-subscriptions/{subscription_id}/rotate-secret": {
      "post": {
        "tags": [
          "Webhook subscriptions"
        ],
        "summary": "Rotate webhook subscription secret",
        "description": "Rotate the secret used to sign webhook payloads for improved security. This creates a new secret while keeping the old one valid for a specified grace period, allowing you to update your systems without disruption. The old secret will automatically expire after the specified transition period.",
        "operationId": "rotate_webhook_subscription_secret",
        "parameters": [
          {
            "name": "subscription_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "The ID of the webhook subscription",
              "examples": [
                "ef9496d8-53a5-4aad-8ca2-00eb68334389"
              ],
              "title": "Subscription Id"
            },
            "description": "The ID of the webhook subscription"
          },
          {
            "name": "x-gr4vy-merchant-account-id",
            "in": "header",
            "required": false,
            "description": "The ID of the merchant account to use for this request.",
            "x-speakeasy-name-override": "merchant_account_id",
            "schema": {
              "type": "string",
              "description": "The ID of the merchant account to use for this request.",
              "examples": [
                "default"
              ],
              "title": "X-Gr4Vy-Merchant-Account-Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookSubscriptionRotateSecret"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSubscription"
                }
              }
            }
          },
          "400": {
            "description": "The request was invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            }
          },
          "401": {
            "description": "The request was unauthorized.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401"
                }
              }
            }
          },
          "403": {
            "description": "The credentials were invalid or the caller did not have permission to act on the resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                }
              }
            }
          },
          "404": {
            "description": "The resource was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            }
          },
          "405": {
            "description": "The request method was not allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error405"
                }
              }
            }
          },
          "409": {
            "description": "A duplicate record was found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error409"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "425": {
            "description": "The request was too early.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error425"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests were made.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error429"
                }
              }
            }
          },
          "500": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            }
          },
          "502": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error502"
                }
              }
            }
          },
          "504": {
            "description": "The server encountered an error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error504"
                }
              }
            }
          }
        },
        "x-speakeasy-ignore": true
      }
    }
  },
  "components": {
    "schemas": {
      "ACHBankPaymentMethodCreate": {
        "properties": {
          "method": {
            "type": "string",
            "const": "bank",
            "title": "Method",
            "description": "Always `bank`.",
            "default": "bank",
            "examples": [
              "bank"
            ]
          },
          "account_holder": {
            "$ref": "#/components/schemas/BankAccountHolder",
            "description": "The account holder for this bank account"
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": "The ID of the buyer to attach the method to.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "buyer_external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer External Identifier",
            "description": "The merchant reference for this payment method.",
            "examples": [
              "payment-method-12345"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant identifier for this payment method.",
            "examples": [
              "payment-method-12345"
            ]
          },
          "scheme": {
            "type": "string",
            "const": "ach",
            "title": "Scheme",
            "description": "Always `ach`.",
            "default": "ach",
            "examples": [
              "ach"
            ]
          },
          "account_number": {
            "type": "string",
            "title": "Account Number",
            "description": "The account number for this ACH bank account",
            "examples": [
              "123456789"
            ]
          },
          "routing_number": {
            "type": "string",
            "title": "Routing Number",
            "description": "The routing number for this ACH bank account",
            "examples": [
              "000000111"
            ]
          },
          "is_tokenized": {
            "type": "boolean",
            "title": "Is Tokenized",
            "description": "Whether the account number is tokenized",
            "default": false,
            "examples": [
              false
            ]
          },
          "account_type": {
            "type": "string",
            "enum": [
              "checking",
              "savings"
            ],
            "title": "Account Type",
            "description": "Specify whether this is a `checking` or `savings` account. Defaults to `checking`.",
            "default": "checking",
            "examples": [
              "checking"
            ],
            "x-speakeasy-unknown-values": "allow"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "account_holder",
          "account_number",
          "routing_number"
        ],
        "title": "ACHBankPaymentMethodCreate",
        "description": "ACH Bank Payment Method\n\nBank Payment Method for ACH bank accounts."
      },
      "AIInsightsReportSpec": {
        "properties": {
          "model": {
            "type": "string",
            "const": "ai_insights",
            "title": "Model",
            "description": "The report model type.",
            "default": "ai_insights",
            "examples": [
              "ai_insights"
            ]
          },
          "params": {
            "additionalProperties": true,
            "type": "object",
            "title": "Params",
            "description": "The parameters for the AI insights report model.",
            "examples": [
              {
                "filters": {
                  "prompt_key": "payment_performance"
                }
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "params"
        ],
        "title": "AIInsightsReportSpec"
      },
      "APIKeyPair": {
        "properties": {
          "type": {
            "type": "string",
            "const": "api-key-pair",
            "title": "Type",
            "description": "The type of this resource.",
            "default": "api-key-pair"
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the API key pair.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "thumbprint": {
            "type": "string",
            "title": "Thumbprint",
            "description": "The unique thumbprint that identifies the API key pair.",
            "examples": [
              "6zsbrjs0Cp4M4Ebz8sfHqUKGiG9Sd0lF2sfKp5-w-nk"
            ]
          },
          "display_name": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "title": "Display Name",
            "description": "The display name for the API key pair.",
            "examples": [
              "Production key"
            ]
          },
          "algorithm": {
            "description": "The algorithm used to generate the API key pair.",
            "examples": [
              "ECDSA"
            ],
            "type": "string",
            "enum": [
              "ECDSA",
              "RSA"
            ],
            "title": "CertificateAlgorithm",
            "x-speakeasy-unknown-values": "allow"
          },
          "active": {
            "type": "boolean",
            "title": "Active",
            "description": "Whether the API key pair is active and can be used to authenticate.",
            "examples": [
              true
            ]
          },
          "private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Private Key",
            "description": "The PEM-encoded private key. Only returned once, in the response to creating the API key pair, and only when Gr4vy generated the key pair. Store it securely, as it cannot be retrieved later."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date and time when this API key pair was created.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date and time when this API key pair was last updated.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "last_used_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Used At",
            "description": "The date and time when this API key pair was last used to authenticate, or `null` if it has never been used.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "creator": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/api__routers__api_key_pairs__schemas__Creator"
              },
              {
                "type": "null"
              }
            ],
            "description": "The user or API key pair that created this API key pair."
          },
          "merchant_accounts": {
            "items": {
              "$ref": "#/components/schemas/MerchantAccountSummary"
            },
            "type": "array",
            "title": "Merchant Accounts",
            "description": "The merchant accounts this API key pair has access to. An empty list means it has access to all merchant accounts."
          },
          "roles": {
            "items": {
              "$ref": "#/components/schemas/Role"
            },
            "type": "array",
            "title": "Roles",
            "description": "The roles assigned to this API key pair."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "thumbprint",
          "display_name",
          "algorithm",
          "active",
          "created_at",
          "updated_at"
        ],
        "title": "APIKeyPair"
      },
      "APIKeyPairCreate": {
        "properties": {
          "display_name": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "title": "Display Name",
            "description": "The display name for the API key pair.",
            "examples": [
              "Production key"
            ]
          },
          "algorithm": {
            "description": "The algorithm to use to generate the API key pair.",
            "default": "ECDSA",
            "examples": [
              "ECDSA"
            ],
            "type": "string",
            "enum": [
              "ECDSA",
              "RSA"
            ],
            "title": "CertificateAlgorithm",
            "x-speakeasy-unknown-values": "allow"
          },
          "active": {
            "type": "boolean",
            "title": "Active",
            "description": "Whether the API key pair should be active and usable once created.",
            "default": true,
            "examples": [
              true
            ]
          },
          "role_ids": {
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "type": "array",
            "minItems": 1,
            "title": "Role Ids",
            "description": "The IDs of the roles to assign to the API key pair. The caller can only assign roles whose scopes are a subset of its own.",
            "examples": [
              [
                "8f4b8c1a-1b2c-4d3e-9f5a-6b7c8d9e0f1a",
                "2c9a7f3d-4e5b-4a6c-8d7e-9f0a1b2c3d4e"
              ]
            ]
          },
          "merchant_account_ids": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Merchant Account Ids",
            "description": "The IDs of the merchant accounts to associate with the API key pair. An empty list grants access to all merchant accounts. The caller can only assign merchant accounts it has access to.",
            "examples": [
              [
                "merchant-12345"
              ]
            ]
          },
          "public_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Public Key",
            "description": "A PEM-encoded ECDSA P-521 (ES512) public key. Provide this to register your own key pair (bring your own key); If omitted, Gr4vy will generate the key pair and return the private key.",
            "examples": [
              "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB...\n-----END PUBLIC KEY-----"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "display_name",
          "role_ids"
        ],
        "title": "APIKeyPairCreate"
      },
      "APIKeyPairUpdate": {
        "properties": {
          "display_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name",
            "description": "The display name for the API key pair.",
            "examples": [
              "Production key"
            ]
          },
          "active": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Active",
            "description": "Whether the API key pair is active and can be used to authenticate.",
            "examples": [
              true
            ]
          },
          "role_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "format": "uuid"
                },
                "type": "array",
                "minItems": 1,
                "description": "The IDs of the roles to assign to the API key pair, replacing the roles it currently has. The caller can only assign roles whose scopes are a subset of its own.",
                "examples": [
                  [
                    "8f4b8c1a-1b2c-4d3e-9f5a-6b7c8d9e0f1a",
                    "2c9a7f3d-4e5b-4a6c-8d7e-9f0a1b2c3d4e"
                  ]
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Role Ids"
          },
          "merchant_account_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Account Ids",
            "description": "The IDs of the merchant accounts to associate with the API key pair. The caller can only assign merchant accounts it has access to.",
            "examples": [
              [
                "merchant-12345"
              ]
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "APIKeyPairUpdate"
      },
      "AVSResponseCode": {
        "type": "string",
        "enum": [
          "match",
          "no_match",
          "partial_match_address",
          "partial_match_postcode",
          "partial_match_name",
          "unavailable"
        ],
        "title": "AVSResponseCode",
        "x-speakeasy-unknown-values": "allow"
      },
      "AccountUpdaterInquirySummary": {
        "properties": {
          "type": {
            "type": "string",
            "const": "account-updater-inquiry",
            "title": "Type",
            "description": "Always `account-updater-inquiry`",
            "default": "account-updater-inquiry",
            "examples": [
              "account-updater-inquiry"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the account updater inquiry.",
            "examples": [
              "aadb3ea8-5ad6-408b-8c3d-82da77c8d619"
            ]
          },
          "payment_method_id": {
            "type": "string",
            "format": "uuid",
            "title": "Payment Method Id",
            "description": "The ID of the payment method",
            "examples": [
              "ef9496d8-53a5-4aad-8ca2-00eb68334389"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "payment_method_id"
        ],
        "title": "AccountUpdaterInquirySummary"
      },
      "AccountUpdaterJob": {
        "properties": {
          "type": {
            "type": "string",
            "const": "account-updater-job",
            "title": "Type",
            "description": "Always `account-updater-job`",
            "default": "account-updater-job",
            "examples": [
              "account-updater-job"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the account updater job.",
            "examples": [
              "cc18c7c6-c1d4-4194-92a7-d5a985108b68"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "The ID of the merchant account this job belongs to.",
            "examples": [
              "default"
            ]
          },
          "inquiries": {
            "items": {
              "$ref": "#/components/schemas/AccountUpdaterInquirySummary"
            },
            "type": "array",
            "title": "Inquiries",
            "description": "A list of the payment methods that have been scheduled for an update."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date and time when this payment method was first created in our system.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date and time when this payment method was last updated in our system.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "merchant_account_id",
          "inquiries",
          "created_at",
          "updated_at"
        ],
        "title": "AccountUpdaterJob"
      },
      "AccountUpdaterJobCreate": {
        "properties": {
          "payment_method_ids": {
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "type": "array",
            "maxItems": 100,
            "minItems": 1,
            "uniqueItems": true,
            "title": "Payment Method Ids",
            "description": "A list of payment method IDs to request an update for.",
            "examples": [
              [
                "ef9496d8-53a5-4aad-8ca2-00eb68334389",
                "f29e886e-93cc-4714-b4a3-12b7a718e595"
              ]
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "payment_method_ids"
        ],
        "title": "AccountUpdaterJobCreate"
      },
      "AccountsReceivablesReportSpec": {
        "properties": {
          "model": {
            "type": "string",
            "const": "accounts_receivables",
            "title": "Model",
            "description": "The report model type.",
            "default": "accounts_receivables",
            "examples": [
              "accounts_receivables"
            ]
          },
          "params": {
            "additionalProperties": true,
            "type": "object",
            "title": "Params",
            "description": "The parameters for the accounts receivables report model.",
            "examples": [
              {
                "filters": {
                  "timestamp": {
                    "end": "2024-05-31T23:59:59Z",
                    "start": "2024-05-01T00:00:00Z"
                  }
                }
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "params"
        ],
        "title": "AccountsReceivablesReportSpec"
      },
      "AdditionalSchemeDetail": {
        "properties": {
          "scheme": {
            "description": "The card scheme/network.",
            "examples": [
              "eftpos-australia"
            ],
            "type": "string",
            "enum": [
              "accel",
              "amex",
              "bancontact",
              "carte-bancaire",
              "cirrus",
              "culiance",
              "dankort",
              "diners-club",
              "discover",
              "eftpos-australia",
              "elo",
              "hipercard",
              "jcb",
              "maestro",
              "mastercard",
              "mir",
              "nyce",
              "other",
              "pulse",
              "qcard",
              "rupay",
              "star",
              "uatp",
              "unionpay",
              "visa"
            ],
            "title": "CardScheme",
            "x-speakeasy-unknown-values": "allow"
          },
          "icon_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Icon Url",
            "description": "URL to the card scheme's icon. Null when the scheme has no icon.",
            "examples": [
              "https://cdn.example.gr4vy.app/assets/icons/card-schemes/eftpos-australia.svg"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "scheme",
          "icon_url"
        ],
        "title": "AdditionalSchemeDetail"
      },
      "Address": {
        "properties": {
          "city": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "City",
            "description": "The city for the address.",
            "examples": [
              "San Jose"
            ]
          },
          "country": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "examples": [
                  "DE",
                  "GB",
                  "US"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Country",
            "description": "The country for the address in ISO 3166 format.",
            "examples": [
              "US"
            ]
          },
          "postal_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Postal Code",
            "description": "The postal code or zip code for the address.",
            "examples": [
              "94560"
            ]
          },
          "state": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "State",
            "description": "The state, county, or province for the address.",
            "examples": [
              "California"
            ]
          },
          "state_code": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}-[A-Z0-9]{1,3}$",
                "examples": [
                  "GB-LND",
                  "US-CA"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "State Code",
            "description": "The code of state, county, or province for the address in ISO 3166-2 format.",
            "examples": [
              "US-CA"
            ]
          },
          "house_number_or_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "House Number Or Name",
            "description": "The house number or name for the address. Not all payment services use this field but some do.",
            "examples": [
              "10"
            ]
          },
          "line1": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Line1",
            "description": "The first line of the address.",
            "examples": [
              "Stafford Appartments"
            ]
          },
          "line2": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Line2",
            "description": "The second line of the address.",
            "examples": [
              "29th Street"
            ]
          },
          "organization": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Organization",
            "description": "The optional name of the company or organisation to add to the address.",
            "examples": [
              "Gr4vy"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "Address"
      },
      "Airline": {
        "properties": {
          "booking_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Booking Code",
            "description": "The unique identifier of the reservation in the global distribution system.",
            "examples": [
              "X36Q9C"
            ]
          },
          "is_cardholder_traveling": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Cardholder Traveling",
            "description": "Indicates whether the cardholder is traveling.",
            "examples": [
              true
            ]
          },
          "issued_address": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Issued Address",
            "description": "The address of the place/agency that issued the ticket.",
            "examples": [
              "123 Broadway, New York"
            ]
          },
          "issued_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Issued At",
            "description": "The date that the ticket was last issued in the airline reservation system.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "issuing_carrier_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 3,
                "minLength": 2
              },
              {
                "type": "null"
              }
            ],
            "title": "Issuing Carrier Code",
            "description": "For airline aggregators, three-character IATA code of the airline issuing the ticket.",
            "examples": [
              "649"
            ]
          },
          "issuing_carrier_name": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Issuing Carrier Name",
            "description": "For airline aggregators, name of the airline issuing the ticket.",
            "examples": [
              "Air Transat A.T. Inc"
            ]
          },
          "issuing_iata_designator": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2,
                "minLength": 2
              },
              {
                "type": "null"
              }
            ],
            "title": "Issuing Iata Designator",
            "description": "For airline aggregators, two-character IATA code of the airline issuing the ticket.",
            "examples": [
              "TS"
            ]
          },
          "issuing_icao_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 3,
                "minLength": 3
              },
              {
                "type": "null"
              }
            ],
            "title": "Issuing Icao Code",
            "description": "For airline aggregators, three-character ICAO code of the airline issuing the ticket.",
            "examples": [
              "TSC"
            ]
          },
          "legs": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/AirlineLeg"
                },
                "type": "array",
                "maxItems": 20
              },
              {
                "type": "null"
              }
            ],
            "title": "Legs",
            "description": "An array of separate trip segments. Each leg contains detailed itinerary information."
          },
          "passenger_name_record": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Passenger Name Record",
            "description": "The Passenger Name Record (PNR) in the airline reservation system.",
            "examples": [
              "JOHN L"
            ]
          },
          "passengers": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/AirlinePassenger"
                },
                "type": "array",
                "maxItems": 20
              },
              {
                "type": "null"
              }
            ],
            "title": "Passengers",
            "description": "An array of the travelling passengers."
          },
          "reservation_system": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Reservation System",
            "description": "The name of the reservation system.",
            "examples": [
              "Amadeus"
            ]
          },
          "restricted_ticket": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Restricted Ticket",
            "description": "Indicates whether the ticket is restricted (refundable).",
            "examples": [
              false
            ]
          },
          "ticket_delivery_method": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "electronic",
                  "other"
                ],
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ticket Delivery Method",
            "description": "The delivery method of the ticket.",
            "default": "electronic",
            "examples": [
              "electronic"
            ]
          },
          "ticket_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Ticket Number",
            "description": "The airline's unique ticket number.",
            "examples": [
              "123-1234-151555"
            ]
          },
          "travel_agency_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Travel Agency Code",
            "description": "The IATA travel agency code.",
            "examples": [
              "12345"
            ]
          },
          "travel_agency_invoice_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Travel Agency Invoice Number",
            "description": "The reference number of the invoice that was issued by the travel agency.",
            "examples": [
              "EG15555155"
            ]
          },
          "travel_agency_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Travel Agency Name",
            "description": "The name of the travel agency.",
            "examples": [
              "ACME Agency"
            ]
          },
          "travel_agency_plan_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Travel Agency Plan Name",
            "description": "The name of the travel agency plan.",
            "examples": [
              "B733"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "Airline",
        "description": "Information about an airline travel."
      },
      "AirlineLeg": {
        "properties": {
          "arrival_airport": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 3,
                "minLength": 3
              },
              {
                "type": "null"
              }
            ],
            "title": "Arrival Airport",
            "description": "Arrival airport code of leg. 3-letter ISO code according to IATA official directory.",
            "examples": [
              "LAX"
            ]
          },
          "arrival_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Arrival At",
            "description": "The date and time of travel in local time at the arrival airport.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "arrival_city": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Arrival City",
            "description": "Arrival city name.",
            "examples": [
              "Los Angeles"
            ]
          },
          "arrival_country": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "examples": [
                  "DE",
                  "GB",
                  "US"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Arrival Country",
            "description": "Arrival country code in ISO 3166 format.",
            "examples": [
              "US"
            ]
          },
          "carrier_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 3,
                "minLength": 2
              },
              {
                "type": "null"
              }
            ],
            "title": "Carrier Code",
            "description": "3 character airline code as set by IATA.",
            "examples": [
              "649"
            ]
          },
          "carrier_name": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Carrier Name",
            "description": "Name of the airline.",
            "examples": [
              "Air Transat A.T. Inc"
            ]
          },
          "iata_designator": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2,
                "minLength": 2
              },
              {
                "type": "null"
              }
            ],
            "title": "Iata Designator",
            "description": "Two-character IATA code of the airline.",
            "examples": [
              "TS"
            ]
          },
          "icao_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 3,
                "minLength": 3
              },
              {
                "type": "null"
              }
            ],
            "title": "Icao Code",
            "description": "Three-character ICAO code of the airline.",
            "examples": [
              "TSC"
            ]
          },
          "coupon_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Coupon Number",
            "description": "Coupon number associated with the leg.",
            "examples": [
              "15885566"
            ]
          },
          "departure_airport": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 3,
                "minLength": 3
              },
              {
                "type": "null"
              }
            ],
            "title": "Departure Airport",
            "description": "Departure airport code of leg. 3-letter ISO code according to IATA official directory.",
            "examples": [
              "LHR"
            ]
          },
          "departure_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Departure At",
            "description": "The date and time of travel in local time at the departure airport.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "departure_city": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Departure City",
            "description": "Departure city name.",
            "examples": [
              "London"
            ]
          },
          "departure_country": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "examples": [
                  "DE",
                  "GB",
                  "US"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Departure Country",
            "description": "Departure airport code of leg. 3-letter ISO code according to IATA official directory.",
            "examples": [
              "GB"
            ]
          },
          "departure_tax_amount": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Departure Tax Amount",
            "description": "Departure tax amount charged by a country when a person is leaving the country.",
            "examples": [
              1200
            ]
          },
          "fare_amount": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Fare Amount",
            "description": "Amount of the ticket, for current leg of the trip, excluding taxes and fees.",
            "examples": [
              129900
            ]
          },
          "fare_basis_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 8,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Fare Basis Code",
            "description": "The alphanumeric code for the booking class of a ticket.",
            "examples": [
              "FY"
            ]
          },
          "fee_amount": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Fee Amount",
            "description": "Fee amount for current leg of the trip.",
            "examples": [
              1200
            ]
          },
          "flight_class": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 5,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Flight Class",
            "description": "Indicates service class (first class, business class, etc.).",
            "examples": [
              "E"
            ]
          },
          "flight_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 6,
                "minLength": 3
              },
              {
                "type": "null"
              }
            ],
            "title": "Flight Number",
            "description": "Unique identifier of the flight number.",
            "examples": [
              "101"
            ]
          },
          "route_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "round_trip",
                  "one_way"
                ],
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "title": "Route Type",
            "description": "The route type of the flight.",
            "examples": [
              "round_trip"
            ]
          },
          "seat_class": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 5,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Seat Class",
            "description": "Indicates seat class (first class, business class, etc.).",
            "examples": [
              "F"
            ]
          },
          "stop_over": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Stop Over",
            "description": "Indicates whether a stopover is allowed on this ticket.",
            "examples": [
              false
            ]
          },
          "tax_amount": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Tax Amount",
            "description": "Amount of the taxes for current leg of the trip.",
            "examples": [
              1200
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "AirlineLeg"
      },
      "AirlinePassenger": {
        "properties": {
          "age_group": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "adult",
                  "infant"
                ],
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "title": "Age Group",
            "description": "The age group for the passenger.",
            "examples": [
              "adult"
            ]
          },
          "date_of_birth": {
            "anyOf": [
              {
                "type": "string",
                "format": "date"
              },
              {
                "type": "null"
              }
            ],
            "title": "Date Of Birth",
            "description": "The passenger's date of birth in YYYY-MM-YY format.",
            "examples": [
              "2013-07-16"
            ]
          },
          "email_address": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 320,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Email Address",
            "description": "The email address of the passenger.",
            "examples": [
              "john@example.com"
            ]
          },
          "first_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "First Name",
            "description": "The first name(s) or given name of the passenger.",
            "examples": [
              "John"
            ]
          },
          "frequent_flyer_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50,
                "minLength": 5
              },
              {
                "type": "null"
              }
            ],
            "title": "Frequent Flyer Number",
            "description": "The passenger's frequent flyer number.",
            "examples": [
              "15885566"
            ]
          },
          "last_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Name",
            "description": "The last name, or family name, of the passenger.",
            "examples": [
              "Luhn"
            ]
          },
          "passport_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Passport Number",
            "description": "The passenger's unique passport number.",
            "examples": [
              "11117700225"
            ]
          },
          "phone_number": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\+[1-9]\\d{1,14}$",
                "examples": [
                  "+14155552671",
                  "+442071838750"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Phone Number",
            "description": "The phone number of the passenger. This number is formatted according to the E164 number standard.",
            "examples": [
              "+1234567890"
            ]
          },
          "ticket_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Ticket Number",
            "description": "The ticket number for a flight.",
            "examples": [
              "BA1236699999"
            ]
          },
          "title": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Title",
            "description": "Title of the passenger.",
            "examples": [
              "Mr."
            ]
          },
          "country_code": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "examples": [
                  "DE",
                  "GB",
                  "US"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Country Code",
            "description": "The country of residence of the passenger",
            "examples": [
              "US"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "AirlinePassenger"
      },
      "AntiFraudDecision": {
        "type": "string",
        "enum": [
          "accept",
          "error",
          "exception",
          "reject",
          "review",
          "skipped",
          "pending"
        ],
        "title": "AntiFraudDecision",
        "x-speakeasy-unknown-values": "allow"
      },
      "ApplePayPaymentMethodCreate": {
        "properties": {
          "buyer_external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer External Identifier",
            "description": "The external identifier of the buyer to create a payment for.",
            "examples": [
              "buyer-12345"
            ]
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": "The ID of the buyer to retrieve billing details for.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "cardholder_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Cardholder Name",
            "description": "The card holder name associated to the original card for the token.",
            "examples": [
              "John Luhn"
            ]
          },
          "redirect_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "pattern": "^data:application/json;base64,.*$",
                "examples": [
                  "data:application/json;base64,eyJ0YXJnZXQiOiAib3BlbmVyIiwgImNoYW5uZWwiOiAiY2hhbm5lbCIsICJvcmlnaW5fdXJsIjogImh0dHBzOi8vZ3I0dnkuYXBwIn0="
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Redirect Url",
            "description": "The URL to redirect a user back to after the complete 3DS in browser.",
            "examples": [
              "https://example.com"
            ]
          },
          "card_suffix": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4,
                "minLength": 4
              },
              {
                "type": "null"
              }
            ],
            "title": "Card Suffix",
            "description": "The last 4 digits of the original card used to generate the token.",
            "examples": [
              "1234"
            ]
          },
          "card_scheme": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Card Scheme",
            "description": "The original card scheme for which the token was generated.",
            "examples": [
              "visa"
            ]
          },
          "card_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Card Type",
            "description": "The payment scheme of the card.",
            "examples": [
              "credit"
            ]
          },
          "method": {
            "type": "string",
            "const": "applepay",
            "title": "Method",
            "description": "Always `applepay`",
            "examples": [
              "applepay"
            ]
          },
          "token": {
            "additionalProperties": true,
            "type": "object",
            "title": "Token",
            "description": "The opaque token as received from the Apple Pay JS library. This format may change between JS library versions.",
            "examples": [
              {
                "paymentData": {
                  "data": "fU2SY4yjz/F8YkFMPjlbsY5uuIK3glAb3bJw2PZOSMld41CDqbGwBIXw6rVIPIzSvPtGoDwmWvzOT1AG8iOxPknMpaZmg4OKis/CtNpTNIbLR8VwuRzK3O7iffLiA17rnV8osXycxZPQrwSJIQl8XSMHfaU4bJW/X6hAlMiHJv5g22F7kFKNQyAkL3yX1F9Q4pZK8T9JW/jXoho30njRllrI+swinZ7Hyk4KaYw65HeAiPSWbPqWQZcjJX074CSk8y41nfTyCu+WoQnOpgMruRZS2AoxRc/cgk1/1tjwqDT4dyPRxZLZjyn7lHGTbIxZjrQ8kvSFcY6V4BxgMJqgEoZrxljS8cY7BBmUadGK7tkTp4oGCPvQ8RxPxPIfEU+7LAg8t1BBP+8yEVGOHGlBVRuiav/JYYq1xgIc/PFHTYw=",
                  "header": {
                    "ephemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgu7sidxY7MBgu5TPZdLJk4as3VnQ8IAD+qX0KLemH0rP+Nw0O9CdiNjAlYdtIvyfAgj7Lo7cB5ZQvjR3HsOR1w==",
                    "publicKeyHash": "lfaT/5QFZe4Cnb1T4j3hsgLJJdtVvMhfB/4EBx9rOQI=",
                    "transactionId": "bf84ca75845426f3faa1bdb30d07db9ef1cf68bdff766c57b44e45e0780d0b83"
                  },
                  "signature": "MIAGCSqGSIb3DQEHAqCAMIACAQExDTALBglghkgBZQMEAgEwgAYJKoZIhvcNAQcBAACggDCCA+QwggOLoAMCAQICCFnYobyq9OPNMAoGCCqGSM49BAMCMHoxLjAsBgNVBAMMJUFwcGxlIEFwcGxpY2F0aW9uIEludGVncmF0aW9uIENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0yMTA0MjAxOTM3MDBaFw0yNjA0MTkxOTM2NTlaMGIxKDAmBgNVBAMMH2VjYy1zbXAtYnJva2VyLXNpZ25fVUM0LVNBTkRCT1gxFDASBgNVBAsMC2lPUyBTeXN0ZW1zMRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABIIw/avDnPdeICxQ2ZtFEuY34qkB3Wyz4LHNS1JnmPjPTr3oGiWowh5MM93OjiqWwvavoZMDRcToekQmzpUbEpWjggIRMIICDTAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFCPyScRPk+TvJ+bE9ihsP6K7/S5LMEUGCCsGAQUFBwEBBDkwNzA1BggrBgEFBQcwAYYpaHR0cDovL29jc3AuYXBwbGUuY29tL29jc3AwNC1hcHBsZWFpY2EzMDIwggEdBgNVHSAEggEUMIIBEDCCAQwGCSqGSIb3Y2QFATCB/jCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjA2BggrBgEFBQcCARYqaHR0cDovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNhdGVhdXRob3JpdHkvMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwuYXBwbGUuY29tL2FwcGxlYWljYTMuY3JsMB0GA1UdDgQWBBQCJDALmu7tRjGXpKZaKZ5CcYIcRTAOBgNVHQ8BAf8EBAMCB4AwDwYJKoZIhvdjZAYdBAIFADAKBggqhkjOPQQDAgNHADBEAiB0obMk20JJQw3TJ0xQdMSAjZofSA46hcXBNiVmMl+8owIgaTaQU6v1C1pS+fYATcWKrWxQp9YIaDeQ4Kc60B5K2YEwggLuMIICdaADAgECAghJbS+/OpjalzAKBggqhkjOPQQDAjBnMRswGQYDVQQDDBJBcHBsZSBSb290IENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0xNDA1MDYyMzQ2MzBaFw0yOTA1MDYyMzQ2MzBaMHoxLjAsBgNVBAMMJUFwcGxlIEFwcGxpY2F0aW9uIEludGVncmF0aW9uIENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABPAXEYQZ12SF1RpeJYEHduiAou/ee65N4I38S5PhM1bVZls1riLQl3YNIk57ugj9dhfOiMt2u2ZwvsjoKYT/VEWjgfcwgfQwRgYIKwYBBQUHAQEEOjA4MDYGCCsGAQUFBzABhipodHRwOi8vb2NzcC5hcHBsZS5jb20vb2NzcDA0LWFwcGxlcm9vdGNhZzMwHQYDVR0OBBYEFCPyScRPk+TvJ+bE9ihsP6K7/S5LMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUu7DeoVgziJqkipnevr3rr9rLJKswNwYDVR0fBDAwLjAsoCqgKIYmaHR0cDovL2NybC5hcHBsZS5jb20vYXBwbGVyb290Y2FnMy5jcmwwDgYDVR0PAQH/BAQDAgEGMBAGCiqGSIb3Y2QGAg4EAgUAMAoGCCqGSM49BAMCA2cAMGQCMDrPcoNRFpmxhvs1w1bKYr/0F+3ZD3VNoo6+8ZyBXkK3ifiY95tZn5jVQQ2PnenC/gIwMi3VRCGwowV3bF3zODuQZ/0XfCwhbZZPxnJpghJvVPh6fRuZy5sJiSFhBpkPCZIdAAAxggGJMIIBhQIBATCBhjB6MS4wLAYDVQQDDCVBcHBsZSBBcHBsaWNhdGlvbiBJbnRlZ3JhdGlvbiBDQSAtIEczMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMCCFnYobyq9OPNMAsGCWCGSAFlAwQCAaCBkzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yNTA0MDExMzQyMDlaMCgGCSqGSIb3DQEJNDEbMBkwCwYJYIZIAWUDBAIBoQoGCCqGSM49BAMCMC8GCSqGSIb3DQEJBDEiBCAj19NXaH9dIlnGZE2eRBi8ZPb6PtUF3wGPm66tjfROGjAKBggqhkjOPQQDAgRIMEYCIQDO0qfGETOUHRJNDO86J12oucqVeEOap6shJ5iGsAeupgIhAPO8YJKyYYdPFxU+VFkLAlMdbIxgOuDV54SdLCSQ/xI0AAAAAAAA",
                  "version": "EC_v1"
                },
                "paymentMethod": {
                  "displayName": "Visa 0224",
                  "network": "Visa",
                  "type": "debit"
                },
                "transactionIdentifier": "bf84ca75845426f3faa1bdb30d07db9ef1cf68bdff766c57b44e45e0780d0b83"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "method",
          "token"
        ],
        "title": "ApplePayPaymentMethodCreate",
        "description": "Create an Apple Pay transaction with a device or merchant token."
      },
      "ApplePaySession": {
        "properties": {},
        "additionalProperties": true,
        "type": "object",
        "title": "ApplePaySession"
      },
      "ApplePaySessionRequest": {
        "properties": {
          "validation_url": {
            "type": "string",
            "title": "Validation Url",
            "description": "The validation URL as provided by the Apple SDK when processing a payment.",
            "examples": [
              "https://apple-pay-gateway-cert.apple.com"
            ]
          },
          "domain_name": {
            "type": "string",
            "title": "Domain Name",
            "description": "The domain on which Apple Pay is being loaded.",
            "examples": [
              "example.com"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "validation_url",
          "domain_name"
        ],
        "title": "ApplePaySessionRequest"
      },
      "ApprovalTarget": {
        "type": "string",
        "enum": [
          "new_window",
          "any"
        ],
        "title": "ApprovalTarget",
        "x-speakeasy-unknown-values": "allow"
      },
      "AuditLogAction": {
        "type": "string",
        "enum": [
          "created",
          "updated",
          "deleted",
          "voided",
          "canceled",
          "captured"
        ],
        "title": "AuditLogAction",
        "x-speakeasy-unknown-values": "allow"
      },
      "AuditLogEntries": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/AuditLogEntry"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          },
          "limit": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "description": "The number of items for this page.",
            "default": 20,
            "examples": [
              20
            ]
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "The cursor pointing at the next page of items.",
            "examples": [
              "ZXhhbXBsZTE"
            ]
          },
          "previous_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Cursor",
            "description": "The cursor pointing at the previous page of items.",
            "examples": [
              "Xkjss7asS"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "AuditLogEntries"
      },
      "AuditLogEntry": {
        "properties": {
          "type": {
            "type": "string",
            "const": "audit-log",
            "title": "Type",
            "description": "Always `audit-log`.",
            "default": "audit-log",
            "examples": [
              "audit-log"
            ]
          },
          "id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id",
            "description": "The ID for the audit log entry.",
            "examples": [
              "8d3fe99b-1422-42e6-bbb3-932d95ae5f79"
            ]
          },
          "merchant_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Account Id",
            "description": "The ID of the merchant account this entry was created for.",
            "examples": [
              "default"
            ]
          },
          "resource": {
            "$ref": "#/components/schemas/AuditLogEntryResource",
            "description": "The resource that was changed."
          },
          "action": {
            "description": "The action that was performed.",
            "examples": [
              "created"
            ],
            "type": "string",
            "enum": [
              "created",
              "updated",
              "deleted",
              "voided",
              "canceled",
              "captured"
            ],
            "title": "AuditLogAction",
            "x-speakeasy-unknown-values": "allow"
          },
          "user": {
            "$ref": "#/components/schemas/AuditLogEntryUser",
            "description": "The user who performed the action."
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "title": "Timestamp",
            "description": "The date and time that the action was performed.",
            "examples": [
              "2022-01-01T00:00:00+00:00"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "resource",
          "action",
          "user",
          "timestamp"
        ],
        "title": "AuditLogEntry"
      },
      "AuditLogEntryResource": {
        "properties": {
          "type": {
            "type": "string",
            "title": "Type",
            "description": " The type of the resource.",
            "examples": [
              "user"
            ]
          },
          "id": {
            "type": "string",
            "title": "Id",
            "description": "The ID of the resource.",
            "examples": [
              "d0f98bc9-8915-413c-a1de-d853eb658c1b"
            ]
          },
          "name": {
            "type": "string",
            "title": "Name",
            "description": "The descriptive name of the resource.",
            "examples": [
              "Jane Zoe"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "type",
          "id",
          "name"
        ],
        "title": "AuditLogEntryResource"
      },
      "AuditLogEntryUser": {
        "properties": {
          "type": {
            "type": "string",
            "const": "user",
            "title": "Type",
            "description": "Always `user`.",
            "default": "user",
            "examples": [
              "user"
            ]
          },
          "id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id",
            "description": "The ID of the user.",
            "examples": [
              "14b7b8c5-a6ba-4fb6-bbab-52d43c7f37ef"
            ]
          },
          "name": {
            "type": "string",
            "title": "Name",
            "description": "The name of the user.",
            "examples": [
              "John Doe"
            ]
          },
          "email_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email Address",
            "description": "The email address for this user.",
            "examples": [
              "john@example.com"
            ]
          },
          "is_staff": {
            "type": "boolean",
            "title": "Is Staff",
            "description": "Whether this is a Gr4vy staff user.",
            "examples": [
              false
            ]
          },
          "status": {
            "description": "The status of the user.",
            "examples": [
              "active"
            ],
            "type": "string",
            "enum": [
              "active",
              "pending",
              "deleted"
            ],
            "title": "UserStatus",
            "x-speakeasy-unknown-values": "allow"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "name",
          "is_staff",
          "status"
        ],
        "title": "AuditLogEntryUser"
      },
      "BACSBankPaymentMethodCreate": {
        "properties": {
          "method": {
            "type": "string",
            "const": "bank",
            "title": "Method",
            "description": "Always `bank`.",
            "default": "bank",
            "examples": [
              "bank"
            ]
          },
          "account_holder": {
            "$ref": "#/components/schemas/BankAccountHolder",
            "description": "The account holder for this bank account"
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": "The ID of the buyer to attach the method to.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "buyer_external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer External Identifier",
            "description": "The merchant reference for this payment method.",
            "examples": [
              "payment-method-12345"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant identifier for this payment method.",
            "examples": [
              "payment-method-12345"
            ]
          },
          "scheme": {
            "type": "string",
            "const": "bacs",
            "title": "Scheme",
            "description": "Always `bacs`.",
            "default": "bacs",
            "examples": [
              "bacs"
            ]
          },
          "account_number": {
            "type": "string",
            "title": "Account Number",
            "description": "The account number for this BACS bank account",
            "examples": [
              "12345678"
            ]
          },
          "routing_number": {
            "type": "string",
            "title": "Routing Number",
            "description": "The sort code for this BACS bank account",
            "examples": [
              "11-22-33"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "account_holder",
          "account_number",
          "routing_number"
        ],
        "title": "BACSBankPaymentMethodCreate",
        "description": "BACS Bank Payment Method\n\nBank Payment Method for BACS bank accounts."
      },
      "BankAccountHolder": {
        "properties": {
          "first_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "First Name",
            "description": "The account holder's first name",
            "examples": [
              "John"
            ]
          },
          "last_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Name",
            "description": "The account holder's last name",
            "examples": [
              "Doe"
            ]
          },
          "company_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Company Name",
            "description": "The account holder's company name",
            "examples": [
              "Gr4vy"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "BankAccountHolder"
      },
      "BaseBankPaymentMethodCreate": {
        "properties": {
          "method": {
            "type": "string",
            "const": "bank",
            "title": "Method",
            "description": "Always `bank`.",
            "default": "bank",
            "examples": [
              "bank"
            ]
          },
          "account_holder": {
            "$ref": "#/components/schemas/BankAccountHolder",
            "description": "The account holder for this bank account"
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": "The ID of the buyer to attach the method to.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "buyer_external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer External Identifier",
            "description": "The merchant reference for this payment method.",
            "examples": [
              "payment-method-12345"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant identifier for this payment method.",
            "examples": [
              "payment-method-12345"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "account_holder"
        ],
        "title": "BaseBankPaymentMethodCreate",
        "description": "Base class for Bank Payment Methods."
      },
      "GenericModel": {
        "properties": {},
        "additionalProperties": false,
        "type": "object",
        "title": "BaseModel"
      },
      "BasicAuthentication": {
        "properties": {
          "type": {
            "type": "string",
            "const": "webhook-authentication",
            "title": "Type",
            "description": "Type of resource for webhook authentication.",
            "default": "webhook-authentication",
            "examples": [
              "webhook-authentication"
            ]
          },
          "kind": {
            "type": "string",
            "const": "basic",
            "title": "Kind",
            "description": "Type of authentication for webhook request.",
            "default": "basic",
            "examples": [
              "basic"
            ]
          },
          "username": {
            "type": "string",
            "title": "Username",
            "description": "The username value for basic auth.",
            "examples": [
              "gr4vy"
            ]
          },
          "password": {
            "type": "string",
            "const": "********",
            "title": "Password",
            "description": "The masked password value for basic auth.",
            "default": "********",
            "examples": [
              "********"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "username"
        ],
        "title": "BasicAuthentication"
      },
      "BasicAuthenticationCreate": {
        "properties": {
          "kind": {
            "type": "string",
            "const": "basic",
            "title": "Kind",
            "description": "Type of authentication for webhook request.",
            "default": "basic",
            "examples": [
              "basic"
            ]
          },
          "username": {
            "type": "string",
            "title": "Username",
            "description": "The username value for basic auth.",
            "examples": [
              "gr4vy"
            ]
          },
          "password": {
            "type": "string",
            "title": "Password",
            "description": "The password value for basic auth.",
            "examples": [
              "super-strong-password"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "username",
          "password"
        ],
        "title": "BasicAuthenticationCreate"
      },
      "BillingDetails": {
        "properties": {
          "first_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "First Name",
            "description": "The first name(s) or given name for the buyer.",
            "examples": [
              "John"
            ]
          },
          "last_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Name",
            "description": "The last name, or family name, of the buyer.",
            "examples": [
              "Doe"
            ]
          },
          "email_address": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 320,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Email Address",
            "description": "The email address for the buyer.",
            "examples": [
              "john@example.com"
            ]
          },
          "phone_number": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\+[1-9]\\d{1,14}$",
                "examples": [
                  "+14155552671",
                  "+442071838750"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Phone Number",
            "description": "The phone number for the buyer which should be formatted according to the E164 number standard.",
            "examples": [
              "+1234567890"
            ]
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Address"
              },
              {
                "type": "null"
              }
            ],
            "description": "The billing address for the buyer."
          },
          "tax_id": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaxId"
              },
              {
                "type": "null"
              }
            ],
            "description": "The tax ID information associated with the billing details."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "BillingDetails"
      },
      "BrowserInfo": {
        "properties": {
          "javascript_enabled": {
            "type": "boolean",
            "title": "Javascript Enabled"
          },
          "java_enabled": {
            "type": "boolean",
            "title": "Java Enabled"
          },
          "language": {
            "type": "string",
            "title": "Language"
          },
          "color_depth": {
            "type": "integer",
            "title": "Color Depth"
          },
          "screen_height": {
            "type": "integer",
            "title": "Screen Height"
          },
          "screen_width": {
            "type": "integer",
            "title": "Screen Width"
          },
          "time_zone_offset": {
            "type": "integer",
            "title": "Time Zone Offset"
          },
          "user_agent": {
            "type": "string",
            "title": "User Agent",
            "description": "Exact content of the HTTP user-agent header.",
            "examples": [
              "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
            ]
          },
          "user_device": {
            "type": "string",
            "enum": [
              "desktop",
              "mobile"
            ],
            "title": "User Device",
            "description": "The platform that is being used to access the website.",
            "examples": [
              "desktop"
            ],
            "x-speakeasy-unknown-values": "allow"
          },
          "accept_header": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Accept Header",
            "description": "The Accept header of the request from the buyer's browser.",
            "examples": [
              "*/*"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "javascript_enabled",
          "java_enabled",
          "language",
          "color_depth",
          "screen_height",
          "screen_width",
          "time_zone_offset",
          "user_agent",
          "user_device"
        ],
        "title": "BrowserInfo",
        "description": "Merchant provided browser info"
      },
      "Buyer": {
        "properties": {
          "type": {
            "type": "string",
            "const": "buyer",
            "title": "Type",
            "description": "Always `buyer`.",
            "default": "buyer",
            "examples": [
              "buyer"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the buyer.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "reconciliation_id": {
            "type": "string",
            "title": "Reconciliation Id",
            "description": "The base62 encoded buyer ID. This represents a shorter version of this buyer's `id` which is sent to payment services, anti-fraud services, and other connectors. You can use this ID to reconcile a payment service's buyer against our system.",
            "examples": [
              "7jZXl4gBUNl0CnaLEnfXbt"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "The ID of the merchant account this buyer belongs to.",
            "examples": [
              "default"
            ]
          },
          "display_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name",
            "description": "The display name for the buyer.",
            "examples": [
              "John Doe"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant identifier for this buyer.",
            "examples": [
              "buyer-12345"
            ]
          },
          "billing_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BillingDetails"
              },
              {
                "type": "null"
              }
            ],
            "description": "The billing name, address, email, and other fields for this buyer."
          },
          "account_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Number",
            "description": "The buyer account number"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date this buyer was created at.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date this buyer was last updated at.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "reconciliation_id",
          "merchant_account_id",
          "created_at",
          "updated_at"
        ],
        "title": "Buyer"
      },
      "BuyerCreate": {
        "properties": {
          "display_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name",
            "description": "The display name for the buyer.",
            "examples": [
              "John Doe"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant identifier for this buyer.",
            "examples": [
              "buyer-12345"
            ]
          },
          "billing_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BillingDetails"
              },
              {
                "type": "null"
              }
            ],
            "description": "The billing name, address, email, and other fields for this buyer."
          },
          "account_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Number",
            "description": "The buyer account number"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "BuyerCreate",
        "description": "Request body for creating a new buyer"
      },
      "BuyerUpdate": {
        "properties": {
          "display_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name",
            "description": "The display name for the buyer.",
            "examples": [
              "John Doe"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant identifier for this buyer.",
            "examples": [
              "buyer-12345"
            ]
          },
          "account_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Number",
            "description": "The buyer account number"
          },
          "billing_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BillingDetails"
              },
              {
                "type": "null"
              }
            ],
            "description": "The billing name, address, email, and other fields for this buyer."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "BuyerUpdate",
        "description": "Request body for updating an existing buyer"
      },
      "Buyers": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/Buyer"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          },
          "limit": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "description": "The number of items for this page.",
            "default": 20,
            "examples": [
              20
            ]
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "The cursor pointing at the next page of items.",
            "examples": [
              "ZXhhbXBsZTE"
            ]
          },
          "previous_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Cursor",
            "description": "The cursor pointing at the previous page of items.",
            "examples": [
              "Xkjss7asS"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "Buyers"
      },
      "CVVResponseCode": {
        "type": "string",
        "enum": [
          "match",
          "no_match",
          "unavailable",
          "not_provided"
        ],
        "title": "CVVResponseCode",
        "x-speakeasy-unknown-values": "allow"
      },
      "CancelStatus": {
        "type": "string",
        "enum": [
          "succeeded",
          "pending",
          "failed"
        ],
        "title": "CancelStatus",
        "x-speakeasy-unknown-values": "allow"
      },
      "Capture": {
        "properties": {
          "type": {
            "type": "string",
            "const": "capture",
            "title": "Type",
            "description": "Always `capture`.",
            "default": "capture",
            "examples": [
              "capture"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The unique identifier for the capture.",
            "examples": [
              "b1e2c3d4-5678-1234-9abc-1234567890ab"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "The merchant account this capture belongs to.",
            "examples": [
              "default"
            ]
          },
          "transaction_id": {
            "type": "string",
            "format": "uuid",
            "title": "Transaction Id",
            "description": "The ID of the transaction associated with this capture.",
            "examples": [
              "7099948d-7286-47e4-aad8-b68f7eb44591"
            ]
          },
          "xid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Xid",
            "description": "The payment service's unique ID for the capture.",
            "examples": [
              "capture_xYqd43gySMtori"
            ]
          },
          "currency": {
            "type": "string",
            "title": "Currency",
            "description": "The ISO 4217 currency code for this capture.",
            "examples": [
              "USD"
            ]
          },
          "amount": {
            "type": "integer",
            "title": "Amount",
            "description": "The capture amount in the smallest currency unit.",
            "examples": [
              1299
            ]
          },
          "status": {
            "description": "The status of the capture.",
            "examples": [
              "succeeded"
            ],
            "type": "string",
            "enum": [
              "succeeded",
              "pending",
              "declined",
              "failed"
            ],
            "title": "CaptureStatus",
            "x-speakeasy-unknown-values": "allow"
          },
          "final": {
            "type": "boolean",
            "title": "Final",
            "description": "Whether this is marked as the final capture for the associated transaction.",
            "examples": [
              true
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date and time this capture was created.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date and time this capture was last updated.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "captured_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Captured At",
            "description": "The date and time the capture was completed.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "An external identifier that can be used to match the capture against your own records.",
            "examples": [
              "capture-12345"
            ]
          },
          "error_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code",
            "description": "The standardized error code set by Gr4vy.",
            "examples": [
              "service_error"
            ]
          },
          "iso_response_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iso Response Code",
            "description": "The ISO response code.",
            "examples": [
              "00"
            ]
          },
          "raw_response_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Raw Response Code",
            "description": "This is the response code received from the payment service. This can be set to any value and is not standardized across different payment services.",
            "examples": [
              "E104"
            ]
          },
          "raw_response_description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Raw Response Description",
            "description": "This is the response description received from the payment service. This can be set to any value and is not standardized across different payment services.",
            "examples": [
              "Internal error"
            ]
          },
          "transaction_external_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Transaction External Identifier",
            "description": "The external identifier of the associated transaction.",
            "examples": [
              "transaction-12345"
            ]
          },
          "cart_items": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/CartItem"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cart Items",
            "description": "An array of cart items that represents the line items of this capture."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "merchant_account_id",
          "transaction_id",
          "currency",
          "amount",
          "status",
          "final",
          "created_at",
          "updated_at"
        ],
        "title": "Capture"
      },
      "CaptureCollection": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/Capture"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          },
          "limit": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "description": "The number of items for this page.",
            "default": 20,
            "examples": [
              20
            ]
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "The cursor pointing at the next page of items.",
            "examples": [
              "ZXhhbXBsZTE"
            ]
          },
          "previous_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Cursor",
            "description": "The cursor pointing at the previous page of items.",
            "examples": [
              "Xkjss7asS"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "CaptureCollection"
      },
      "CaptureStatus": {
        "type": "string",
        "enum": [
          "succeeded",
          "pending",
          "declined",
          "failed"
        ],
        "title": "CaptureStatus",
        "x-speakeasy-unknown-values": "allow"
      },
      "CardDetail": {
        "properties": {
          "type": {
            "type": "string",
            "const": "card-detail",
            "title": "Type",
            "description": "Always `card-detail`.",
            "default": "card-detail",
            "examples": [
              "card-detail"
            ]
          },
          "id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 8,
                "minLength": 6,
                "pattern": "^\\d+$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id",
            "description": "The Bank Identification Number (BIN) of the card.",
            "examples": [
              "123456",
              "345678"
            ]
          },
          "card_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Card Type",
            "description": "The type of the card.",
            "examples": [
              "credit",
              "debit",
              "prepaid"
            ]
          },
          "scheme": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "accel",
                  "amex",
                  "bancontact",
                  "carte-bancaire",
                  "cirrus",
                  "culiance",
                  "dankort",
                  "diners-club",
                  "discover",
                  "eftpos-australia",
                  "elo",
                  "hipercard",
                  "jcb",
                  "maestro",
                  "mastercard",
                  "mir",
                  "nyce",
                  "other",
                  "pulse",
                  "qcard",
                  "rupay",
                  "star",
                  "uatp",
                  "unionpay",
                  "visa"
                ],
                "title": "CardScheme",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The card scheme/network.",
            "examples": [
              "visa",
              "mastercard",
              "amex"
            ]
          },
          "additional_schemes": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "enum": [
                    "accel",
                    "amex",
                    "bancontact",
                    "carte-bancaire",
                    "cirrus",
                    "culiance",
                    "dankort",
                    "diners-club",
                    "discover",
                    "eftpos-australia",
                    "elo",
                    "hipercard",
                    "jcb",
                    "maestro",
                    "mastercard",
                    "mir",
                    "nyce",
                    "other",
                    "pulse",
                    "qcard",
                    "rupay",
                    "star",
                    "uatp",
                    "unionpay",
                    "visa"
                  ],
                  "title": "CardScheme",
                  "x-speakeasy-unknown-values": "allow"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Additional Schemes",
            "description": "Additional schemes of the card besides the primary scheme.",
            "examples": [
              [
                "eftpos-australia"
              ]
            ]
          },
          "additional_schemes_details": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/AdditionalSchemeDetail"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Additional Schemes Details",
            "description": "Per-scheme details (name and icon URL) for each additional scheme. Mirrors `additional_schemes` — null when `additional_schemes` is null.",
            "examples": [
              [
                {
                  "icon_url": "https://cdn.example.gr4vy.app/assets/icons/card-schemes/eftpos-australia.svg",
                  "scheme": "eftpos-australia"
                }
              ]
            ]
          },
          "scheme_icon_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scheme Icon Url",
            "description": "URL to the card scheme's icon.",
            "examples": [
              "https://cdn.example.gr4vy.app/assets/icons/card-schemes/mastercard.svg"
            ]
          },
          "country": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "examples": [
                  "DE",
                  "GB",
                  "US"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Country",
            "description": "The country code associated with the card.",
            "examples": [
              "US",
              "GB",
              "DE"
            ]
          },
          "required_fields": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RequiredFields"
              },
              {
                "type": "null"
              }
            ],
            "description": "Fields that are required for this card type.",
            "examples": [
              {
                "address": {
                  "postal_code": true
                },
                "cvv": true
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "CardDetail"
      },
      "CardPaymentMethodCreate": {
        "properties": {
          "expiration_date": {
            "type": "string",
            "maxLength": 5,
            "minLength": 5,
            "pattern": "^\\d{2}/\\d{2}$",
            "title": "Expiration Date",
            "description": "The expiration date of the card, formatted `MM/YY`.",
            "examples": [
              "12/30"
            ]
          },
          "number": {
            "type": "string",
            "maxLength": 19,
            "minLength": 13,
            "pattern": "^\\d+$",
            "title": "Number",
            "description": "The 13-19 digit number for this card.",
            "examples": [
              "4111111111111111"
            ]
          },
          "buyer_external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer External Identifier",
            "description": "The external identifier of the buyer to attach the method to.",
            "examples": [
              "buyer-12345"
            ]
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": "The ID of the buyer to attach the method to.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant reference for this payment method.",
            "examples": [
              "payment-method-12345"
            ]
          },
          "card_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "credit",
                  "debit",
                  "prepaid"
                ],
                "title": "CardType",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The type of the card used",
            "examples": [
              "credit"
            ]
          },
          "method": {
            "type": "string",
            "const": "card",
            "title": "Method",
            "description": "Always `card`",
            "default": "card",
            "examples": [
              "card"
            ]
          },
          "security_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4,
                "minLength": 3,
                "pattern": "^\\d+$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Security Code",
            "description": "The 3 or 4 digit security code often found on the card. This often referred to as the CVV or CVD.",
            "examples": [
              "123"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "expiration_date",
          "number"
        ],
        "title": "CardPaymentMethodCreate"
      },
      "CardScheme": {
        "type": "string",
        "enum": [
          "accel",
          "amex",
          "bancontact",
          "carte-bancaire",
          "cirrus",
          "culiance",
          "dankort",
          "diners-club",
          "discover",
          "eftpos-australia",
          "elo",
          "hipercard",
          "jcb",
          "maestro",
          "mastercard",
          "mir",
          "nyce",
          "other",
          "pulse",
          "qcard",
          "rupay",
          "star",
          "uatp",
          "unionpay",
          "visa"
        ],
        "title": "CardScheme",
        "x-speakeasy-unknown-values": "allow"
      },
      "CardSchemeDefinition": {
        "properties": {
          "type": {
            "type": "string",
            "const": "card-scheme-definition",
            "title": "Type",
            "description": "Always `card-scheme-definition`.",
            "default": "card-scheme-definition",
            "examples": [
              "card-scheme-definition"
            ]
          },
          "id": {
            "type": "string",
            "maxLength": 50,
            "minLength": 1,
            "title": "Id",
            "description": "The ID for the card scheme.",
            "examples": [
              "visa"
            ]
          },
          "icon_url": {
            "type": "string",
            "title": "Icon Url",
            "description": "The icon for this card scheme.",
            "examples": [
              "https://api.sandbox.example.gr4vy.app/assets/card-scheme-definitions/visa.svg"
            ]
          },
          "display_name": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "title": "Display Name",
            "description": "The display name of this card scheme.",
            "examples": [
              "Visa"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "icon_url",
          "display_name"
        ],
        "title": "CardSchemeDefinition"
      },
      "CardSchemeDefinitions": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/CardSchemeDefinition"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          }
        },
        "type": "object",
        "required": [
          "items"
        ],
        "title": "CardSchemeDefinitions"
      },
      "CardType": {
        "type": "string",
        "enum": [
          "credit",
          "debit",
          "prepaid"
        ],
        "title": "CardType",
        "x-speakeasy-unknown-values": "allow"
      },
      "CardWithUrlPaymentMethodCreate": {
        "properties": {
          "expiration_date": {
            "type": "string",
            "maxLength": 5,
            "minLength": 5,
            "pattern": "^\\d{2}/\\d{2}$",
            "title": "Expiration Date",
            "description": "The expiration date of the card, formatted `MM/YY`.",
            "examples": [
              "12/30"
            ]
          },
          "number": {
            "type": "string",
            "maxLength": 19,
            "minLength": 13,
            "pattern": "^\\d+$",
            "title": "Number",
            "description": "The 13-19 digit number for this card.",
            "examples": [
              "4111111111111111"
            ]
          },
          "buyer_external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer External Identifier",
            "description": "The external identifier of the buyer to attach the method to.",
            "examples": [
              "buyer-12345"
            ]
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": "The ID of the buyer to attach the method to.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant reference for this payment method.",
            "examples": [
              "payment-method-12345"
            ]
          },
          "card_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "credit",
                  "debit",
                  "prepaid"
                ],
                "title": "CardType",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The type of the card used",
            "examples": [
              "credit"
            ]
          },
          "method": {
            "type": "string",
            "const": "card",
            "title": "Method",
            "description": "Always `card`",
            "default": "card",
            "examples": [
              "card"
            ]
          },
          "security_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4,
                "minLength": 3,
                "pattern": "^\\d+$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Security Code",
            "description": "The 3 or 4 digit security code often found on the card. This often referred to as the CVV or CVD.",
            "examples": [
              "123"
            ]
          },
          "redirect_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "pattern": "^data:application/json;base64,.*$",
                "examples": [
                  "data:application/json;base64,eyJ0YXJnZXQiOiAib3BlbmVyIiwgImNoYW5uZWwiOiAiY2hhbm5lbCIsICJvcmlnaW5fdXJsIjogImh0dHBzOi8vZ3I0dnkuYXBwIn0="
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Redirect Url",
            "description": "The URL to redirect a user back to after the complete 3DS in browser.",
            "examples": [
              "https://example.com"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "expiration_date",
          "number"
        ],
        "title": "CardWithUrlPaymentMethodCreate",
        "description": "Create a transaction with raw card details"
      },
      "CartItem": {
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "title": "Name",
            "description": "The name of the cart item. The value you set for this property may be truncated if the maximum length accepted by a payment service provider is less than 255 characters.",
            "examples": [
              "GoPro HD"
            ]
          },
          "quantity": {
            "type": "integer",
            "maximum": 99999999,
            "exclusiveMinimum": 0,
            "title": "Quantity",
            "description": "The quantity of this item in the cart. This value cannot be negative or zero.",
            "examples": [
              2
            ]
          },
          "unit_amount": {
            "type": "integer",
            "maximum": 99999999,
            "minimum": 0,
            "title": "Unit Amount",
            "description": "The amount for an individual item represented as a monetary amount in the smallest currency unit for the given currency, for example `1299` USD cents represents `$12.99`. The amount sent through to the payment processor as unitary amount will be calculated to include the discount and tax values sent as part of this cart item.",
            "examples": [
              1299
            ]
          },
          "discount_amount": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Discount Amount",
            "description": "The amount discounted for this item represented as a monetary amount in the smallest currency unit for the given currency, for example `1299` USD cents represents `$12.99`.",
            "default": 0,
            "examples": [
              0
            ]
          },
          "tax_amount": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Tax Amount",
            "description": "The tax amount for this item represented as a monetary amount in the smallest currency unit for the given currency, for example `1299` USD cents represents `$12.99`.",
            "default": 0,
            "examples": [
              0
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "An external identifier for the cart item. This can be set to any value and is not sent to the payment service.",
            "examples": [
              "goprohd"
            ]
          },
          "sku": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Sku",
            "description": "The SKU or product code for the item.",
            "examples": [
              "GPHD1078"
            ]
          },
          "upc": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Upc",
            "description": "The UPC for the item.",
            "examples": [
              "012345678905"
            ]
          },
          "product_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Product Url",
            "description": "The product URL for the item.",
            "examples": [
              "https://example.com/catalog/go-pro-hd"
            ]
          },
          "image_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Url",
            "description": "The URL for the image of the item.",
            "examples": [
              "https://example.com/images/go-pro-hd.jpg"
            ]
          },
          "categories": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "maxLength": 50,
                  "minLength": 1
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Categories",
            "description": "A list of strings containing product categories for the item.",
            "examples": [
              [
                "camera",
                "travel",
                "gear"
              ]
            ]
          },
          "product_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "physical",
                  "discount",
                  "shipping_fee",
                  "sales_tax",
                  "digital",
                  "gift_card",
                  "store_credit",
                  "surcharge"
                ],
                "title": "ProductType",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The product type of the cart item.",
            "examples": [
              "physical"
            ]
          },
          "seller_country": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "examples": [
                  "DE",
                  "GB",
                  "US"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Seller Country",
            "description": "The seller country of the cart item.",
            "examples": [
              "US",
              "GB"
            ]
          },
          "tax_exempt": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tax Exempt",
            "description": "Whether the item is exempt of tax.",
            "examples": [
              false
            ]
          },
          "unit_of_measure": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Unit Of Measure",
            "description": "The unit of measure or the unit of measure code.",
            "examples": [
              "feet",
              "kg"
            ]
          },
          "commodity_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Commodity Code",
            "description": "Item commodity code. Generally a UNSPSC code.",
            "examples": [
              "43211503",
              "84111502"
            ]
          },
          "description": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Description",
            "description": "Brief item description.",
            "examples": [
              "A brief description of an interesting item."
            ]
          },
          "duty_amount": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Duty Amount",
            "description": "Item import or export duties represented as a monetary amount in the smallest currency unit for the given currency, for example `1299` cents to create an authorization for `$12.99`",
            "examples": [
              1299
            ]
          },
          "shipping_amount": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Shipping Amount",
            "description": "Freight/shipping amount represented as a monetary amount in the smallest currency unit for the given currency, for example `1299` cents to create an authorization for `$12.99`",
            "examples": [
              1299
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "name",
          "quantity",
          "unit_amount"
        ],
        "title": "CartItem"
      },
      "CertificateAlgorithm": {
        "type": "string",
        "enum": [
          "ECDSA",
          "RSA"
        ],
        "title": "CertificateAlgorithm",
        "x-speakeasy-unknown-values": "allow"
      },
      "Chargeback": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The unique identifier for the record.",
            "examples": [
              "b1e2c3d4-5678-1234-9abc-1234567890ab"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "The merchant account this record belongs to.",
            "examples": [
              "default"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date and time the record was created, in ISO 8601 format.",
            "examples": [
              "2024-06-01T12:00:00.000Z"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date and time the record was last updated, in ISO 8601 format.",
            "examples": [
              "2024-06-01T12:00:00.000Z"
            ]
          },
          "posted_at": {
            "type": "string",
            "format": "date-time",
            "title": "Posted At",
            "description": "The date and time the record was posted, in ISO 8601 format.",
            "examples": [
              "2024-06-01T12:00:00.000Z"
            ]
          },
          "ingested_at": {
            "type": "string",
            "format": "date-time",
            "title": "Ingested At",
            "description": "The date and time the record was ingested, in ISO 8601 format.",
            "examples": [
              "2024-06-01T12:00:00.000Z"
            ]
          },
          "currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "title": "Currency",
            "description": "ISO 4217 currency code.",
            "examples": [
              "EUR",
              "GBP",
              "USD"
            ]
          },
          "amount": {
            "type": "integer",
            "title": "Amount",
            "description": "The total amount in the smallest currency unit (e.g. cents).",
            "examples": [
              1100
            ]
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exchange Rate",
            "description": "The exchange rate, if applicable.",
            "examples": [
              1
            ]
          },
          "commission": {
            "type": "integer",
            "title": "Commission",
            "description": "The commission amount deducted in the smallest currency unit.",
            "examples": [
              100
            ]
          },
          "interchange": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Interchange",
            "description": "The interchange fee, if applicable, in the smallest currency unit.",
            "examples": [
              50
            ]
          },
          "markup": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Markup",
            "description": "The markup fee, if applicable, in the smallest currency unit.",
            "examples": [
              10
            ]
          },
          "scheme_fee": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scheme Fee",
            "description": "The scheme fee, if applicable, in the smallest currency unit.",
            "examples": [
              5
            ]
          },
          "payment_service_report_id": {
            "type": "string",
            "format": "uuid",
            "title": "Payment Service Report Id",
            "description": "The report ID from the payment service.",
            "examples": [
              "a1b2c3d4-5678-1234-9abc-1234567890ab"
            ]
          },
          "payment_service_report_file_ids": {
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "type": "array",
            "title": "Payment Service Report File Ids",
            "description": "List of file IDs for the payment service report.",
            "examples": [
              [
                "f1e2d3c4-5678-1234-9abc-1234567890ab"
              ]
            ]
          },
          "transaction_id": {
            "type": "string",
            "format": "uuid",
            "title": "Transaction Id",
            "description": "The transaction this record is associated with.",
            "examples": [
              "7099948d-7286-47e4-aad8-b68f7eb44591"
            ]
          },
          "type": {
            "type": "string",
            "const": "chargeback",
            "title": "Type",
            "description": "Always `chargeback`.",
            "default": "chargeback",
            "examples": [
              "chargeback"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "merchant_account_id",
          "created_at",
          "updated_at",
          "posted_at",
          "ingested_at",
          "currency",
          "amount",
          "commission",
          "payment_service_report_id",
          "payment_service_report_file_ids",
          "transaction_id"
        ],
        "title": "Chargeback",
        "description": "A chargeback record for a transaction."
      },
      "ChargebackReversal": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The unique identifier for the record.",
            "examples": [
              "b1e2c3d4-5678-1234-9abc-1234567890ab"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "The merchant account this record belongs to.",
            "examples": [
              "default"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date and time the record was created, in ISO 8601 format.",
            "examples": [
              "2024-06-01T12:00:00.000Z"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date and time the record was last updated, in ISO 8601 format.",
            "examples": [
              "2024-06-01T12:00:00.000Z"
            ]
          },
          "posted_at": {
            "type": "string",
            "format": "date-time",
            "title": "Posted At",
            "description": "The date and time the record was posted, in ISO 8601 format.",
            "examples": [
              "2024-06-01T12:00:00.000Z"
            ]
          },
          "ingested_at": {
            "type": "string",
            "format": "date-time",
            "title": "Ingested At",
            "description": "The date and time the record was ingested, in ISO 8601 format.",
            "examples": [
              "2024-06-01T12:00:00.000Z"
            ]
          },
          "currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "title": "Currency",
            "description": "ISO 4217 currency code.",
            "examples": [
              "EUR",
              "GBP",
              "USD"
            ]
          },
          "amount": {
            "type": "integer",
            "title": "Amount",
            "description": "The total amount in the smallest currency unit (e.g. cents).",
            "examples": [
              1100
            ]
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exchange Rate",
            "description": "The exchange rate, if applicable.",
            "examples": [
              1
            ]
          },
          "commission": {
            "type": "integer",
            "title": "Commission",
            "description": "The commission amount deducted in the smallest currency unit.",
            "examples": [
              100
            ]
          },
          "interchange": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Interchange",
            "description": "The interchange fee, if applicable, in the smallest currency unit.",
            "examples": [
              50
            ]
          },
          "markup": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Markup",
            "description": "The markup fee, if applicable, in the smallest currency unit.",
            "examples": [
              10
            ]
          },
          "scheme_fee": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scheme Fee",
            "description": "The scheme fee, if applicable, in the smallest currency unit.",
            "examples": [
              5
            ]
          },
          "payment_service_report_id": {
            "type": "string",
            "format": "uuid",
            "title": "Payment Service Report Id",
            "description": "The report ID from the payment service.",
            "examples": [
              "a1b2c3d4-5678-1234-9abc-1234567890ab"
            ]
          },
          "payment_service_report_file_ids": {
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "type": "array",
            "title": "Payment Service Report File Ids",
            "description": "List of file IDs for the payment service report.",
            "examples": [
              [
                "f1e2d3c4-5678-1234-9abc-1234567890ab"
              ]
            ]
          },
          "transaction_id": {
            "type": "string",
            "format": "uuid",
            "title": "Transaction Id",
            "description": "The transaction this record is associated with.",
            "examples": [
              "7099948d-7286-47e4-aad8-b68f7eb44591"
            ]
          },
          "type": {
            "type": "string",
            "const": "chargeback-reversal",
            "title": "Type",
            "description": "Always `chargeback-reversal`.",
            "default": "chargeback-reversal",
            "examples": [
              "chargeback-reversal"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "merchant_account_id",
          "created_at",
          "updated_at",
          "posted_at",
          "ingested_at",
          "currency",
          "amount",
          "commission",
          "payment_service_report_id",
          "payment_service_report_file_ids",
          "transaction_id"
        ],
        "title": "ChargebackReversal",
        "description": "A chargeback reversal record for a transaction."
      },
      "ChargebackReversals": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ChargebackReversal"
            },
            "type": "array",
            "title": "Items",
            "description": "The list of chargeback reversal objects."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "ChargebackReversals",
        "description": "A list of chargeback reversal records for a transaction."
      },
      "Chargebacks": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/Chargeback"
            },
            "type": "array",
            "title": "Items",
            "description": "The list of chargeback objects."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "Chargebacks",
        "description": "A list of chargeback records for a transaction."
      },
      "CheckoutPayoutOptions": {
        "properties": {
          "processing_channel_id": {
            "type": "string",
            "title": "Processing Channel Id",
            "description": "The processing channel to be used for the payment.",
            "examples": [
              "channel-1234"
            ]
          },
          "source_id": {
            "type": "string",
            "title": "Source Id",
            "description": "The ID of the currency account that will fund the payout.",
            "examples": [
              "acct-1234"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "processing_channel_id",
          "source_id"
        ],
        "title": "CheckoutPayoutOptions"
      },
      "CheckoutSession": {
        "properties": {
          "cart_items": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/CartItem"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cart Items",
            "description": "An array of cart items that represents the line items of a transaction."
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Metadata",
            "description": "Any additional information about the transaction that you would like to store as key-value pairs. This data is passed to payment service providers that support it.",
            "examples": [
              {
                "cohort": "cohort-a",
                "order_id": "order-12345"
              }
            ]
          },
          "buyer": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/GuestBuyer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Provide buyer details for the transaction. No buyer resource will be created on Gr4vy when used."
          },
          "airline": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Airline"
              },
              {
                "type": "null"
              }
            ],
            "description": "The airline addendum data which describes the airline booking associated with this transaction."
          },
          "type": {
            "type": "string",
            "const": "checkout-session",
            "title": "Type",
            "description": "Always `checkout-session`",
            "default": "checkout-session",
            "examples": [
              "checkout-session"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the checkout session.",
            "examples": [
              "4137b1cf-39ac-42a8-bad6-1c680d5dab6b"
            ]
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "title": "Expires At",
            "description": "The date and time when this checkout session expires.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "payment_method": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CheckoutSessionPaymentMethod"
              },
              {
                "type": "null"
              }
            ],
            "description": "Information about the payment method stored on the checkout session."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "expires_at"
        ],
        "title": "CheckoutSession"
      },
      "CheckoutSessionCardDetails": {
        "properties": {
          "bin": {
            "type": "string",
            "title": "Bin",
            "description": "The card BIN provided in the request.",
            "examples": [
              "41111111"
            ]
          },
          "card_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "credit",
                  "debit",
                  "prepaid"
                ],
                "title": "CardType",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The type of the card.",
            "examples": [
              "debit"
            ]
          },
          "scheme": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "accel",
                  "amex",
                  "bancontact",
                  "carte-bancaire",
                  "cirrus",
                  "culiance",
                  "dankort",
                  "diners-club",
                  "discover",
                  "eftpos-australia",
                  "elo",
                  "hipercard",
                  "jcb",
                  "maestro",
                  "mastercard",
                  "mir",
                  "nyce",
                  "other",
                  "pulse",
                  "qcard",
                  "rupay",
                  "star",
                  "uatp",
                  "unionpay",
                  "visa"
                ],
                "title": "CardScheme",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The scheme of the card.",
            "examples": [
              "visa"
            ]
          },
          "scheme_icon_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scheme Icon Url",
            "description": "URL to the card scheme's icon.",
            "examples": [
              "https://cdn.example.gr4vy.app/assets/icons/card-schemes/mastercard.svg"
            ]
          },
          "additional_schemes": {
            "items": {
              "type": "string",
              "enum": [
                "accel",
                "amex",
                "bancontact",
                "carte-bancaire",
                "cirrus",
                "culiance",
                "dankort",
                "diners-club",
                "discover",
                "eftpos-australia",
                "elo",
                "hipercard",
                "jcb",
                "maestro",
                "mastercard",
                "mir",
                "nyce",
                "other",
                "pulse",
                "qcard",
                "rupay",
                "star",
                "uatp",
                "unionpay",
                "visa"
              ],
              "title": "CardScheme",
              "x-speakeasy-unknown-values": "allow"
            },
            "type": "array",
            "title": "Additional Schemes",
            "description": "Additional card schemes associated with the BIN.",
            "examples": [
              [
                "visa-debit",
                "electron"
              ]
            ]
          },
          "country": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "examples": [
                  "DE",
                  "GB",
                  "US"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Country",
            "description": "The country the card was issued in.",
            "examples": [
              "US"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "bin"
        ],
        "title": "CheckoutSessionCardDetails"
      },
      "CheckoutSessionCardDetailsRequest": {
        "properties": {
          "bin": {
            "type": "string",
            "maxLength": 8,
            "minLength": 6,
            "pattern": "^\\d+$",
            "title": "Bin",
            "description": "The first 6 to 8 digits of a card number.",
            "examples": [
              "41111111"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "bin"
        ],
        "title": "CheckoutSessionCardDetailsRequest"
      },
      "CheckoutSessionCardPaymentMethod": {
        "properties": {
          "method": {
            "type": "string",
            "const": "card",
            "title": "Method",
            "description": "Always `card`.",
            "default": "card",
            "examples": [
              "card"
            ]
          },
          "number": {
            "type": "string",
            "maxLength": 19,
            "minLength": 13,
            "pattern": "^\\d+$",
            "title": "Number",
            "description": "The 13-19 digit number for this card.",
            "examples": [
              "4111111111111111"
            ]
          },
          "expiration_date": {
            "type": "string",
            "maxLength": 5,
            "minLength": 5,
            "pattern": "^\\d{2}/\\d{2}$",
            "title": "Expiration Date",
            "description": "The expiration date of the card, formatted `MM/YY`.",
            "examples": [
              "12/30"
            ]
          },
          "security_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4,
                "minLength": 3,
                "pattern": "^\\d+$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Security Code",
            "description": "The 3 or 4 digit security code often found on the card. This often referred to as the CVV or CVD.",
            "examples": [
              "123"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "number",
          "expiration_date"
        ],
        "title": "CheckoutSessionCardPaymentMethod"
      },
      "CheckoutSessionClickToPayPaymentMethod": {
        "properties": {
          "method": {
            "type": "string",
            "const": "click-to-pay",
            "title": "Method",
            "description": "Always `click-to-pay`.",
            "default": "click-to-pay",
            "examples": [
              "click-to-pay"
            ]
          },
          "merchant_transaction_id": {
            "type": "string",
            "title": "Merchant Transaction Id",
            "description": "The merchant transaction ID as provided by the C2P SDK.",
            "examples": [
              "1a1e7b31-c13a-4d31-a4dd-2198aa42ce65"
            ]
          },
          "src_correlation_id": {
            "type": "string",
            "title": "Src Correlation Id",
            "description": "The SRC correlation ID as provided by the C2P SDK.",
            "examples": [
              "c878b3f1-0582-428b-8a3d-9033fc9e0048"
            ]
          },
          "src_dpa_id": {
            "type": "string",
            "title": "Src Dpa Id",
            "description": "The DPA ID as provided by the C2P SDK.",
            "examples": [
              "d2fc460b-1182-4cdc-ad47-c38baa9ad73c"
            ]
          },
          "src_cx_flow_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Src Cx Flow Id",
            "description": "The CX Flow ID as provided by the C2P SDK",
            "examples": [
              "4241871b-c4f7-43e7-a943-6a87f1b2feae"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "merchant_transaction_id",
          "src_correlation_id",
          "src_dpa_id"
        ],
        "title": "CheckoutSessionClickToPayPaymentMethod"
      },
      "CheckoutSessionIdPaymentMethod": {
        "properties": {
          "method": {
            "type": "string",
            "const": "id",
            "title": "Method",
            "description": "Always `id`.",
            "default": "id",
            "examples": [
              "id"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID of the payment method to associate to the session.",
            "examples": [
              "ef9496d8-53a5-4aad-8ca2-00eb68334389"
            ]
          },
          "security_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4,
                "minLength": 3,
                "pattern": "^\\d+$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Security Code",
            "description": "The 3 or 4 digit security code often found on the card. This often referred to as the CVV or CVD.",
            "examples": [
              "123"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id"
        ],
        "title": "CheckoutSessionIdPaymentMethod"
      },
      "CheckoutSessionPaymentMethod": {
        "properties": {
          "type": {
            "type": "string",
            "const": "payment-method",
            "title": "Type",
            "description": "Always `payment-method`",
            "default": "payment-method",
            "examples": [
              "payment-method"
            ]
          },
          "id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id",
            "description": "The ID of the payment method.",
            "examples": [
              "ef9496d8-53a5-4aad-8ca2-00eb68334389"
            ]
          },
          "details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CheckoutSessionPaymentMethodDetails"
              },
              {
                "type": "null"
              }
            ],
            "description": "Details for credit or debit card payment method."
          },
          "label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Label",
            "description": "The last 4 digits of the the card.",
            "examples": [
              "1234"
            ]
          },
          "method": {
            "type": "string",
            "const": "card",
            "title": "Method",
            "description": "Always `card`",
            "default": "card",
            "examples": [
              "card"
            ]
          },
          "scheme": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "accel",
                  "amex",
                  "bancontact",
                  "carte-bancaire",
                  "cirrus",
                  "culiance",
                  "dankort",
                  "diners-club",
                  "discover",
                  "eftpos-australia",
                  "elo",
                  "hipercard",
                  "jcb",
                  "maestro",
                  "mastercard",
                  "mir",
                  "nyce",
                  "other",
                  "pulse",
                  "qcard",
                  "rupay",
                  "star",
                  "uatp",
                  "unionpay",
                  "visa"
                ],
                "title": "CardScheme",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The scheme of the card.",
            "examples": [
              "visa"
            ]
          },
          "fingerprint": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fingerprint",
            "description": "The unique hash derived from the card number.",
            "examples": [
              "a50b85c200ee0795d6fd33a5c66f37a4564f554355c5b46a756aac485dd168a4"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "CheckoutSessionPaymentMethod"
      },
      "CheckoutSessionPaymentMethodCreate": {
        "properties": {
          "method": {
            "type": "string",
            "const": "checkout-session",
            "title": "Method",
            "description": "Always `checkout-session`",
            "default": "checkout-session",
            "examples": [
              "checkout-session"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the checkout session.",
            "examples": [
              "4137b1cf-39ac-42a8-bad6-1c680d5dab6b"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant reference that can be used to match the payment method against your own records.",
            "examples": [
              "card-12345"
            ]
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": "The `id` of a stored buyer to use Use this instead of the `buyer_external_identifier`.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "buyer_external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer External Identifier",
            "description": "The `external_identifier` of a stored buyer to use. Use this instead of the `buyer_id`.",
            "examples": [
              "buyer-12345"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id"
        ],
        "title": "CheckoutSessionPaymentMethodCreate"
      },
      "CheckoutSessionPaymentMethodDetails": {
        "properties": {
          "bin": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bin",
            "description": "The first 6 digit of the card.",
            "examples": [
              "411111"
            ]
          },
          "card_country": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "examples": [
                  "DE",
                  "GB",
                  "US"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Card Country",
            "description": "The country of the card issuer.",
            "examples": [
              "US"
            ]
          },
          "card_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "credit",
                  "debit",
                  "prepaid"
                ],
                "title": "CardType",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The payment scheme of the card.",
            "examples": [
              "credit"
            ]
          },
          "card_issuer_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Card Issuer Name",
            "description": "The card issuer.",
            "examples": [
              "Bank of America NA"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "CheckoutSessionPaymentMethodDetails"
      },
      "CheckoutSessionSecureFields": {
        "properties": {
          "payment_method": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/CheckoutSessionCardPaymentMethod"
              },
              {
                "$ref": "#/components/schemas/CheckoutSessionClickToPayPaymentMethod"
              },
              {
                "$ref": "#/components/schemas/CheckoutSessionIdPaymentMethod"
              }
            ],
            "title": "Payment Method",
            "description": "The details of the payment method to update.",
            "discriminator": {
              "propertyName": "method",
              "mapping": {
                "card": "#/components/schemas/CheckoutSessionCardPaymentMethod",
                "click-to-pay": "#/components/schemas/CheckoutSessionClickToPayPaymentMethod",
                "id": "#/components/schemas/CheckoutSessionIdPaymentMethod"
              }
            }
          },
          "postal_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Postal Code",
            "description": "The postal code of the buyer.",
            "examples": [
              "12345"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "payment_method"
        ],
        "title": "CheckoutSessionSecureFields"
      },
      "CheckoutSessionCreate": {
        "properties": {
          "cart_items": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/CartItem"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cart Items",
            "description": "An array of cart items that represents the line items of a transaction."
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Metadata",
            "description": "Any additional information about the transaction that you would like to store as key-value pairs. This data is passed to payment service providers that support it.",
            "examples": [
              {
                "cohort": "cohort-a",
                "order_id": "order-12345"
              }
            ]
          },
          "buyer": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/GuestBuyer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Provide buyer details for the transaction. No buyer resource will be created on Gr4vy when used."
          },
          "airline": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Airline"
              },
              {
                "type": "null"
              }
            ],
            "description": "The airline addendum data which describes the airline booking associated with this transaction."
          },
          "expires_in": {
            "type": "number",
            "maximum": 86400,
            "minimum": 3600,
            "title": "Expires In",
            "description": "The time in seconds when this checkout session expires.",
            "default": 3600
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "CheckoutSessionUpdate"
      },
      "CheckoutSessionWithUrlPaymentMethodCreate": {
        "properties": {
          "method": {
            "type": "string",
            "const": "checkout-session",
            "title": "Method",
            "description": "Always `checkout-session`",
            "default": "checkout-session",
            "examples": [
              "checkout-session"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the checkout session.",
            "examples": [
              "4137b1cf-39ac-42a8-bad6-1c680d5dab6b"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant reference that can be used to match the payment method against your own records.",
            "examples": [
              "card-12345"
            ]
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": "The `id` of a stored buyer to use Use this instead of the `buyer_external_identifier`.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "buyer_external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer External Identifier",
            "description": "The `external_identifier` of a stored buyer to use. Use this instead of the `buyer_id`.",
            "examples": [
              "buyer-12345"
            ]
          },
          "redirect_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "pattern": "^data:application/json;base64,.*$",
                "examples": [
                  "data:application/json;base64,eyJ0YXJnZXQiOiAib3BlbmVyIiwgImNoYW5uZWwiOiAiY2hhbm5lbCIsICJvcmlnaW5fdXJsIjogImh0dHBzOi8vZ3I0dnkuYXBwIn0="
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Redirect Url",
            "description": "The URL to redirect a user back to after the complete 3DS in browser.",
            "examples": [
              "https://example.com"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id"
        ],
        "title": "CheckoutSessionWithUrlPaymentMethodCreate",
        "description": "Create a payment with a checkout session ID (and an optional URL for 3DS)."
      },
      "ClickToPayFPANPaymentMethodCreate": {
        "properties": {
          "expiration_date": {
            "type": "string",
            "maxLength": 5,
            "minLength": 5,
            "pattern": "^\\d{2}/\\d{2}$",
            "title": "Expiration Date",
            "description": "The expiration date of the card, formatted `MM/YY`.",
            "examples": [
              "12/30"
            ]
          },
          "number": {
            "type": "string",
            "maxLength": 19,
            "minLength": 13,
            "pattern": "^\\d+$",
            "title": "Number",
            "description": "The 13-19 digit number for this card.",
            "examples": [
              "4111111111111111"
            ]
          },
          "buyer_external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer External Identifier",
            "description": "The external identifier of the buyer to attach the method to.",
            "examples": [
              "buyer-12345"
            ]
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": "The ID of the buyer to attach the method to.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant reference for this payment method.",
            "examples": [
              "payment-method-12345"
            ]
          },
          "card_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "credit",
                  "debit",
                  "prepaid"
                ],
                "title": "CardType",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The type of the card used",
            "examples": [
              "credit"
            ]
          },
          "method": {
            "type": "string",
            "const": "click-to-pay",
            "title": "Method",
            "description": "Aways `click-to-pay`.",
            "examples": [
              "click-to-pay"
            ]
          },
          "redirect_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "pattern": "^data:application/json;base64,.*$",
                "examples": [
                  "data:application/json;base64,eyJ0YXJnZXQiOiAib3BlbmVyIiwgImNoYW5uZWwiOiAiY2hhbm5lbCIsICJvcmlnaW5fdXJsIjogImh0dHBzOi8vZ3I0dnkuYXBwIn0="
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Redirect Url",
            "description": "The URL to redirect a user back to after the complete 3DS in browser.",
            "examples": [
              "https://example.com"
            ]
          },
          "security_code": {
            "type": "null",
            "title": "Security Code",
            "description": "The 3 or 4 digit security code often found on the card. This often referred to as the CVV or CVD.",
            "examples": [
              "123"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "expiration_date",
          "number",
          "method"
        ],
        "title": "ClickToPayFPANPaymentMethodCreate",
        "description": "Create a Click to Pay payment with an FPAN or virtual PAN"
      },
      "ClickToPayPaymentMethodCreate": {
        "properties": {
          "method": {
            "type": "string",
            "const": "click-to-pay",
            "title": "Method",
            "description": "Aways `click-to-pay`.",
            "examples": [
              "click-to-pay"
            ]
          },
          "token": {
            "type": "string",
            "title": "Token",
            "description": "The device token.",
            "examples": [
              "4111123456789012"
            ]
          },
          "cryptogram": {
            "type": "string",
            "title": "Cryptogram",
            "description": "The payment cryptogram for the device token.",
            "examples": [
              "A3F9C2D47E1B56A9"
            ]
          },
          "expiration_date": {
            "type": "string",
            "maxLength": 5,
            "minLength": 5,
            "pattern": "^\\d{2}/\\d{2}$",
            "title": "Expiration Date",
            "description": "The expiration date of the device token.",
            "examples": [
              "12/30"
            ]
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": " The ID of the buyer to associate this transaction to.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "buyer_external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer External Identifier",
            "description": "The external identifier of the buyer to create a transaction for.",
            "examples": [
              "buyer-12345"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The external identifier of the payment method to filter by.",
            "examples": [
              "payment-method-12345"
            ]
          },
          "redirect_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "pattern": "^data:application/json;base64,.*$",
                "examples": [
                  "data:application/json;base64,eyJ0YXJnZXQiOiAib3BlbmVyIiwgImNoYW5uZWwiOiAiY2hhbm5lbCIsICJvcmlnaW5fdXJsIjogImh0dHBzOi8vZ3I0dnkuYXBwIn0="
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Redirect Url",
            "description": "The URL to redirect a user back to after the complete 3DS in browser.",
            "examples": [
              "https://example.com"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "method",
          "token",
          "cryptogram",
          "expiration_date"
        ],
        "title": "ClickToPayPaymentMethodCreate",
        "description": "Create a Click to Pay payment with a decrypted token and cryptogram. This\nis mainly used internally but can be used by anyone with their own C2P\nintegration."
      },
      "ClickToPaySession": {
        "properties": {
          "digital_payment_application_id": {
            "type": "string",
            "title": "Digital Payment Application Id",
            "description": "The ID of the Click to Pay application.",
            "examples": [
              "a0c3ef2e-9cdb-4cbf-aaff-5baac2928e1b"
            ]
          },
          "digital_payment_application_name": {
            "type": "string",
            "title": "Digital Payment Application Name",
            "description": "The merchant name as configured ont he the Click to Pay wallet.",
            "examples": [
              "ACME"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "digital_payment_application_id",
          "digital_payment_application_name"
        ],
        "title": "ClickToPaySession"
      },
      "ClickToPaySessionRequest": {
        "properties": {
          "checkout_session_id": {
            "type": "string",
            "format": "uuid",
            "title": "Checkout Session Id",
            "description": "The checkout session ID to create a Click to Pay session for.",
            "examples": [
              "4137b1cf-39ac-42a8-bad6-1c680d5dab6b"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "checkout_session_id"
        ],
        "title": "ClickToPaySessionRequest"
      },
      "Collection_APIKeyPair_": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/APIKeyPair"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          },
          "limit": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "description": "The number of items for this page.",
            "default": 20,
            "examples": [
              20
            ]
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "The cursor pointing at the next page of items.",
            "examples": [
              "ZXhhbXBsZTE"
            ]
          },
          "previous_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Cursor",
            "description": "The cursor pointing at the previous page of items.",
            "examples": [
              "Xkjss7asS"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "Collection[APIKeyPair]"
      },
      "Collection_Role_": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/Role"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          },
          "limit": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "description": "The number of items for this page.",
            "default": 20,
            "examples": [
              20
            ]
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "The cursor pointing at the next page of items.",
            "examples": [
              "ZXhhbXBsZTE"
            ]
          },
          "previous_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Cursor",
            "description": "The cursor pointing at the previous page of items.",
            "examples": [
              "Xkjss7asS"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "Collection[Role]"
      },
      "CreateSession": {
        "properties": {
          "type": {
            "type": "string",
            "const": "payment-service-session",
            "title": "Type",
            "description": "Always `payment-service-session`.",
            "default": "payment-service-session",
            "examples": [
              "payment-service-session"
            ]
          },
          "status": {
            "description": "The status of the response.",
            "examples": [
              "succeeded"
            ],
            "type": "string",
            "enum": [
              "succeeded",
              "failed"
            ],
            "title": "CreateSessionStatus",
            "x-speakeasy-unknown-values": "allow"
          },
          "code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Code",
            "description": "A generic error code that may be returned when the session could not be generated.",
            "examples": [
              "UNKNOWN_ERROR"
            ]
          },
          "status_code": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status Code",
            "description": "The HTTP status code received from the payment service.",
            "examples": [
              201
            ]
          },
          "response_body": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Response Body",
            "description": "The JSON response body received from the payment service.",
            "examples": [
              {
                "sessionId": "12345"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "status"
        ],
        "title": "CreateSession",
        "description": "The session data received from the payment service."
      },
      "CreateSessionStatus": {
        "type": "string",
        "enum": [
          "succeeded",
          "failed"
        ],
        "title": "CreateSessionStatus",
        "x-speakeasy-unknown-values": "allow"
      },
      "CredentialsOAuthAuthentication": {
        "properties": {
          "type": {
            "type": "string",
            "const": "webhook-authentication",
            "title": "Type",
            "description": "Type of resource for webhook authentication.",
            "default": "webhook-authentication",
            "examples": [
              "webhook-authentication"
            ]
          },
          "kind": {
            "type": "string",
            "const": "oauth_client_credentials",
            "title": "Kind",
            "description": "Type of authentication for webhook request.",
            "default": "oauth_client_credentials",
            "examples": [
              "oauth_client_credentials"
            ]
          },
          "client_id": {
            "type": "string",
            "title": "Client Id",
            "description": "The OAuth client identifier.",
            "examples": [
              "1234abcd"
            ]
          },
          "client_secret": {
            "type": "string",
            "title": "Client Secret",
            "description": "The masked OAuth client secret.",
            "default": "********",
            "examples": [
              "********"
            ]
          },
          "token_url": {
            "type": "string",
            "title": "Token Url",
            "description": "The OAuth access token URL.",
            "examples": [
              "https://www.gr4vy.com/oauth/token"
            ]
          },
          "scope": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scope",
            "description": "The OAuth scope.",
            "examples": [
              "example:scope"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "client_id",
          "token_url"
        ],
        "title": "CredentialsOAuthAuthentication"
      },
      "CredentialsOAuthAuthenticationCreate": {
        "properties": {
          "kind": {
            "type": "string",
            "const": "oauth_client_credentials",
            "title": "Kind",
            "description": "Type of authentication for webhook request.",
            "default": "oauth_client_credentials",
            "examples": [
              "oauth_client_credentials"
            ]
          },
          "client_id": {
            "type": "string",
            "title": "Client Id",
            "description": "The OAuth client identifier.",
            "examples": [
              "1234abcd"
            ]
          },
          "client_secret": {
            "type": "string",
            "title": "Client Secret",
            "description": "The OAuth client secret.",
            "examples": [
              "sec_123_abc"
            ]
          },
          "token_url": {
            "type": "string",
            "title": "Token Url",
            "description": "The OAuth access token URL.",
            "examples": [
              "https://www.gr4vy.com/oauth/token"
            ]
          },
          "scope": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scope",
            "description": "The OAuth scope.",
            "examples": [
              "example:scope"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "client_id",
          "client_secret",
          "token_url"
        ],
        "title": "CredentialsOAuthAuthenticationCreate"
      },
      "Cryptogram": {
        "properties": {
          "type": {
            "type": "string",
            "const": "network-token-cryptogram",
            "title": "Type",
            "description": "Always `network-token-cryptogram`.",
            "default": "network-token-cryptogram",
            "examples": [
              "network-token-cryptogram"
            ]
          },
          "cryptogram": {
            "type": "string",
            "title": "Cryptogram",
            "description": "The cryptogram of the network token.",
            "examples": [
              "A3F9C2D47E1B56A9"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "cryptogram"
        ],
        "title": "Cryptogram"
      },
      "CryptogramCreate": {
        "properties": {
          "merchant_initiated": {
            "type": "boolean",
            "title": "Merchant Initiated",
            "description": "Defines if the request is merchant initiated or not.",
            "examples": [
              false
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "merchant_initiated"
        ],
        "title": "CryptogramCreate"
      },
      "DefinitionField": {
        "properties": {
          "key": {
            "type": "string",
            "maxLength": 50,
            "minLength": 1,
            "title": "Key",
            "description": "The key of a field that can be submitted.",
            "examples": [
              "private_api_key"
            ]
          },
          "display_name": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "title": "Display Name",
            "description": "The human readable name for this field.",
            "examples": [
              "Private API key"
            ]
          },
          "required": {
            "type": "boolean",
            "title": "Required",
            "description": "Defines if this field is required when the service is created.",
            "examples": [
              true
            ]
          },
          "format": {
            "description": "Defines the type of input that needs to be rendered for this field.",
            "examples": [
              "text"
            ],
            "type": "string",
            "enum": [
              "text",
              "multiline",
              "file",
              "number",
              "timezone",
              "boolean"
            ],
            "title": "DefinitionFieldFormat",
            "x-speakeasy-unknown-values": "allow"
          },
          "secret": {
            "type": "boolean",
            "title": "Secret",
            "description": "Defines if this field is secret. When `true` the field's value is not returned when querying the payment service information.",
            "examples": [
              true
            ]
          },
          "verifiable": {
            "type": "boolean",
            "title": "Verifiable",
            "description": "Defines if this field can be verified through the verify credentials button.",
            "examples": [
              true
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "key",
          "display_name",
          "required",
          "format",
          "secret",
          "verifiable"
        ],
        "title": "DefinitionField",
        "description": "A single field that needs to be submitted for a payment service when it is created."
      },
      "DefinitionFieldFormat": {
        "type": "string",
        "enum": [
          "text",
          "multiline",
          "file",
          "number",
          "timezone",
          "boolean"
        ],
        "title": "DefinitionFieldFormat",
        "x-speakeasy-unknown-values": "allow"
      },
      "DetailedSettlementReportSpec": {
        "properties": {
          "model": {
            "type": "string",
            "const": "detailed_settlement",
            "title": "Model",
            "description": "The report model type.",
            "default": "detailed_settlement",
            "examples": [
              "detailed_settlement"
            ]
          },
          "params": {
            "additionalProperties": true,
            "type": "object",
            "title": "Params",
            "description": "The parameters for the detailed settlement report model.",
            "examples": [
              {
                "filters": {
                  "ingested_at": {
                    "end": "day_end",
                    "start": "day_start"
                  }
                }
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "params"
        ],
        "title": "DetailedSettlementReportSpec"
      },
      "DigitalWallet": {
        "properties": {
          "type": {
            "type": "string",
            "const": "digital-wallet",
            "title": "Type",
            "description": "Always `digital-wallet`.",
            "default": "digital-wallet",
            "examples": [
              "digital-wallet"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the digital wallet.",
            "examples": [
              "1808f5e6-b49c-4db9-94fa-22371ea352f5"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "The ID of the merchant account this digital wallet belongs to.",
            "examples": [
              "default"
            ]
          },
          "provider": {
            "description": "The name of the digital wallet provider.",
            "examples": [
              "apple"
            ],
            "type": "string",
            "enum": [
              "apple",
              "google",
              "click-to-pay",
              "paze"
            ],
            "title": "DigitalWalletProvider",
            "x-speakeasy-unknown-values": "allow"
          },
          "merchant_name": {
            "type": "string",
            "title": "Merchant Name",
            "description": "The name of the merchant the digital wallet is registered to.",
            "examples": [
              "ACME Inc."
            ]
          },
          "merchant_display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Display Name",
            "description": "The consumer facing name of the merchant.",
            "examples": [
              "ACME"
            ]
          },
          "merchant_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Url",
            "description": "The main URL of the merchant.",
            "examples": [
              "https://example.com"
            ]
          },
          "merchant_country_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Country Code",
            "description": "The country code where the merchant is registered.",
            "examples": [
              "US"
            ]
          },
          "merchant_category_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4,
                "minLength": 4
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Category Code",
            "description": "Merchant classification for the type of goods or services it provides.",
            "examples": [
              "5411"
            ]
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DigitalWalletAddress"
              },
              {
                "type": "null"
              }
            ],
            "description": "The merchant address associated with the digital wallet."
          },
          "extra_configuration": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Extra Configuration",
            "description": "Provider-specific configuration. Currently only used by Paze.",
            "examples": [
              {
                "network_mid_list": [
                  {
                    "mid": "1234567890",
                    "scheme": "visa"
                  }
                ],
                "network_name_list": [
                  {
                    "expected_auth_name": "ACME",
                    "scheme": "visa"
                  }
                ]
              }
            ]
          },
          "domain_names": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Domain Names",
            "description": "The list of domain names that a digital wallet can be used on (deprecated).",
            "examples": [
              "example.com"
            ]
          },
          "active_certificate_count": {
            "type": "integer",
            "title": "Active Certificate Count",
            "description": "The number of active custom certificates registered for this digital wallet (Apple Pay only).",
            "default": 0,
            "examples": [
              2
            ]
          },
          "pending_certificate_count": {
            "type": "integer",
            "title": "Pending Certificate Count",
            "description": "The number of pending custom certificates registered for this digital wallet (Apple Pay only).",
            "default": 0,
            "examples": [
              1
            ]
          },
          "expired_certificate_count": {
            "type": "integer",
            "title": "Expired Certificate Count",
            "description": "The number of expired custom certificates registered for this digital wallet (Apple Pay only).",
            "default": 0,
            "examples": [
              0
            ]
          },
          "fields": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fields",
            "description": "Custom attributes for some digital wallets. Currently only used by Click to Pay.",
            "examples": [
              {
                "digital_payment_application_id": "8faebf73-5b43-4514-b170-cbfb50c99fff",
                "digital_payment_application_name": "ACME"
              }
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date this buyer was created at.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date this buyer was last updated at.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "merchant_account_id",
          "provider",
          "merchant_name",
          "domain_names",
          "created_at",
          "updated_at"
        ],
        "title": "DigitalWallet"
      },
      "DigitalWalletAddress": {
        "properties": {
          "line1": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "title": "Line1",
            "description": "The first line of the address.",
            "examples": [
              "Stafford Appartments"
            ]
          },
          "line2": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Line2",
            "description": "The second line of the address.",
            "examples": [
              "29th Street"
            ]
          },
          "city": {
            "type": "string",
            "maxLength": 100,
            "minLength": 1,
            "title": "City",
            "description": "The city for the address.",
            "examples": [
              "San Jose"
            ]
          },
          "state_code": {
            "type": "string",
            "pattern": "^[A-Z]{2}-[A-Z0-9]{1,3}$",
            "title": "State Code",
            "description": "The code of state, county, or province for the address in ISO 3166-2 format.",
            "examples": [
              "GB-LND",
              "US-CA"
            ]
          },
          "postal_code": {
            "type": "string",
            "maxLength": 50,
            "minLength": 1,
            "title": "Postal Code",
            "description": "The zip or postal code for the address.",
            "examples": [
              "94560"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "line1",
          "city",
          "state_code",
          "postal_code"
        ],
        "title": "DigitalWalletAddress"
      },
      "DigitalWalletCreate": {
        "properties": {
          "provider": {
            "type": "string",
            "enum": [
              "apple",
              "google",
              "click-to-pay",
              "paze"
            ],
            "title": "DigitalWalletProvider",
            "x-speakeasy-unknown-values": "allow"
          },
          "merchant_name": {
            "type": "string",
            "maxLength": 1024,
            "title": "Merchant Name"
          },
          "merchant_display_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1024
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Display Name"
          },
          "merchant_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Url"
          },
          "merchant_country_code": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "examples": [
                  "DE",
                  "GB",
                  "US"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Country Code"
          },
          "merchant_category_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4,
                "minLength": 4
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Category Code"
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DigitalWalletAddress"
              },
              {
                "type": "null"
              }
            ]
          },
          "extra_configuration": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Extra Configuration"
          },
          "domain_names": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Domain Names"
          },
          "accept_terms_and_conditions": {
            "type": "boolean",
            "title": "Accept Terms And Conditions"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "provider",
          "merchant_name",
          "accept_terms_and_conditions"
        ],
        "title": "DigitalWalletCreate",
        "description": "Request body for registering a new digital wallet"
      },
      "DigitalWalletDomain": {
        "properties": {
          "domain_name": {
            "type": "string",
            "title": "Domain Name",
            "description": "The domain to add or remove.",
            "examples": [
              "example.com"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "domain_name"
        ],
        "title": "DigitalWalletDomain"
      },
      "DigitalWalletProvider": {
        "type": "string",
        "enum": [
          "apple",
          "google",
          "click-to-pay",
          "paze"
        ],
        "title": "DigitalWalletProvider",
        "x-speakeasy-unknown-values": "allow"
      },
      "DigitalWalletUpdate": {
        "properties": {
          "merchant_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1024
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Name"
          },
          "domain_names": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Domain Names"
          },
          "merchant_display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Display Name"
          },
          "merchant_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Url"
          },
          "merchant_country_code": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "examples": [
                  "DE",
                  "GB",
                  "US"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Country Code"
          },
          "merchant_category_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4,
                "minLength": 4
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Category Code"
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DigitalWalletAddress"
              },
              {
                "type": "null"
              }
            ]
          },
          "extra_configuration": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Extra Configuration"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "DigitalWalletUpdate",
        "description": "Request body for editing a registered digital wallet"
      },
      "DigitalWallets": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/DigitalWallet"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          }
        },
        "type": "object",
        "required": [
          "items"
        ],
        "title": "DigitalWallets"
      },
      "Error400": {
        "properties": {
          "type": {
            "type": "string",
            "const": "error",
            "title": "Type",
            "description": "Always `error`.",
            "default": "error",
            "examples": [
              "error"
            ]
          },
          "code": {
            "type": "string",
            "title": "Code",
            "description": "Always `bad_request`",
            "default": "bad_request",
            "examples": [
              "bad_request"
            ]
          },
          "status": {
            "type": "integer",
            "title": "Status",
            "description": "Always `400`.",
            "default": 400,
            "examples": [
              400
            ]
          },
          "message": {
            "type": "string",
            "title": "Message",
            "description": "A human readable message that provides more context to the error.",
            "default": "Generic error",
            "examples": [
              "Request failed validation"
            ]
          },
          "details": {
            "items": {
              "$ref": "#/components/schemas/ErrorDetail"
            },
            "type": "array",
            "title": "Details",
            "description": "A list of details that further ellaborate on the error.",
            "default": []
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "Error400"
      },
      "Error401": {
        "properties": {
          "type": {
            "type": "string",
            "const": "error",
            "title": "Type",
            "description": "Always `error`.",
            "default": "error",
            "examples": [
              "error"
            ]
          },
          "code": {
            "type": "string",
            "title": "Code",
            "description": "Always `unauthorized`",
            "default": "unauthorized",
            "examples": [
              "unauthorized"
            ]
          },
          "status": {
            "type": "integer",
            "title": "Status",
            "description": "Always `401`.",
            "default": 401,
            "examples": [
              401
            ]
          },
          "message": {
            "type": "string",
            "title": "Message",
            "description": "A human readable message that provides more context to the error.",
            "default": "No valid API authentication found",
            "examples": [
              "No valid API authentication found"
            ]
          },
          "details": {
            "items": {
              "$ref": "#/components/schemas/ErrorDetail"
            },
            "type": "array",
            "title": "Details",
            "description": "A list of details that further ellaborate on the error.",
            "default": []
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "Error401"
      },
      "Error403": {
        "properties": {
          "type": {
            "type": "string",
            "const": "error",
            "title": "Type",
            "description": "Always `error`.",
            "default": "error",
            "examples": [
              "error"
            ]
          },
          "code": {
            "type": "string",
            "title": "Code",
            "description": "Always `forbidden`",
            "default": "forbidden",
            "examples": [
              "forbidden"
            ]
          },
          "status": {
            "type": "integer",
            "title": "Status",
            "description": "Always `403`.",
            "default": 403,
            "examples": [
              403
            ]
          },
          "message": {
            "type": "string",
            "title": "Message",
            "description": "A human readable message that provides more context to the error.",
            "default": "Generic error",
            "examples": [
              "Request failed validation"
            ]
          },
          "details": {
            "items": {
              "$ref": "#/components/schemas/ErrorDetail"
            },
            "type": "array",
            "title": "Details",
            "description": "A list of details that further ellaborate on the error.",
            "default": []
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "Error403"
      },
      "Error404": {
        "properties": {
          "type": {
            "type": "string",
            "const": "error",
            "title": "Type",
            "description": "Always `error`.",
            "default": "error",
            "examples": [
              "error"
            ]
          },
          "code": {
            "type": "string",
            "title": "Code",
            "description": "Always `not_found`",
            "default": "not_found",
            "examples": [
              "not_found"
            ]
          },
          "status": {
            "type": "integer",
            "title": "Status",
            "description": "Always `404`.",
            "default": 404,
            "examples": [
              404
            ]
          },
          "message": {
            "type": "string",
            "title": "Message",
            "description": "A human readable message that provides more context to the error.",
            "default": "The resource could not be found",
            "examples": [
              "The resource could not be found"
            ]
          },
          "details": {
            "items": {
              "$ref": "#/components/schemas/ErrorDetail"
            },
            "type": "array",
            "title": "Details",
            "description": "A list of details that further ellaborate on the error.",
            "default": []
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "Error404"
      },
      "Error405": {
        "properties": {
          "type": {
            "type": "string",
            "const": "error",
            "title": "Type",
            "description": "Always `error`.",
            "default": "error",
            "examples": [
              "error"
            ]
          },
          "code": {
            "type": "string",
            "title": "Code",
            "description": "Always `method_not_allowed`",
            "default": "method_not_allowed",
            "examples": [
              "method_not_allowed"
            ]
          },
          "status": {
            "type": "integer",
            "title": "Status",
            "description": "Always `405`.",
            "default": 405,
            "examples": [
              405
            ]
          },
          "message": {
            "type": "string",
            "title": "Message",
            "description": "A human readable message that provides more context to the error.",
            "default": "Method Not Allowed",
            "examples": [
              "Method Not Allowed"
            ]
          },
          "details": {
            "items": {
              "$ref": "#/components/schemas/ErrorDetail"
            },
            "type": "array",
            "title": "Details",
            "description": "A list of details that further ellaborate on the error.",
            "default": []
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "Error405"
      },
      "Error409": {
        "properties": {
          "type": {
            "type": "string",
            "const": "error",
            "title": "Type",
            "description": "Always `error`.",
            "default": "error",
            "examples": [
              "error"
            ]
          },
          "code": {
            "type": "string",
            "title": "Code",
            "description": "Always `duplicate_record`",
            "default": "duplicate_record",
            "examples": [
              "duplicate_record"
            ]
          },
          "status": {
            "type": "integer",
            "title": "Status",
            "description": "Always `409`.",
            "default": 409,
            "examples": [
              409
            ]
          },
          "message": {
            "type": "string",
            "title": "Message",
            "description": "A human readable message that provides more context to the error.",
            "default": "Generic error",
            "examples": [
              "Request failed validation"
            ]
          },
          "details": {
            "items": {
              "$ref": "#/components/schemas/ErrorDetail"
            },
            "type": "array",
            "title": "Details",
            "description": "A list of details that further ellaborate on the error.",
            "default": []
          },
          "resource_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Resource Id",
            "description": "The ID of the conflicting resource.",
            "examples": [
              "cdc70639-cb9c-4222-a73f-b8ce39f7821b"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "Error409"
      },
      "Error425": {
        "properties": {
          "type": {
            "type": "string",
            "const": "error",
            "title": "Type",
            "description": "Always `error`.",
            "default": "error",
            "examples": [
              "error"
            ]
          },
          "code": {
            "type": "string",
            "title": "Code",
            "description": "Always `too_early`",
            "default": "too_early",
            "examples": [
              "too_early"
            ]
          },
          "status": {
            "type": "integer",
            "title": "Status",
            "description": "Always `425`.",
            "default": 425,
            "examples": [
              425
            ]
          },
          "message": {
            "type": "string",
            "title": "Message",
            "description": "A human readable message that provides more context to the error.",
            "default": "Generic error",
            "examples": [
              "Request failed validation"
            ]
          },
          "details": {
            "items": {
              "$ref": "#/components/schemas/ErrorDetail"
            },
            "type": "array",
            "title": "Details",
            "description": "A list of details that further ellaborate on the error.",
            "default": []
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "Error425"
      },
      "Error429": {
        "properties": {
          "type": {
            "type": "string",
            "const": "error",
            "title": "Type",
            "description": "Always `error`.",
            "default": "error",
            "examples": [
              "error"
            ]
          },
          "code": {
            "type": "string",
            "title": "Code",
            "description": "Always `too_many_requests`",
            "default": "too_many_requests",
            "examples": [
              "too_many_requests"
            ]
          },
          "status": {
            "type": "integer",
            "title": "Status",
            "description": "Always `429`.",
            "default": 429,
            "examples": [
              429
            ]
          },
          "message": {
            "type": "string",
            "title": "Message",
            "description": "A human readable message that provides more context to the error.",
            "default": "Generic error",
            "examples": [
              "Request failed validation"
            ]
          },
          "details": {
            "items": {
              "$ref": "#/components/schemas/ErrorDetail"
            },
            "type": "array",
            "title": "Details",
            "description": "A list of details that further ellaborate on the error.",
            "default": []
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "Error429"
      },
      "Error500": {
        "properties": {
          "type": {
            "type": "string",
            "const": "error",
            "title": "Type",
            "description": "Always `error`.",
            "default": "error",
            "examples": [
              "error"
            ]
          },
          "code": {
            "type": "string",
            "title": "Code",
            "description": "Always `server_error`",
            "default": "server_error",
            "examples": [
              "server_error"
            ]
          },
          "status": {
            "type": "integer",
            "title": "Status",
            "description": "Always `500`.",
            "default": 500,
            "examples": [
              500
            ]
          },
          "message": {
            "type": "string",
            "title": "Message",
            "description": "A human readable message that provides more context to the error.",
            "default": "Request could not be processed",
            "examples": [
              "Request could not be processed"
            ]
          },
          "details": {
            "items": {
              "$ref": "#/components/schemas/ErrorDetail"
            },
            "type": "array",
            "title": "Details",
            "description": "A list of details that further ellaborate on the error.",
            "default": []
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "Error500"
      },
      "Error502": {
        "properties": {
          "type": {
            "type": "string",
            "const": "error",
            "title": "Type",
            "description": "Always `error`.",
            "default": "error",
            "examples": [
              "error"
            ]
          },
          "code": {
            "type": "string",
            "title": "Code",
            "description": "Always `bad_gateway`",
            "default": "bad_gateway",
            "examples": [
              "bad_gateway"
            ]
          },
          "status": {
            "type": "integer",
            "title": "Status",
            "description": "Always `502`.",
            "default": 502,
            "examples": [
              502
            ]
          },
          "message": {
            "type": "string",
            "title": "Message",
            "description": "A human readable message that provides more context to the error.",
            "default": "Request could not be processed",
            "examples": [
              "Request could not be processed"
            ]
          },
          "details": {
            "items": {
              "$ref": "#/components/schemas/ErrorDetail"
            },
            "type": "array",
            "title": "Details",
            "description": "A list of details that further ellaborate on the error.",
            "default": []
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "Error502"
      },
      "Error504": {
        "properties": {
          "type": {
            "type": "string",
            "const": "error",
            "title": "Type",
            "description": "Always `error`.",
            "default": "error",
            "examples": [
              "error"
            ]
          },
          "code": {
            "type": "string",
            "title": "Code",
            "description": "Always `gateway_timeout`",
            "default": "gateway_timeout",
            "examples": [
              "gateway_timeout"
            ]
          },
          "status": {
            "type": "integer",
            "title": "Status",
            "default": 504
          },
          "message": {
            "type": "string",
            "title": "Message",
            "description": "A human readable message that provides more context to the error.",
            "default": "Request could not be processed",
            "examples": [
              "Request could not be processed"
            ]
          },
          "details": {
            "items": {
              "$ref": "#/components/schemas/ErrorDetail"
            },
            "type": "array",
            "title": "Details",
            "description": "A list of details that further ellaborate on the error.",
            "default": []
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "Error504"
      },
      "ErrorDetail": {
        "properties": {
          "location": {
            "description": "The part of the request where the property can be found that caused the error.",
            "examples": [
              "body"
            ],
            "type": "string",
            "enum": [
              "query",
              "body",
              "path",
              "header",
              "unknown"
            ],
            "title": "ErrorLocation",
            "x-speakeasy-unknown-values": "allow"
          },
          "pointer": {
            "anyOf": [
              {
                "type": "string",
                "format": "json-pointer"
              },
              {
                "type": "string"
              }
            ],
            "title": "Pointer",
            "description": "A JSON pointer for the particular property that caused the error.",
            "examples": [
              "/currency"
            ]
          },
          "message": {
            "type": "string",
            "title": "Message",
            "description": "A human-readdable explanation of the error.",
            "examples": [
              "Unknown ISO 4217 currency code: USX"
            ]
          },
          "type": {
            "type": "string",
            "title": "Type",
            "description": "The type of error that was raised for this property.",
            "examples": [
              "value_error"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "location",
          "pointer",
          "message",
          "type"
        ],
        "title": "ErrorDetail"
      },
      "ErrorLocation": {
        "type": "string",
        "enum": [
          "query",
          "body",
          "path",
          "header",
          "unknown"
        ],
        "title": "ErrorLocation",
        "x-speakeasy-unknown-values": "allow"
      },
      "Field": {
        "properties": {
          "key": {
            "type": "string",
            "maxLength": 50,
            "minLength": 1,
            "title": "Key",
            "description": "The ID of the configured field.",
            "examples": [
              "api_key"
            ]
          },
          "value": {
            "type": "string",
            "maxLength": 10000,
            "minLength": 1,
            "title": "Value",
            "description": "The value of the configured field.",
            "examples": [
              "key-12345"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "key",
          "value"
        ],
        "title": "Field",
        "description": "A field used in a payment service"
      },
      "Flow": {
        "type": "string",
        "enum": [
          "checkout",
          "card-transaction",
          "non-card-transaction",
          "redirect-transaction"
        ],
        "title": "Flow",
        "x-speakeasy-unknown-values": "allow"
      },
      "FlowAction": {
        "type": "string",
        "enum": [
          "select-payment-options",
          "route-transaction",
          "decline-early",
          "skip-3ds"
        ],
        "title": "FlowAction",
        "x-speakeasy-unknown-values": "allow"
      },
      "GiftCard": {
        "properties": {
          "type": {
            "type": "string",
            "const": "gift-card",
            "title": "Type",
            "description": "Always `gift-card`.",
            "default": "gift-card",
            "examples": [
              "gift-card"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the gift card.",
            "examples": [
              "356d56e5-fe16-42ae-97ee-8d55d846ae2e"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "The ID of the merchant account this buyer belongs to.",
            "examples": [
              "default"
            ]
          },
          "gift_card_service": {
            "$ref": "#/components/schemas/GiftCardService",
            "description": "The service this gift card belongs to."
          },
          "bin": {
            "type": "string",
            "title": "Bin",
            "description": "The first 6 digits of the full gift card number.",
            "examples": [
              "412345"
            ]
          },
          "sub_bin": {
            "type": "string",
            "title": "Sub Bin",
            "description": "The 3 digits after the `bin` of the full gift card number.",
            "examples": [
              "554"
            ]
          },
          "last4": {
            "type": "string",
            "title": "Last4",
            "description": "The last 4 digits for the gift card.",
            "examples": [
              "1234"
            ]
          },
          "expiration_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expiration Date",
            "description": " The date and time when this gift card expires. This is a full date/time and may be more accurate than the actual expiry date received by the gift card service.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "buyer": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Buyer"
              },
              {
                "type": "null"
              }
            ],
            "description": "The buyer for which this gift card is stored."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date this gift card record was created at.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date this gift card record was last updated at.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "last_used_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Used At",
            "description": "The timestamp when this gift card was last used in a transaction.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "usage_count": {
            "type": "integer",
            "title": "Usage Count",
            "description": "The number of times this gift card has been used in transactions.",
            "examples": [
              100
            ]
          },
          "cit_last_used_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cit Last Used At",
            "description": "The timestamp when this gift card was last used in a transaction for client initiated transactions.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "cit_usage_count": {
            "type": "integer",
            "title": "Cit Usage Count",
            "description": "The number of times this gift card has been used in transactions for client initiated transactions.",
            "examples": [
              50
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "merchant_account_id",
          "gift_card_service",
          "bin",
          "sub_bin",
          "last4",
          "created_at",
          "updated_at",
          "usage_count",
          "cit_usage_count"
        ],
        "title": "GiftCard"
      },
      "GiftCardActivationCreate": {
        "properties": {
          "number": {
            "type": "string",
            "maxLength": 19,
            "minLength": 16,
            "pattern": "^\\d+$",
            "title": "Number",
            "description": "The 16-19 digit number for the gift card.",
            "examples": [
              "4123455541234561234"
            ]
          },
          "pin": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Pin",
            "description": "The PIN for this gift card.",
            "examples": [
              "1234"
            ]
          },
          "amount": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount",
            "description": "The amount to load onto the gift card, in the smallest denomination for the currency. Required if `currency` is provided.",
            "examples": [
              5000
            ]
          },
          "currency": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{3}$",
                "examples": [
                  "EUR",
                  "GBP",
                  "USD"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Currency",
            "description": "The ISO-4217 currency code for the `amount`. Required if `amount` is provided.",
            "examples": [
              "USD"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "An optional external identifier for this activation.",
            "examples": [
              "order-12345"
            ]
          },
          "store": {
            "type": "boolean",
            "title": "Store",
            "description": "Whether to store the activated gift card in the vault. When `true`, a `pin` is required.",
            "default": false,
            "examples": [
              false
            ]
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": "The ID of the buyer to associate this gift card to. Only allowed when `store` is `true`. If this field is provided then the `buyer_external_identifier` field needs to be unset.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "buyer_external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer External Identifier",
            "description": "The `external_identifier` of the buyer to associate this gift card to. Only allowed when `store` is `true`. If this field is provided then the `buyer_id` field needs to be unset.",
            "examples": [
              "user-789123"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "number"
        ],
        "title": "GiftCardActivationCreate",
        "description": "The details used to activate a physical gift card."
      },
      "GiftCardBalanceRequest": {
        "properties": {
          "items": {
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/GiftCardRequest"
                },
                {
                  "$ref": "#/components/schemas/GiftCardStoredRequest"
                }
              ]
            },
            "type": "array",
            "title": "Items",
            "description": "A list of gift cards to request a balance for."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "GiftCardBalanceRequest"
      },
      "GiftCardCreate": {
        "properties": {
          "number": {
            "type": "string",
            "maxLength": 19,
            "minLength": 16,
            "pattern": "^\\d+$",
            "title": "Number",
            "description": "The 16-19 digit number for the gift card.",
            "examples": [
              "4123455541234561234"
            ]
          },
          "pin": {
            "type": "string",
            "minLength": 1,
            "title": "Pin",
            "description": "The PIN for this gift card.",
            "examples": [
              "1234"
            ]
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": " The ID of the buyer to associate this gift card to. If this field is provided then the `buyer_external_identifier` field needs to be unset.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "buyer_external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer External Identifier",
            "description": "The `external_identifier` of the buyer to associate this gift card to. If this field is provided then the `buyer_id` field needs to be unset.",
            "examples": [
              "buyer-12345"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "number",
          "pin"
        ],
        "title": "GiftCardCreate"
      },
      "GiftCardErrorCode": {
        "type": "string",
        "enum": [
          "invalid_gift_card",
          "expired_card",
          "inactive_card",
          "invalid_service_credentials",
          "invalid_amount",
          "incorrect_currency",
          "insufficient_funds",
          "invalid_service_configuration",
          "operation_canceled",
          "service_error",
          "service_network_error",
          "unknown_error",
          "max_gift_cards_reached",
          "suspected_fraud",
          "canceled_payment_method",
          "duplicate_transaction",
          "unexpected_state"
        ],
        "title": "GiftCardErrorCode",
        "description": "Gift card error codes.\n\nGr4vy normalised gift card error codes. Keep the naming and style in line with\nthose in the connectors framework.\n\nIf new codes are added, append them at the end or amend public simulator\ndocumentation: https://docs.gr4vy.com/guides/features/gift-cards/simulator",
        "x-speakeasy-unknown-values": "allow"
      },
      "GiftCardIssuance": {
        "properties": {
          "type": {
            "type": "string",
            "const": "gift-card-issuance",
            "title": "Type",
            "description": "Always `gift-card-issuance`.",
            "default": "gift-card-issuance",
            "examples": [
              "gift-card-issuance"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the gift card issuance.",
            "examples": [
              "356d56e5-fe16-42ae-97ee-8d55d846ae2e"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "The ID of the merchant account this gift card issuance belongs to.",
            "examples": [
              "default"
            ]
          },
          "gift_card_service": {
            "$ref": "#/components/schemas/GiftCardService",
            "description": "The service this gift card was issued against."
          },
          "gift_card_service_payment_issuance_id": {
            "type": "string",
            "title": "Gift Card Service Payment Issuance Id",
            "description": "The identifier for this issuance as provided by the gift card service.",
            "examples": [
              "12345"
            ]
          },
          "url": {
            "type": "string",
            "title": "Url",
            "description": "The URL for the issued gift card.",
            "examples": [
              "https://example.com/gift_card_issuance/ABCD1234"
            ]
          },
          "amount": {
            "type": "integer",
            "maximum": 99999999,
            "minimum": 0,
            "title": "Amount",
            "description": "The amount loaded onto the gift card, in the smallest denomination for the currency.",
            "examples": [
              5000
            ]
          },
          "currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "title": "Currency",
            "description": "The ISO-4217 currency code for the `amount`.",
            "examples": [
              "EUR",
              "GBP",
              "USD"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The external identifier provided when issuing the gift card.",
            "examples": [
              "order-12345"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date and time when this gift card was issued.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date and time when this gift card issuance was last updated.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "merchant_account_id",
          "gift_card_service",
          "gift_card_service_payment_issuance_id",
          "url",
          "amount",
          "currency",
          "created_at",
          "updated_at"
        ],
        "title": "GiftCardIssuance"
      },
      "GiftCardIssuanceCreate": {
        "properties": {
          "theme": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "title": "Theme",
            "description": "The provider theme code to issue the gift card against.",
            "examples": [
              "031111372"
            ]
          },
          "amount": {
            "type": "integer",
            "maximum": 99999999,
            "minimum": 0,
            "title": "Amount",
            "description": "The amount to load onto the gift card, in the smallest denomination for the currency.",
            "examples": [
              5000
            ]
          },
          "currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "title": "Currency",
            "description": "The ISO-4217 currency code for the `amount`.",
            "examples": [
              "EUR",
              "GBP",
              "USD"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "An optional external identifier for this issuance.",
            "examples": [
              "order-12345"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "theme",
          "amount",
          "currency"
        ],
        "title": "GiftCardIssuanceCreate",
        "description": "The details used to issue a new virtual gift card."
      },
      "GiftCardRedemption": {
        "properties": {
          "type": {
            "type": "string",
            "const": "gift-card-redemption",
            "title": "Type",
            "description": "Always `gift-card-redemption`.",
            "default": "gift-card-redemption",
            "examples": [
              "gift-card-redemption"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the gift card redemption.",
            "examples": [
              "31e65fb1-9c67-432e-9c06-83300b9d4059"
            ]
          },
          "status": {
            "description": "The status of the gift card redemption for the `payment_method`.",
            "examples": [
              "succeeded"
            ],
            "type": "string",
            "enum": [
              "created",
              "succeeded",
              "failed",
              "skipped"
            ],
            "title": "GiftCardRedemptionStatus",
            "x-speakeasy-unknown-values": "allow"
          },
          "amount": {
            "type": "integer",
            "title": "Amount",
            "description": "The amount redeemed for this gift card.",
            "examples": [
              100
            ]
          },
          "refunded_amount": {
            "type": "integer",
            "title": "Refunded Amount",
            "description": "The amount refunded for this gift card. This can not be larger than `amount`.",
            "examples": [
              50
            ]
          },
          "gift_card_service_redemption_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gift Card Service Redemption Id",
            "description": "The gift card service's unique ID for the redemption.",
            "examples": [
              "xYqd43gySMtori"
            ]
          },
          "error_code": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "invalid_gift_card",
                  "expired_card",
                  "inactive_card",
                  "invalid_service_credentials",
                  "invalid_amount",
                  "incorrect_currency",
                  "insufficient_funds",
                  "invalid_service_configuration",
                  "operation_canceled",
                  "service_error",
                  "service_network_error",
                  "unknown_error",
                  "max_gift_cards_reached",
                  "suspected_fraud",
                  "canceled_payment_method",
                  "duplicate_transaction",
                  "unexpected_state"
                ],
                "title": "GiftCardErrorCode",
                "description": "Gift card error codes.\n\nGr4vy normalised gift card error codes. Keep the naming and style in line with\nthose in the connectors framework.\n\nIf new codes are added, append them at the end or amend public simulator\ndocumentation: https://docs.gr4vy.com/guides/features/gift-cards/simulator",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "If this gift card redemption resulted in an error, this will contain the internal code for the error.",
            "examples": [
              "expired_card"
            ]
          },
          "raw_error_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Raw Error Code",
            "description": "If this gift card redemption resulted in an error, this will contain the raw error code received from the gift card provider.",
            "examples": [
              "10001"
            ]
          },
          "raw_error_message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Raw Error Message",
            "description": "If this gift card redemption resulted in an error, this will contain the raw error message received from the gift card provider.",
            "examples": [
              "Card expired"
            ]
          },
          "gift_card": {
            "$ref": "#/components/schemas/TransactionGiftCard",
            "description": "The gift card used for this redemption"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "status",
          "amount",
          "refunded_amount",
          "gift_card"
        ],
        "title": "GiftCardRedemption"
      },
      "GiftCardRedemptionStatus": {
        "type": "string",
        "enum": [
          "created",
          "succeeded",
          "failed",
          "skipped"
        ],
        "title": "GiftCardRedemptionStatus",
        "x-speakeasy-unknown-values": "allow"
      },
      "GiftCardRequest": {
        "properties": {
          "number": {
            "type": "string",
            "maxLength": 19,
            "minLength": 16,
            "pattern": "^\\d+$",
            "title": "Number",
            "description": "The 16-19 digit number for the gift card.",
            "examples": [
              "4123455541234561234"
            ]
          },
          "pin": {
            "type": "string",
            "minLength": 1,
            "title": "Pin",
            "description": "The PIN for this gift card.",
            "examples": [
              "1234"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "number",
          "pin"
        ],
        "title": "GiftCardRequest",
        "description": "The number and pin for a gift card to fetch a balance for."
      },
      "GiftCardService": {
        "properties": {
          "type": {
            "type": "string",
            "const": "gift-card-service",
            "title": "Type",
            "description": "Always `gift-card-service`.",
            "default": "gift-card-service",
            "examples": [
              "gift-card-service"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the gift card service.",
            "examples": [
              "35b60feec-a7c7-4844-b503-f39b09192d81"
            ]
          },
          "gift_card_service_definition_id": {
            "description": "The ID of the definition for this service.",
            "examples": [
              "qwikcilver-gift-card"
            ],
            "type": "string",
            "enum": [
              "mock-gift-card",
              "qwikcilver-gift-card",
              "valuelink-gift-card"
            ],
            "title": "GiftCardServiceProvider",
            "x-speakeasy-unknown-values": "allow"
          },
          "display_name": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "title": "Display Name",
            "description": "The display name for the gift card service.",
            "examples": [
              "Qwikcilver USA"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "gift_card_service_definition_id",
          "display_name"
        ],
        "title": "GiftCardService"
      },
      "GiftCardServiceProvider": {
        "type": "string",
        "enum": [
          "mock-gift-card",
          "qwikcilver-gift-card",
          "valuelink-gift-card"
        ],
        "title": "GiftCardServiceProvider",
        "x-speakeasy-unknown-values": "allow"
      },
      "GiftCardStoredRequest": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID of the field to fetch a balance for.",
            "examples": [
              "356d56e5-fe16-42ae-97ee-8d55d846ae2e"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id"
        ],
        "title": "GiftCardStoredRequest",
        "description": "The ID of a stored gift card to fetch a balance for."
      },
      "GiftCardSummaries": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/GiftCardSummary"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          }
        },
        "type": "object",
        "required": [
          "items"
        ],
        "title": "GiftCardSummaries"
      },
      "GiftCardSummary": {
        "properties": {
          "type": {
            "type": "string",
            "const": "gift-card",
            "title": "Type",
            "description": "Always `gift-card`.",
            "default": "gift-card",
            "examples": [
              "gift-card"
            ]
          },
          "id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id",
            "description": "The ID for the gift card.",
            "examples": [
              "356d56e5-fe16-42ae-97ee-8d55d846ae2e"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "The ID of the merchant account this buyer belongs to.",
            "examples": [
              "default"
            ]
          },
          "bin": {
            "type": "string",
            "title": "Bin",
            "description": "The first 6 digits of the full gift card number.",
            "examples": [
              "412345"
            ]
          },
          "sub_bin": {
            "type": "string",
            "title": "Sub Bin",
            "description": "The 3 digits after the `bin` of the full gift card number.",
            "examples": [
              "554"
            ]
          },
          "last4": {
            "type": "string",
            "title": "Last4",
            "description": "The last 4 digits for the gift card.",
            "examples": [
              "1234"
            ]
          },
          "currency": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{3}$",
                "examples": [
                  "EUR",
                  "GBP",
                  "USD"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Currency",
            "description": "The ISO-4217 currency code that this gift card has a balance for.",
            "examples": [
              "AUD"
            ]
          },
          "expiration_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expiration Date",
            "description": " The date and time when this gift card expires. This is a full date/time and may be more accurate than the actual expiry date received by the gift card service.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "balance": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Balance",
            "description": "The amount remaining on the balance for this gift card according to the gift card service. This may be `null` if the balance could not be fetched.",
            "examples": [
              1299
            ]
          },
          "balance_error_code": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "invalid_gift_card",
                  "expired_card",
                  "inactive_card",
                  "invalid_service_credentials",
                  "invalid_amount",
                  "incorrect_currency",
                  "insufficient_funds",
                  "invalid_service_configuration",
                  "operation_canceled",
                  "service_error",
                  "service_network_error",
                  "unknown_error",
                  "max_gift_cards_reached",
                  "suspected_fraud",
                  "canceled_payment_method",
                  "duplicate_transaction",
                  "unexpected_state"
                ],
                "title": "GiftCardErrorCode",
                "description": "Gift card error codes.\n\nGr4vy normalised gift card error codes. Keep the naming and style in line with\nthose in the connectors framework.\n\nIf new codes are added, append them at the end or amend public simulator\ndocumentation: https://docs.gr4vy.com/guides/features/gift-cards/simulator",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "If the last balance update failed, this will contain the internal code for this error.",
            "examples": [
              "incorrect_currency"
            ]
          },
          "balance_raw_error_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Balance Raw Error Code",
            "description": "If the last balance update failed, this will contain the the raw error code received from the gift card provider.",
            "examples": [
              "10363"
            ]
          },
          "balance_raw_error_message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Balance Raw Error Message",
            "description": "If the last balance update failed, this will contain the the raw error message received from the gift card provider.",
            "examples": [
              "This currency is not supported by the merchant."
            ]
          },
          "last_used_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Used At",
            "description": "The timestamp when this gift card was last used in a transaction.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "usage_count": {
            "type": "integer",
            "title": "Usage Count",
            "description": "The number of times this gift card has been used in transactions.",
            "examples": [
              100
            ]
          },
          "cit_last_used_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cit Last Used At",
            "description": "The timestamp when this gift card was last used in a transaction for client initiated transactions.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "cit_usage_count": {
            "type": "integer",
            "title": "Cit Usage Count",
            "description": "The number of times this gift card has been used in transactions for client initiated transactions.",
            "examples": [
              50
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "merchant_account_id",
          "bin",
          "sub_bin",
          "last4",
          "usage_count",
          "cit_usage_count"
        ],
        "title": "GiftCardSummary"
      },
      "GiftCardTokenTransactionCreate": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the gift card to charge.",
            "examples": [
              "356d56e5-fe16-42ae-97ee-8d55d846ae2e"
            ]
          },
          "amount": {
            "type": "integer",
            "maximum": 99999999,
            "minimum": 0,
            "title": "Amount",
            "description": "The monetary amount for this transaction to charge against the gift card, in the smallest currency unit (for example, cents or pence).",
            "examples": [
              1299
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "amount"
        ],
        "title": "GiftCardTokenTransactionCreate"
      },
      "GiftCardTransactionCreate": {
        "properties": {
          "number": {
            "type": "string",
            "maxLength": 19,
            "minLength": 16,
            "pattern": "^\\d+$",
            "title": "Number",
            "description": "The 16-19 digit number for the gift card.",
            "examples": [
              "4123455541234561234"
            ]
          },
          "pin": {
            "type": "string",
            "minLength": 1,
            "title": "Pin",
            "description": "The PIN for this gift card.",
            "examples": [
              "1234"
            ]
          },
          "amount": {
            "type": "integer",
            "title": "Amount",
            "description": "The monetary amount for this transaction to charge against the gift card, in the smallest currency unit (for example, cents or pence).",
            "examples": [
              1299
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "number",
          "pin",
          "amount"
        ],
        "title": "GiftCardTransactionCreate",
        "description": "Create a charge against a gift card"
      },
      "GiftCards": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/GiftCard"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          },
          "limit": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "description": "The number of items for this page.",
            "default": 20,
            "examples": [
              20
            ]
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "The cursor pointing at the next page of items.",
            "examples": [
              "ZXhhbXBsZTE"
            ]
          },
          "previous_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Cursor",
            "description": "The cursor pointing at the previous page of items.",
            "examples": [
              "Xkjss7asS"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "GiftCards"
      },
      "GooglePayAssuranceDetails": {
        "properties": {
          "account_verified": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Verified",
            "description": "Defines if an account was verified.",
            "examples": [
              true
            ]
          },
          "card_holder_authenticated": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Card Holder Authenticated",
            "description": "Defines if the card holder was authenticated.",
            "examples": [
              true
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "GooglePayAssuranceDetails",
        "description": "The assurance details provided by Google Pay"
      },
      "GooglePayFPANPaymentMethodCreate": {
        "properties": {
          "expiration_date": {
            "type": "string",
            "maxLength": 5,
            "minLength": 5,
            "pattern": "^\\d{2}/\\d{2}$",
            "title": "Expiration Date",
            "description": "The expiration date of the card, formatted `MM/YY`.",
            "examples": [
              "12/30"
            ]
          },
          "number": {
            "type": "string",
            "maxLength": 19,
            "minLength": 13,
            "pattern": "^\\d+$",
            "title": "Number",
            "description": "The 13-19 digit number for this card.",
            "examples": [
              "4111111111111111"
            ]
          },
          "buyer_external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer External Identifier",
            "description": "The external identifier of the buyer to attach the method to.",
            "examples": [
              "buyer-12345"
            ]
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": "The ID of the buyer to attach the method to.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant reference for this payment method.",
            "examples": [
              "payment-method-12345"
            ]
          },
          "card_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "credit",
                  "debit",
                  "prepaid"
                ],
                "title": "CardType",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The type of the card used",
            "examples": [
              "credit"
            ]
          },
          "method": {
            "type": "string",
            "const": "googlepay_pan_only",
            "title": "Method",
            "description": "Aways `googlepay_pan_only`.",
            "examples": [
              "googlepay_pan_only"
            ]
          },
          "redirect_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "pattern": "^data:application/json;base64,.*$",
                "examples": [
                  "data:application/json;base64,eyJ0YXJnZXQiOiAib3BlbmVyIiwgImNoYW5uZWwiOiAiY2hhbm5lbCIsICJvcmlnaW5fdXJsIjogImh0dHBzOi8vZ3I0dnkuYXBwIn0="
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Redirect Url",
            "description": "The URL to redirect a user back to after the complete 3DS in browser.",
            "examples": [
              "https://example.com"
            ]
          },
          "security_code": {
            "type": "null",
            "title": "Security Code",
            "description": "The 3 or 4 digit security code often found on the card. This often referred to as the CVV or CVD.",
            "examples": [
              "123"
            ]
          },
          "message_expiration": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Message Expiration",
            "description": "Expiry of the Google Pay token the PAN was decrypted from, as milliseconds since the epoch.",
            "examples": [
              "1759309000000"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "expiration_date",
          "number",
          "method"
        ],
        "title": "GooglePayFPANPaymentMethodCreate",
        "description": "Create a Google Pay payment with an FPAN."
      },
      "GooglePayPaymentMethodCreate": {
        "properties": {
          "buyer_external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer External Identifier",
            "description": "The external identifier of the buyer to create a payment for.",
            "examples": [
              "buyer-12345"
            ]
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": "The ID of the buyer to retrieve billing details for.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "cardholder_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Cardholder Name",
            "description": "The card holder name associated to the original card for the token.",
            "examples": [
              "John Luhn"
            ]
          },
          "redirect_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "pattern": "^data:application/json;base64,.*$",
                "examples": [
                  "data:application/json;base64,eyJ0YXJnZXQiOiAib3BlbmVyIiwgImNoYW5uZWwiOiAiY2hhbm5lbCIsICJvcmlnaW5fdXJsIjogImh0dHBzOi8vZ3I0dnkuYXBwIn0="
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Redirect Url",
            "description": "The URL to redirect a user back to after the complete 3DS in browser.",
            "examples": [
              "https://example.com"
            ]
          },
          "card_suffix": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4,
                "minLength": 4
              },
              {
                "type": "null"
              }
            ],
            "title": "Card Suffix",
            "description": "The last 4 digits of the original card used to generate the token.",
            "examples": [
              "1234"
            ]
          },
          "card_scheme": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Card Scheme",
            "description": "The original card scheme for which the token was generated.",
            "examples": [
              "visa"
            ]
          },
          "card_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Card Type",
            "description": "The payment scheme of the card.",
            "examples": [
              "credit"
            ]
          },
          "method": {
            "type": "string",
            "const": "googlepay",
            "title": "Method",
            "description": "Always `googlepay`",
            "examples": [
              "googlepay"
            ]
          },
          "token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "additionalProperties": true,
                "type": "object"
              }
            ],
            "title": "Token",
            "description": "The opaque token as received from the Google Pay JS library. This format may change between JS library versions.",
            "examples": [
              "{\"signature\":\"MEUCIEg4a4A+pu+AUjgVjBpfz9msLqQOkT5kz7htz..."
            ]
          },
          "assurance_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/GooglePayAssuranceDetails"
              },
              {
                "type": "null"
              }
            ],
            "description": "The assurance details provided by Google Pay"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "method",
          "token"
        ],
        "title": "GooglePayPaymentMethodCreate",
        "description": "Create a Google Pay transaction with a device token."
      },
      "GooglePayPaymentOptionContext": {
        "properties": {
          "merchant_name": {
            "type": "string",
            "title": "Merchant Name"
          },
          "supported_schemes": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Supported Schemes"
          },
          "gateway": {
            "type": "string",
            "title": "Gateway"
          },
          "gateway_merchant_id": {
            "type": "string",
            "title": "Gateway Merchant Id"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "merchant_name",
          "supported_schemes",
          "gateway",
          "gateway_merchant_id"
        ],
        "title": "GooglePayPaymentOptionContext"
      },
      "GooglePaySession": {
        "properties": {
          "gateway_merchant_id": {
            "type": "string",
            "title": "Gateway Merchant Id",
            "description": "The gateway ID for the merchant as assigned by our platform.",
            "examples": [
              "app.gr4vy.sandbox.example.default"
            ]
          },
          "token": {
            "type": "string",
            "title": "Token",
            "description": "The session token for Google Pay.",
            "examples": [
              "UouQUGXehuqwQ7FI"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "gateway_merchant_id",
          "token"
        ],
        "title": "GooglePaySession"
      },
      "GooglePaySessionRequest": {
        "properties": {
          "origin_domain": {
            "type": "string",
            "title": "Origin Domain",
            "description": "The domain on which Google Pay is being loaded.",
            "examples": [
              "example.com"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "origin_domain"
        ],
        "title": "GooglePaySessionRequest"
      },
      "GuestBuyer": {
        "properties": {
          "display_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name",
            "description": "The display name for the buyer.",
            "examples": [
              "John Doe"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant identifier for this buyer.",
            "examples": [
              "buyer-12345"
            ]
          },
          "billing_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BillingDetails"
              },
              {
                "type": "null"
              }
            ],
            "description": "The billing name, address, email, and other fields for this buyer."
          },
          "account_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Number",
            "description": "The buyer account number"
          },
          "shipping_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ShippingDetailsCreate"
              },
              {
                "type": "null"
              }
            ],
            "description": "The optional shipping details for this buyer."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "GuestBuyer"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "IncrementalAuthorizationStatus": {
        "type": "string",
        "enum": [
          "succeeded",
          "failed"
        ],
        "title": "IncrementalAuthorizationStatus",
        "x-speakeasy-unknown-values": "allow"
      },
      "InstrumentType": {
        "type": "string",
        "enum": [
          "pan",
          "card_token",
          "redirect",
          "redirect_token",
          "googlepay",
          "applepay",
          "network_token",
          "plaid",
          "bank"
        ],
        "title": "InstrumentType",
        "x-speakeasy-unknown-values": "allow"
      },
      "IntegrationClient": {
        "type": "string",
        "enum": [
          "redirect",
          "web",
          "android",
          "ios"
        ],
        "title": "IntegrationClient",
        "x-speakeasy-unknown-values": "allow"
      },
      "MerchantAccount": {
        "properties": {
          "type": {
            "type": "string",
            "const": "merchant-account",
            "title": "Type",
            "description": "Always `merchant-account`.",
            "default": "merchant-account",
            "examples": [
              "merchant-account"
            ]
          },
          "id": {
            "type": "string",
            "maxLength": 50,
            "minLength": 1,
            "title": "Id",
            "description": "The ID for the merchant account.",
            "examples": [
              "merchant-12345"
            ]
          },
          "display_name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "title": "Display Name",
            "description": "The display name for the buyer.",
            "examples": [
              "John Doe"
            ]
          },
          "loon_client_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Loon Client Key",
            "description": "Client key provided by Pagos to authenticate to the Loon API. Loon is the Account Updater service we use and if the field is not set or if it's set to null, the Account Updater service doesn't get configured. If the field is set to `null`, the other `loon_*` fields must be set to null as well.",
            "deprecated": true,
            "examples": [
              "client-key-1234"
            ]
          },
          "loon_secret_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Loon Secret Key",
            "description": "Secret key provided by Pagos to authenticate to the Loon API. Loon is the Account Updater service we use and if the field is not set or if it's set to null, the Account Updater service doesn't get configured. If the field is set to `null`, the other `loon_*` fields must be set to null as well.",
            "deprecated": true,
            "examples": [
              "key-12345"
            ]
          },
          "loon_accepted_schemes": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "enum": [
                    "accel",
                    "amex",
                    "bancontact",
                    "carte-bancaire",
                    "cirrus",
                    "culiance",
                    "dankort",
                    "diners-club",
                    "discover",
                    "eftpos-australia",
                    "elo",
                    "hipercard",
                    "jcb",
                    "maestro",
                    "mastercard",
                    "mir",
                    "nyce",
                    "other",
                    "pulse",
                    "qcard",
                    "rupay",
                    "star",
                    "uatp",
                    "unionpay",
                    "visa"
                  ],
                  "title": "CardScheme",
                  "x-speakeasy-unknown-values": "allow"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Loon Accepted Schemes",
            "description": "Card schemes accepted when creating jobs using this set of Loon API keys. Loon is the Account Updater service we use and if the field is not set or if it's set to null, the Account Updater service doesn't get configured. If the field is set to `null`, the other `loon_*` fields must be set to null as well.",
            "examples": [
              [
                "visa"
              ]
            ]
          },
          "loon_merchant_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Loon Merchant Account Id",
            "description": "Merchant account ID provided by Pagos to identify this merchant account on the Loon API. Loon is the Account Updater service we use and if the field is not set or if it's set to null, the Account Updater service doesn't get configured. If the field is set to `null`, the other `loon_*` fields must be set to null as well.",
            "examples": [
              "loon-merchant-account-1234"
            ]
          },
          "account_updater_request_encryption_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Updater Request Encryption Key",
            "description": "The public key used to encrypt the request to the Real-Time Account Updater service. The Account Updater service is used to update card details when cards are lost, stolen or expired. If the field is not set or if it's set to `null`, the Account Updater service doesn't get called. If the field is set, the other `account_updater_*` fields must be set as well.",
            "deprecated": true,
            "examples": [
              "key-1234"
            ]
          },
          "account_updater_request_encryption_key_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Updater Request Encryption Key Id",
            "description": "The ID of the key used to encrypt the request to the Real-Time Account Updater service. The Account Updater service is used to update card details when cards are lost, stolen or expired. If the field is not set or if it's set to `null`, the Account Updater service doesn't get called. If the field is set, the other `account_updater_*` fields must be set as well.",
            "deprecated": true,
            "examples": [
              "key-id-1234"
            ]
          },
          "account_updater_response_decryption_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Updater Response Decryption Key",
            "description": "The key used to decrypt the response from the Real-Time Account Updater service. The Account Updater service is used to update card details when cards are lost, stolen or expired. If the field is not set or if it's set to `null`, the Account Updater service doesn't get called. If the field is set, the other `account_updater_*` fields must be set as well.",
            "deprecated": true,
            "examples": [
              "key-1234"
            ]
          },
          "account_updater_response_decryption_key_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Updater Response Decryption Key Id",
            "description": "The ID of the key used to decrypt the request from the Real-Time Account Updater service. The Account Updater service is used to update card details when cards are lost, stolen or expired. If the field is not set or if it's set to `null`, the Account Updater service doesn't get called. If the field is set, the other `account_updater_*` fields must be set as well.",
            "deprecated": true,
            "examples": [
              "key-id-1234"
            ]
          },
          "account_updater_enabled": {
            "type": "boolean",
            "title": "Account Updater Enabled",
            "description": "Whether the Real-Time Account Updater service is enabled for this merchant account. The Account Updater service is used to update card details when cards are lost, stolen or expired. If the field is not set or if it's set to `false`, the Account Updater service doesn't get called if a payment fails with expired or invalid card details. If the field is set to `true`, the service is called. Please note that for this to work the other `account_updater_* fields` must be set as well.",
            "examples": [
              true
            ]
          },
          "over_capture_amount": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Over Capture Amount",
            "description": "The maximum monetary amount allowed for over-capture, in the smallest currency unit, for example `1299` cents to allow for an over-capture of `$12.99`.",
            "examples": [
              1299
            ]
          },
          "over_capture_percentage": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Over Capture Percentage",
            "description": "The maximum percentage allowed for over-capture, for example `25` to allow for an over-capture of `25%` of the original transaction amount.",
            "examples": [
              25
            ]
          },
          "visa_network_tokens_requestor_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Visa Network Tokens Requestor Id",
            "description": "Requestor ID provided for Visa after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "visa_network_tokens_app_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Visa Network Tokens App Id",
            "description": "Application ID provided for Visa after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "amex_network_tokens_requestor_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amex Network Tokens Requestor Id",
            "description": "Requestor ID provided for American Express after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "amex_network_tokens_app_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amex Network Tokens App Id",
            "description": "Application ID provided for American Express after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "mastercard_network_tokens_requestor_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Mastercard Network Tokens Requestor Id",
            "description": "Requestor ID provided for Mastercard after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "mastercard_network_tokens_app_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Mastercard Network Tokens App Id",
            "description": "Application ID provided for Mastercard after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "discover_network_tokens_requestor_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Discover Network Tokens Requestor Id",
            "description": "Requestor ID provided for Discover after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "discover_network_tokens_app_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Discover Network Tokens App Id",
            "description": "Application ID provided for Discover after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "async_network_tokens_enabled": {
            "type": "boolean",
            "title": "Async Network Tokens Enabled",
            "description": "When enabled network tokens will be generated asynchronously and only used on subsequent transactions to speed up transaction processing.",
            "default": false,
            "examples": [
              true,
              false
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date this merchant account was created at.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date this merchant account was last updated at.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "display_name",
          "account_updater_enabled",
          "created_at",
          "updated_at"
        ],
        "title": "MerchantAccount"
      },
      "MerchantAccountCreate": {
        "properties": {
          "account_updater_enabled": {
            "type": "boolean",
            "title": "Account Updater Enabled",
            "description": "Whether the Real-Time Account Updater service is enabled for this merchant account. The Account Updater service is used to update card details when cards are lost, stolen or expired. If the field is not set or if it's set to `false`, the Account Updater service doesn't get called if a payment fails with expired or invalid card details. If the field is set to `true`, the service is called. Please note that for this to work the other `account_updater_* fields` must be set as well.",
            "default": false,
            "examples": [
              true
            ]
          },
          "account_updater_request_encryption_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Updater Request Encryption Key",
            "description": "The public key used to encrypt the request to the Real-Time Account Updater service. The Account Updater service is used to update card details when cards are lost, stolen or expired. If the field is not set or if it's set to `null`, the Account Updater service doesn't get called. If the field is set, the other `account_updater_*` fields must be set as well.",
            "deprecated": true,
            "examples": [
              "key-1234"
            ]
          },
          "account_updater_request_encryption_key_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Updater Request Encryption Key Id",
            "description": "The ID of the key used to encrypt the request to the Real-Time Account Updater service. The Account Updater service is used to update card details when cards are lost, stolen or expired. If the field is not set or if it's set to `null`, the Account Updater service doesn't get called. If the field is set, the other `account_updater_*` fields must be set as well.",
            "deprecated": true,
            "examples": [
              "key-id-1234"
            ]
          },
          "account_updater_response_decryption_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Updater Response Decryption Key",
            "description": "The key used to decrypt the response from the Real-Time Account Updater service. The Account Updater service is used to update card details when cards are lost, stolen or expired. If the field is not set or if it's set to `null`, the Account Updater service doesn't get called. If the field is set, the other `account_updater_*` fields must be set as well.",
            "deprecated": true,
            "examples": [
              "key-1234"
            ]
          },
          "account_updater_response_decryption_key_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Updater Response Decryption Key Id",
            "description": "The ID of the key used to decrypt the request from the Real-Time Account Updater service. The Account Updater service is used to update card details when cards are lost, stolen or expired. If the field is not set or if it's set to `null`, the Account Updater service doesn't get called. If the field is set, the other `account_updater_*` fields must be set as well.",
            "deprecated": true,
            "examples": [
              "key-id-1234"
            ]
          },
          "over_capture_amount": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Over Capture Amount",
            "description": "The maximum monetary amount allowed for over-capture, in the smallest currency unit, for example `1299` cents to allow for an over-capture of `$12.99`.",
            "examples": [
              1299
            ]
          },
          "over_capture_percentage": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Over Capture Percentage",
            "description": "The maximum percentage allowed for over-capture, for example `25` to allow for an over-capture of `25%` of the original transaction amount.",
            "examples": [
              25
            ]
          },
          "loon_client_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Loon Client Key",
            "description": "Client key provided by Pagos to authenticate to the Loon API. Loon is the Account Updater service we use and if the field is not set or if it's set to null, the Account Updater service doesn't get configured. If the field is set to `null`, the other `loon_*` fields must be set to null as well.",
            "deprecated": true,
            "examples": [
              "client-key-1234"
            ]
          },
          "loon_secret_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Loon Secret Key",
            "description": "Secret key provided by Pagos to authenticate to the Loon API. Loon is the Account Updater service we use and if the field is not set or if it's set to null, the Account Updater service doesn't get configured. If the field is set to `null`, the other `loon_*` fields must be set to null as well.",
            "deprecated": true,
            "examples": [
              "key-12345"
            ]
          },
          "loon_accepted_schemes": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "enum": [
                    "accel",
                    "amex",
                    "bancontact",
                    "carte-bancaire",
                    "cirrus",
                    "culiance",
                    "dankort",
                    "diners-club",
                    "discover",
                    "eftpos-australia",
                    "elo",
                    "hipercard",
                    "jcb",
                    "maestro",
                    "mastercard",
                    "mir",
                    "nyce",
                    "other",
                    "pulse",
                    "qcard",
                    "rupay",
                    "star",
                    "uatp",
                    "unionpay",
                    "visa"
                  ],
                  "title": "CardScheme",
                  "x-speakeasy-unknown-values": "allow"
                },
                "type": "array",
                "uniqueItems": true
              },
              {
                "type": "null"
              }
            ],
            "title": "Loon Accepted Schemes",
            "description": "Card schemes accepted when creating jobs using this set of Loon API keys. Loon is the Account Updater service we use and if the field is not set or if it's set to null, the Account Updater service doesn't get configured. If the field is set to `null`, the other `loon_*` fields must be set to null as well.",
            "examples": [
              [
                "visa"
              ]
            ]
          },
          "loon_merchant_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Loon Merchant Account Id",
            "description": "Merchant account ID provided by Pagos to identify this merchant account on the Loon API. Loon is the Account Updater service we use and if the field is not set or if it's set to null, the Account Updater service doesn't get configured. If the field is set to `null`, the other `loon_*` fields must be set to null as well.",
            "examples": [
              "loon-merchant-account-1234"
            ]
          },
          "visa_network_tokens_requestor_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Visa Network Tokens Requestor Id",
            "description": "Requestor ID provided for Visa after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "visa_network_tokens_app_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Visa Network Tokens App Id",
            "description": "Application ID provided for Visa after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "amex_network_tokens_requestor_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Amex Network Tokens Requestor Id",
            "description": "Requestor ID provided for American Express after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "amex_network_tokens_app_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Amex Network Tokens App Id",
            "description": "Application ID provided for American Express after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "mastercard_network_tokens_requestor_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Mastercard Network Tokens Requestor Id",
            "description": "Requestor ID provided for Mastercard after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "mastercard_network_tokens_app_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Mastercard Network Tokens App Id",
            "description": "Application ID provided for Mastercard after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "discover_network_tokens_requestor_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Discover Network Tokens Requestor Id",
            "description": "Requestor ID provided for Discover after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "discover_network_tokens_app_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Discover Network Tokens App Id",
            "description": "Application ID provided for Discover after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "async_network_tokens_enabled": {
            "type": "boolean",
            "title": "Async Network Tokens Enabled",
            "description": "When enabled network tokens will be generated asynchronously and only used on subsequent transactions to speed up transaction processing.",
            "default": false,
            "examples": [
              true,
              false
            ]
          },
          "id": {
            "type": "string",
            "maxLength": 50,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9-]+$",
            "title": "Id",
            "description": "The ID for the merchant account.",
            "examples": [
              "merchant-12345"
            ]
          },
          "display_name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "title": "Display Name",
            "description": "The display name for the merchant account.",
            "examples": [
              "Example"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "display_name"
        ],
        "title": "MerchantAccountCreate"
      },
      "MerchantAccountSummary": {
        "properties": {
          "type": {
            "type": "string",
            "const": "merchant-account",
            "title": "Type",
            "default": "merchant-account"
          },
          "id": {
            "type": "string",
            "title": "Id"
          },
          "display_name": {
            "type": "string",
            "title": "Display Name"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
          },
          "over_capture_amount": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Over Capture Amount"
          },
          "over_capture_percentage": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Over Capture Percentage"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "display_name",
          "created_at",
          "updated_at"
        ],
        "title": "MerchantAccountSummary"
      },
      "MerchantAccountThreeDSConfiguration": {
        "properties": {
          "merchant_acquirer_bin": {
            "type": "string",
            "maxLength": 11,
            "title": "Merchant Acquirer Bin",
            "description": "Acquirer BIN to use when calling 3DS through this scheme.",
            "examples": [
              "516327"
            ]
          },
          "merchant_acquirer_id": {
            "type": "string",
            "maxLength": 35,
            "title": "Merchant Acquirer Id",
            "description": "Merchant ID to use when calling 3DS through this scheme.",
            "examples": [
              "123456789012345"
            ]
          },
          "merchant_name": {
            "type": "string",
            "maxLength": 40,
            "title": "Merchant Name",
            "description": "",
            "examples": [
              "Acme Inc."
            ]
          },
          "merchant_country_code": {
            "type": "string",
            "title": "Merchant Country Code",
            "description": "The merchant's ISO 3166-1 numeric country code.",
            "examples": [
              "840"
            ]
          },
          "merchant_category_code": {
            "type": "string",
            "maxLength": 4,
            "minLength": 4,
            "title": "Merchant Category Code",
            "description": "Merchant category code to use when calling 3DS through this scheme.",
            "examples": [
              "1234"
            ]
          },
          "merchant_url": {
            "type": "string",
            "title": "Merchant Url",
            "description": "URL to send when calling 3DS through this scheme.",
            "examples": [
              "https://example.com"
            ]
          },
          "type": {
            "type": "string",
            "const": "merchant-account.three-ds-configuration",
            "title": "Type",
            "description": "Always `merchant-account.three-ds-configuration`.",
            "default": "merchant-account.three-ds-configuration",
            "examples": [
              "merchant-account.three-ds-configuration"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "Unique identifier for the 3DS configuration"
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "ID of the associated merchant account"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date and time when this 3DS configuration was first created in our system.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date and time when this 3DS configuration was last updated in our system.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "scheme": {
            "description": "The card scheme for this 3DS configuration",
            "type": "string",
            "enum": [
              "accel",
              "amex",
              "bancontact",
              "carte-bancaire",
              "cirrus",
              "culiance",
              "dankort",
              "diners-club",
              "discover",
              "eftpos-australia",
              "elo",
              "hipercard",
              "jcb",
              "maestro",
              "mastercard",
              "mir",
              "nyce",
              "other",
              "pulse",
              "qcard",
              "rupay",
              "star",
              "uatp",
              "unionpay",
              "visa"
            ],
            "title": "CardScheme",
            "x-speakeasy-unknown-values": "allow"
          },
          "currency": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{3}$",
                "examples": [
                  "EUR",
                  "GBP",
                  "USD"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Currency",
            "description": "ISO 4217 currency code (3 characters). If null, the configuration applies to all currencies.",
            "examples": [
              "USD",
              "EUR",
              "GBP"
            ]
          },
          "metadata": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object",
            "title": "Metadata",
            "description": "Additional information about the 3DS configuration, stored as key-value pairs."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "merchant_acquirer_bin",
          "merchant_acquirer_id",
          "merchant_name",
          "merchant_country_code",
          "merchant_category_code",
          "merchant_url",
          "id",
          "merchant_account_id",
          "created_at",
          "updated_at",
          "scheme",
          "currency",
          "metadata"
        ],
        "title": "MerchantAccountThreeDSConfiguration"
      },
      "MerchantAccountThreeDSConfigurationCreate": {
        "properties": {
          "merchant_acquirer_bin": {
            "type": "string",
            "maxLength": 11,
            "title": "Merchant Acquirer Bin",
            "description": "Acquirer BIN to use when calling 3DS through this scheme.",
            "examples": [
              "516327"
            ]
          },
          "merchant_acquirer_id": {
            "type": "string",
            "maxLength": 35,
            "title": "Merchant Acquirer Id",
            "description": "Merchant ID to use when calling 3DS through this scheme.",
            "examples": [
              "123456789012345"
            ]
          },
          "merchant_name": {
            "type": "string",
            "maxLength": 40,
            "title": "Merchant Name",
            "description": "",
            "examples": [
              "Acme Inc."
            ]
          },
          "merchant_country_code": {
            "type": "string",
            "title": "Merchant Country Code",
            "description": "The merchant's ISO 3166-1 numeric country code.",
            "examples": [
              "840"
            ]
          },
          "merchant_category_code": {
            "type": "string",
            "maxLength": 4,
            "minLength": 4,
            "title": "Merchant Category Code",
            "description": "Merchant category code to use when calling 3DS through this scheme.",
            "examples": [
              "1234"
            ]
          },
          "merchant_url": {
            "type": "string",
            "title": "Merchant Url",
            "description": "URL to send when calling 3DS through this scheme.",
            "examples": [
              "https://example.com"
            ]
          },
          "scheme": {
            "description": "The card scheme for this 3DS configuration",
            "type": "string",
            "enum": [
              "accel",
              "amex",
              "bancontact",
              "carte-bancaire",
              "cirrus",
              "culiance",
              "dankort",
              "diners-club",
              "discover",
              "eftpos-australia",
              "elo",
              "hipercard",
              "jcb",
              "maestro",
              "mastercard",
              "mir",
              "nyce",
              "other",
              "pulse",
              "qcard",
              "rupay",
              "star",
              "uatp",
              "unionpay",
              "visa"
            ],
            "title": "CardScheme",
            "x-speakeasy-unknown-values": "allow"
          },
          "currency": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{3}$",
                "examples": [
                  "EUR",
                  "GBP",
                  "USD"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Currency",
            "description": "ISO 4217 currency code (3 characters). If left null, the configuration will apply to all currencies.",
            "examples": [
              "USD",
              "EUR",
              "GBP"
            ]
          },
          "metadata": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object",
            "title": "Metadata",
            "description": "Any additional information about the 3DS configuration that you would like to store as key-value pairs."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "merchant_acquirer_bin",
          "merchant_acquirer_id",
          "merchant_name",
          "merchant_country_code",
          "merchant_category_code",
          "merchant_url",
          "scheme",
          "metadata"
        ],
        "title": "MerchantAccountThreeDSConfigurationCreate"
      },
      "MerchantAccountThreeDSConfigurationUpdate": {
        "properties": {
          "merchant_acquirer_bin": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 11
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Acquirer Bin",
            "description": "Acquirer BIN to use when calling 3DS through this scheme.",
            "examples": [
              "516327"
            ]
          },
          "merchant_acquirer_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 35
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Acquirer Id",
            "description": "Merchant ID to use when calling 3DS through this scheme.",
            "examples": [
              "123456789012345"
            ]
          },
          "merchant_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 40
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Name",
            "description": "",
            "examples": [
              "Acme Inc."
            ]
          },
          "merchant_country_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Country Code",
            "description": "The merchant's ISO 3166-1 numeric country code.",
            "examples": [
              "840"
            ]
          },
          "merchant_category_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4,
                "minLength": 4
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Category Code",
            "description": "Merchant category code to use when calling 3DS through this scheme.",
            "examples": [
              "1234"
            ]
          },
          "merchant_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Url",
            "description": "URL to send when calling 3DS through this scheme.",
            "examples": [
              "https://example.com"
            ]
          },
          "scheme": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "accel",
                  "amex",
                  "bancontact",
                  "carte-bancaire",
                  "cirrus",
                  "culiance",
                  "dankort",
                  "diners-club",
                  "discover",
                  "eftpos-australia",
                  "elo",
                  "hipercard",
                  "jcb",
                  "maestro",
                  "mastercard",
                  "mir",
                  "nyce",
                  "other",
                  "pulse",
                  "qcard",
                  "rupay",
                  "star",
                  "uatp",
                  "unionpay",
                  "visa"
                ],
                "title": "CardScheme",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The card scheme for this 3DS configuration"
          },
          "currency": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{3}$",
                "examples": [
                  "EUR",
                  "GBP",
                  "USD"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Currency",
            "description": "ISO 4217 currency code (3 characters). If left null, the configuration will apply to all currencies.",
            "examples": [
              "USD",
              "EUR",
              "GBP"
            ]
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Metadata",
            "description": "Any additional information about the 3DS configuration that you would like to store as key-value pairs."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "MerchantAccountThreeDSConfigurationUpdate"
      },
      "MerchantAccountThreeDSConfigurations": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/MerchantAccountThreeDSConfiguration"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          }
        },
        "type": "object",
        "required": [
          "items"
        ],
        "title": "MerchantAccountThreeDSConfigurations"
      },
      "MerchantAccountUpdate": {
        "properties": {
          "account_updater_enabled": {
            "type": "boolean",
            "title": "Account Updater Enabled",
            "description": "Whether the Real-Time Account Updater service is enabled for this merchant account. The Account Updater service is used to update card details when cards are lost, stolen or expired. If the field is not set or if it's set to `false`, the Account Updater service doesn't get called if a payment fails with expired or invalid card details. If the field is set to `true`, the service is called. Please note that for this to work the other `account_updater_* fields` must be set as well.",
            "default": false,
            "examples": [
              true
            ]
          },
          "account_updater_request_encryption_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Updater Request Encryption Key",
            "description": "The public key used to encrypt the request to the Real-Time Account Updater service. The Account Updater service is used to update card details when cards are lost, stolen or expired. If the field is not set or if it's set to `null`, the Account Updater service doesn't get called. If the field is set, the other `account_updater_*` fields must be set as well.",
            "deprecated": true,
            "examples": [
              "key-1234"
            ]
          },
          "account_updater_request_encryption_key_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Updater Request Encryption Key Id",
            "description": "The ID of the key used to encrypt the request to the Real-Time Account Updater service. The Account Updater service is used to update card details when cards are lost, stolen or expired. If the field is not set or if it's set to `null`, the Account Updater service doesn't get called. If the field is set, the other `account_updater_*` fields must be set as well.",
            "deprecated": true,
            "examples": [
              "key-id-1234"
            ]
          },
          "account_updater_response_decryption_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Updater Response Decryption Key",
            "description": "The key used to decrypt the response from the Real-Time Account Updater service. The Account Updater service is used to update card details when cards are lost, stolen or expired. If the field is not set or if it's set to `null`, the Account Updater service doesn't get called. If the field is set, the other `account_updater_*` fields must be set as well.",
            "deprecated": true,
            "examples": [
              "key-1234"
            ]
          },
          "account_updater_response_decryption_key_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Updater Response Decryption Key Id",
            "description": "The ID of the key used to decrypt the request from the Real-Time Account Updater service. The Account Updater service is used to update card details when cards are lost, stolen or expired. If the field is not set or if it's set to `null`, the Account Updater service doesn't get called. If the field is set, the other `account_updater_*` fields must be set as well.",
            "deprecated": true,
            "examples": [
              "key-id-1234"
            ]
          },
          "over_capture_amount": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Over Capture Amount",
            "description": "The maximum monetary amount allowed for over-capture, in the smallest currency unit, for example `1299` cents to allow for an over-capture of `$12.99`.",
            "examples": [
              1299
            ]
          },
          "over_capture_percentage": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Over Capture Percentage",
            "description": "The maximum percentage allowed for over-capture, for example `25` to allow for an over-capture of `25%` of the original transaction amount.",
            "examples": [
              25
            ]
          },
          "loon_client_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Loon Client Key",
            "description": "Client key provided by Pagos to authenticate to the Loon API. Loon is the Account Updater service we use and if the field is not set or if it's set to null, the Account Updater service doesn't get configured. If the field is set to `null`, the other `loon_*` fields must be set to null as well.",
            "deprecated": true,
            "examples": [
              "client-key-1234"
            ]
          },
          "loon_secret_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Loon Secret Key",
            "description": "Secret key provided by Pagos to authenticate to the Loon API. Loon is the Account Updater service we use and if the field is not set or if it's set to null, the Account Updater service doesn't get configured. If the field is set to `null`, the other `loon_*` fields must be set to null as well.",
            "deprecated": true,
            "examples": [
              "key-12345"
            ]
          },
          "loon_accepted_schemes": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "enum": [
                    "accel",
                    "amex",
                    "bancontact",
                    "carte-bancaire",
                    "cirrus",
                    "culiance",
                    "dankort",
                    "diners-club",
                    "discover",
                    "eftpos-australia",
                    "elo",
                    "hipercard",
                    "jcb",
                    "maestro",
                    "mastercard",
                    "mir",
                    "nyce",
                    "other",
                    "pulse",
                    "qcard",
                    "rupay",
                    "star",
                    "uatp",
                    "unionpay",
                    "visa"
                  ],
                  "title": "CardScheme",
                  "x-speakeasy-unknown-values": "allow"
                },
                "type": "array",
                "uniqueItems": true
              },
              {
                "type": "null"
              }
            ],
            "title": "Loon Accepted Schemes",
            "description": "Card schemes accepted when creating jobs using this set of Loon API keys. Loon is the Account Updater service we use and if the field is not set or if it's set to null, the Account Updater service doesn't get configured. If the field is set to `null`, the other `loon_*` fields must be set to null as well.",
            "examples": [
              [
                "visa"
              ]
            ]
          },
          "loon_merchant_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Loon Merchant Account Id",
            "description": "Merchant account ID provided by Pagos to identify this merchant account on the Loon API. Loon is the Account Updater service we use and if the field is not set or if it's set to null, the Account Updater service doesn't get configured. If the field is set to `null`, the other `loon_*` fields must be set to null as well.",
            "examples": [
              "loon-merchant-account-1234"
            ]
          },
          "visa_network_tokens_requestor_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Visa Network Tokens Requestor Id",
            "description": "Requestor ID provided for Visa after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "visa_network_tokens_app_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Visa Network Tokens App Id",
            "description": "Application ID provided for Visa after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "amex_network_tokens_requestor_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Amex Network Tokens Requestor Id",
            "description": "Requestor ID provided for American Express after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "amex_network_tokens_app_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Amex Network Tokens App Id",
            "description": "Application ID provided for American Express after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "mastercard_network_tokens_requestor_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Mastercard Network Tokens Requestor Id",
            "description": "Requestor ID provided for Mastercard after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "mastercard_network_tokens_app_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Mastercard Network Tokens App Id",
            "description": "Application ID provided for Mastercard after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "discover_network_tokens_requestor_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Discover Network Tokens Requestor Id",
            "description": "Requestor ID provided for Discover after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "discover_network_tokens_app_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Discover Network Tokens App Id",
            "description": "Application ID provided for Discover after onboarding to use Network Tokens.",
            "examples": [
              "id-12345"
            ]
          },
          "async_network_tokens_enabled": {
            "type": "boolean",
            "title": "Async Network Tokens Enabled",
            "description": "When enabled network tokens will be generated asynchronously and only used on subsequent transactions to speed up transaction processing.",
            "default": false,
            "examples": [
              true,
              false
            ]
          },
          "display_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name",
            "description": "The display name for the merchant account.",
            "examples": [
              "Example"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "MerchantAccountUpdate"
      },
      "MerchantAccounts": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/MerchantAccount"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          },
          "limit": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "description": "The number of items for this page.",
            "default": 20,
            "examples": [
              20
            ]
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "The cursor pointing at the next page of items.",
            "examples": [
              "ZXhhbXBsZTE"
            ]
          },
          "previous_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Cursor",
            "description": "The cursor pointing at the previous page of items.",
            "examples": [
              "Xkjss7asS"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "MerchantAccounts"
      },
      "MerchantProfileScheme": {
        "properties": {
          "merchant_acquirer_bin": {
            "type": "string",
            "maxLength": 11,
            "title": "Merchant Acquirer Bin",
            "description": "Acquirer BIN to use when calling 3DS through this scheme.",
            "examples": [
              "516327"
            ]
          },
          "merchant_acquirer_id": {
            "type": "string",
            "maxLength": 35,
            "title": "Merchant Acquirer Id",
            "description": "Merchant ID to use when calling 3DS through this scheme.",
            "examples": [
              "123456789012345"
            ]
          },
          "merchant_name": {
            "type": "string",
            "maxLength": 40,
            "title": "Merchant Name",
            "description": "",
            "examples": [
              "Acme Inc."
            ]
          },
          "merchant_country_code": {
            "type": "string",
            "title": "Merchant Country Code",
            "description": "The merchant's ISO 3166-1 numeric country code.",
            "examples": [
              "840"
            ]
          },
          "merchant_category_code": {
            "type": "string",
            "maxLength": 4,
            "minLength": 4,
            "title": "Merchant Category Code",
            "description": "Merchant category code to use when calling 3DS through this scheme.",
            "examples": [
              "1234"
            ]
          },
          "merchant_url": {
            "type": "string",
            "title": "Merchant Url",
            "description": "URL to send when calling 3DS through this scheme.",
            "examples": [
              "https://example.com"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "merchant_acquirer_bin",
          "merchant_acquirer_id",
          "merchant_name",
          "merchant_country_code",
          "merchant_category_code",
          "merchant_url"
        ],
        "title": "MerchantProfileScheme"
      },
      "MerchantProfileSchemeSummary": {
        "properties": {
          "merchant_acquirer_bin": {
            "type": "string",
            "maxLength": 11,
            "title": "Merchant Acquirer Bin",
            "description": "Acquirer BIN to use when calling 3DS through this scheme.",
            "examples": [
              "516327"
            ]
          },
          "merchant_acquirer_id": {
            "type": "string",
            "maxLength": 35,
            "title": "Merchant Acquirer Id",
            "description": "Merchant ID to use when calling 3DS through this scheme.",
            "examples": [
              "123456789012345"
            ]
          },
          "merchant_name": {
            "type": "string",
            "maxLength": 40,
            "title": "Merchant Name",
            "description": "",
            "examples": [
              "Acme Inc."
            ]
          },
          "merchant_country_code": {
            "type": "string",
            "title": "Merchant Country Code",
            "description": "The merchant's ISO 3166-1 numeric country code.",
            "examples": [
              "840"
            ]
          },
          "merchant_category_code": {
            "type": "string",
            "maxLength": 4,
            "minLength": 4,
            "title": "Merchant Category Code",
            "description": "Merchant category code to use when calling 3DS through this scheme.",
            "examples": [
              "1234"
            ]
          },
          "merchant_url": {
            "type": "string",
            "title": "Merchant Url",
            "description": "URL to send when calling 3DS through this scheme.",
            "examples": [
              "https://example.com"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date and time when this profile was first created in our system.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "merchant_acquirer_bin",
          "merchant_acquirer_id",
          "merchant_name",
          "merchant_country_code",
          "merchant_category_code",
          "merchant_url",
          "created_at"
        ],
        "title": "MerchantProfileSchemeSummary"
      },
      "Method": {
        "type": "string",
        "enum": [
          "abitab",
          "affirm",
          "afterpay",
          "alipay",
          "alipayhk",
          "applepay",
          "arcuspaynetwork",
          "bacs",
          "bancontact",
          "bank",
          "bcp",
          "becs",
          "bitpay",
          "blik",
          "ach",
          "boleto",
          "boost",
          "breb",
          "capitec",
          "card",
          "cashapp",
          "cashappafterpay",
          "chaseorbital",
          "clearpay",
          "click-to-pay",
          "custom_push",
          "custom_redirect",
          "custom_tokenize",
          "dana",
          "dcb",
          "dlocal",
          "duitnow",
          "ebanx",
          "eckoh",
          "efecty",
          "eps",
          "everydaypay",
          "gcash",
          "gem",
          "gemds",
          "gift-card",
          "giropay",
          "givingblock",
          "gocardless",
          "googlepay",
          "googlepay_pan_only",
          "gopay",
          "grabpay",
          "ideal",
          "interac",
          "kakaopay",
          "kcp",
          "khipu",
          "klarna",
          "konbini",
          "latitude",
          "latitudeds",
          "laybuy",
          "linepay",
          "linkaja",
          "maybankqrpay",
          "mercadopago",
          "multibanco",
          "multipago",
          "nequi",
          "netbanking",
          "network-token",
          "nupay",
          "oney_10x",
          "oney_12x",
          "oney_3x",
          "oney_4x",
          "oney_6x",
          "onlinebankingcz",
          "onelink",
          "ovo",
          "oxxo",
          "p24",
          "pagoefectivo",
          "paybybank",
          "payid",
          "paymaya",
          "paysquad",
          "paypal",
          "paypalpaylater",
          "paypay",
          "payto",
          "payvalida",
          "paze",
          "picpay",
          "pix",
          "plaid",
          "pse",
          "rabbitlinepay",
          "razorpay",
          "rapipago",
          "redpagos",
          "scalapay",
          "sepa",
          "servipag",
          "seveneleven",
          "sezzle",
          "shopeepay",
          "singteldash",
          "smartpay",
          "sofort",
          "spei",
          "stitch",
          "swish",
          "stripe",
          "stripedd",
          "stripetoken",
          "tapi",
          "tapifintechs",
          "thaiqr",
          "touchngo",
          "truemoney",
          "trustly",
          "trustlyeurope",
          "upi",
          "venmo",
          "vipps",
          "waave",
          "webpay",
          "wechat",
          "wero",
          "yape",
          "zippay"
        ],
        "title": "Method",
        "x-speakeasy-unknown-values": "allow"
      },
      "MetricsExplorerFiltersQueryParams": {
        "properties": {
          "datetime_range": {
            "type": "string",
            "title": "Datetime Range",
            "description": "Filters the results to the set of data aggregated over the duration of the specified period. This parameter should be in the format of [ISO 8601 interval](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals) while the duration only format is not accepted. Start and end are either a datetime in ISO 8601 format or a placeholder which is one of the following: `now`, `hour_start` and `hour_end`.",
            "examples": [
              "2025-01-01T00:00:00/P7D"
            ]
          },
          "authentication_outcome": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Authentication Outcome",
            "description": "Filters the results to only include transactions whose authentication process ended with the specified outcome. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that didn't undergo an authentication process.",
            "examples": [
              "abandoned"
            ]
          },
          "authorized": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Authorized",
            "description": "Filters the results to only include transactions that were authorized (1) or declined (0).",
            "examples": [
              "1"
            ]
          },
          "country": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country",
            "description": "Filters the results to only include transactions that were processed in the specified country. The country code should be in the ISO 3166-1 two letter format. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
            "examples": [
              "GB"
            ]
          },
          "currency": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Currency",
            "description": "Filters the results to only include transactions that were processed in the specified currency. The currency code should be in the ISO 4217 format.<br/>**Important:** This query parameter is **required** when the `metric` is set to `volume`.",
            "examples": [
              "GBP"
            ]
          },
          "error_code": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code",
            "description": "Filters the results to only include transactions that failed with the specified error code. The error code is a string that describes the reason for the failure. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
            "examples": [
              "invalid_credentials"
            ]
          },
          "instrument_type": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Instrument Type",
            "description": "Filters the results to only include transactions that used the specified instrument type. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
            "examples": [
              "network_token"
            ]
          },
          "is_subsequent_payment": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Subsequent Payment",
            "description": "Filters the results to only include transactions that are subsequent payments. A subsequent payment is a payment that is made after an initial payment, typically in a subscription or recurring payment scenario. The value should be either \"0\" (false) or \"1\" (true).",
            "examples": [
              "0",
              "1"
            ]
          },
          "liability_shifted": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Liability Shifted",
            "description": "Filters the results to only include transactions where liability was shifted (1) or was not shifted (0).",
            "examples": [
              "0",
              "1"
            ]
          },
          "merchant_initiated": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Initiated",
            "description": "Filters the results to only include transactions that were initiated by the merchant. The value should be either \"0\" (false) or \"1\" (true).",
            "examples": [
              "0",
              "1"
            ]
          },
          "metadata": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Metadata",
            "description": "Filters the results to only include transactions that have the specified metadata. The metadata should be in JSON format and contain a single key-value pair.",
            "examples": [
              {
                "key": "value"
              }
            ]
          },
          "method": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Method",
            "description": "Filters the results to only include transactions that were processed using the specified payment method. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
            "examples": [
              "card"
            ]
          },
          "payment_method_bin": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Method Bin",
            "description": "Filters the results to only include transactions that used the specified payment method bin. The payment method bin is the first 6 digits of the card number. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
            "examples": [
              "123456"
            ]
          },
          "payment_method_card_issuer_name": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Method Card Issuer Name",
            "description": "Filters the results to only include transactions that were processed with the specified card issuer name. The card issuer name is the name of the bank or financial institution that issued the card used for the transaction. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
            "examples": [
              "Barclays"
            ]
          },
          "payment_method_card_type": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Method Card Type",
            "description": "Filters the results to only include transactions that used the specified card type. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
            "examples": [
              "credit",
              "debit",
              "prepaid"
            ]
          },
          "payment_method_country": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Method Country",
            "description": "Filters the results to only include transactions that were processed with a card issued in the specified country. The country code should be in the ISO 3166-1 two letter format. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
            "examples": [
              "GB"
            ]
          },
          "payment_method_scheme": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Method Scheme",
            "description": "Filters the results to only include transactions that were processed with the specified payment method scheme. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
            "examples": [
              "visa"
            ]
          },
          "payment_service_id": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Service Id",
            "description": "Filters the results to only include transactions that were processed with the specified payment service ID. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
            "examples": [
              "06319aec-2c0f-4c7b-8af1-047ca037fc021"
            ]
          },
          "payment_source": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Source",
            "description": "Filters the results to only include transactions that were processed with the specified payment source.",
            "examples": [
              "ecommerce",
              "recurring"
            ]
          },
          "raw_response_code": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Raw Response Code",
            "description": "Filters the results to only include transactions that received the specified raw response code from the payment service. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
            "examples": [
              "COMPLETED"
            ]
          },
          "rule_id_route_transaction": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rule Id Route Transaction",
            "description": "Filters the results to only include transactions that were processed with the specified routing rule. The rule ID should be in UUID format. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that were not processed by any routing rule.",
            "examples": [
              "c2fefd1b-6ed0-4038-bbc8-48ea2fb7e9f7"
            ]
          },
          "rule_id_skip_3ds": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rule Id Skip 3Ds",
            "description": "Filters the results to only include transactions that were processed with the specified 3DS rule. The rule ID should be in UUID format. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that were not processed by any 3DS rule.",
            "examples": [
              "c2fefd1b-6ed0-4038-bbc8-48ea2fb7e9f7"
            ]
          },
          "rule_variant_id": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rule Variant Id",
            "description": "Filters the results to only include transactions that were processed with the specified split routing rule outcome variant. The variant ID should be in UUID format.",
            "examples": [
              "9897134a-fd29-4b0f-9391-a5cf965f0859"
            ]
          },
          "three_d_secure_auth_resp": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Three D Secure Auth Resp",
            "description": "Filters the results to only include transactions that received the specified response during 3DS authentication. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
            "examples": [
              "Y"
            ]
          },
          "three_d_secure_eci": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Three D Secure Eci",
            "description": "Filters the results to only include transactions that received the specified ECI during 3DS authentication. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that have a null for this field.",
            "examples": [
              "05"
            ]
          },
          "three_d_secure_method": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Three D Secure Method",
            "description": "Filters the results to only include transactions that underwent 3DS authentication with the specified method. This parameter also accepts [the null character](https://en.wikipedia.org/wiki/Null_character) to include transactions that didn't undergo 3DS authentication.",
            "examples": [
              "challenge",
              "frictionless"
            ]
          }
        },
        "type": "object",
        "required": [
          "datetime_range"
        ],
        "title": "MetricsExplorerFiltersQueryParams"
      },
      "MetricsExplorerMetric": {
        "type": "string",
        "enum": [
          "volume",
          "transactions",
          "auth_rate"
        ],
        "title": "MetricsExplorerMetric",
        "x-speakeasy-unknown-values": "allow"
      },
      "MetricsExplorerModule": {
        "type": "string",
        "enum": [
          "authentication_outcome",
          "authorized",
          "country",
          "currency",
          "error_code",
          "instrument_type",
          "is_subsequent_payment",
          "liability_shifted",
          "merchant_initiated",
          "metadata",
          "method",
          "payment_method_bin",
          "payment_method_card_issuer_name",
          "payment_method_card_type",
          "payment_method_country",
          "payment_method_scheme",
          "payment_service",
          "payment_source",
          "raw_response_code",
          "rule_route_transaction",
          "rule_skip_3ds",
          "rule_variant_id",
          "three_d_secure_auth_resp",
          "three_d_secure_eci",
          "three_d_secure_method"
        ],
        "title": "MetricsExplorerModule",
        "x-speakeasy-unknown-values": "allow"
      },
      "MetricsExplorerPreset": {
        "properties": {
          "type": {
            "type": "string",
            "const": "metrics-explorer.preset",
            "title": "Type",
            "description": "Always `metrics-explorer.preset`.",
            "default": "metrics-explorer.preset",
            "examples": [
              "metrics-explorer.preset"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID of the preset.",
            "examples": [
              "5d8444cb-bcc2-4ebb-b563-9c9e486f8876"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "The ID of the merchant account associated with the preset.",
            "examples": [
              "default"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date and time when the preset was created.",
            "examples": [
              "2025-03-25T00:00:00Z"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date and time when the preset was last updated.",
            "examples": [
              "2025-03-25T00:00:00Z"
            ]
          },
          "display_name": {
            "type": "string",
            "title": "Display Name",
            "description": "The display name for the preset.",
            "examples": [
              "Stripe (US) - Last 7 Days"
            ]
          },
          "source": {
            "description": "The source of the data.",
            "examples": [
              "authentication"
            ],
            "type": "string",
            "enum": [
              "authentication",
              "authorization",
              "monitoring"
            ],
            "title": "MetricsExplorerSource",
            "x-speakeasy-unknown-values": "allow"
          },
          "metric": {
            "description": "The metric to calculate.",
            "examples": [
              "auth_rate",
              "transactions",
              "volume"
            ],
            "type": "string",
            "enum": [
              "volume",
              "transactions",
              "auth_rate"
            ],
            "title": "MetricsExplorerMetric",
            "x-speakeasy-unknown-values": "allow"
          },
          "filters": {
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              ]
            },
            "type": "object",
            "title": "Filters",
            "description": "The filters to apply on data.",
            "examples": [
              {
                "authentication_outcome": [
                  "abandoned"
                ],
                "datetime_range": "P7D/hour_start"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "merchant_account_id",
          "created_at",
          "updated_at",
          "display_name",
          "source",
          "metric",
          "filters"
        ],
        "title": "MetricsExplorerPreset"
      },
      "MetricsExplorerPresetCreate": {
        "properties": {
          "display_name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "title": "Display Name",
            "description": "The display name for the preset.",
            "examples": [
              "UK transactions - Last 7 Days"
            ]
          },
          "metric": {
            "description": "The metric to calculate.",
            "examples": [
              "auth_rate",
              "transactions",
              "volume"
            ],
            "type": "string",
            "enum": [
              "volume",
              "transactions",
              "auth_rate"
            ],
            "title": "MetricsExplorerMetric",
            "x-speakeasy-unknown-values": "allow"
          },
          "filters": {
            "$ref": "#/components/schemas/MetricsExplorerFiltersQueryParams",
            "description": "The filters to apply on data.",
            "examples": [
              {
                "country": [
                  "GB"
                ],
                "datetime_range": "P7D/hour_start"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "display_name",
          "metric",
          "filters"
        ],
        "title": "MetricsExplorerPresetCreate"
      },
      "MetricsExplorerPresetUpdate": {
        "properties": {
          "display_name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "title": "Display Name",
            "description": "The new display name to set on the preset.",
            "examples": [
              "UK card transactions - Last 7 Days"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "display_name"
        ],
        "title": "MetricsExplorerPresetUpdate"
      },
      "MetricsExplorerSource": {
        "type": "string",
        "enum": [
          "authentication",
          "authorization",
          "monitoring"
        ],
        "title": "MetricsExplorerSource",
        "x-speakeasy-unknown-values": "allow"
      },
      "MetricsExplorerTotalResponse": {
        "properties": {
          "type": {
            "type": "string",
            "const": "metrics-explorer.total",
            "title": "Type",
            "description": "Always `metrics-explorer.total`.",
            "default": "metrics-explorer.total",
            "examples": [
              "metrics-explorer.total"
            ]
          },
          "series": {
            "$ref": "#/components/schemas/MetricsExplorerTotalSeriesSet",
            "description": "Contains two series of data points used to build the line chart. Each series contains aggregations of data created over the duration of the specified period (e.g. `P7D/hour_start`). The `previous` series contains aggregations from the period immediately preceding the `current` series.",
            "examples": [
              {
                "current": {
                  "first_interval": "2025-03-25T00:00:00Z/PT1H",
                  "values": [
                    100,
                    200,
                    300
                  ]
                },
                "previous": {
                  "first_interval": "2025-03-18T00:00:00Z/PT1H",
                  "values": [
                    50,
                    150,
                    250
                  ]
                }
              }
            ]
          },
          "summary": {
            "$ref": "#/components/schemas/MetricsExplorerTotalSummarySet",
            "description": "A summary of the totals data.",
            "examples": [
              {
                "current": {
                  "value": 800
                },
                "delta": -200,
                "previous": {
                  "value": 1000
                }
              },
              {
                "current": {
                  "value": 0.85
                },
                "delta": 0.1,
                "previous": {
                  "value": 0.75
                }
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "series",
          "summary"
        ],
        "title": "MetricsExplorerTotalResponse"
      },
      "MetricsExplorerTotalSeries": {
        "properties": {
          "first_interval": {
            "type": "string",
            "title": "First Interval",
            "description": "The date and time of the first data point, represented with an ISO 8601 interval value indicating whether it is aggregated by one minute (PT1M), one hour (PT1H), one day (P1D) or thirty day (P30D) periods. The aggregation period is derived from the length of the requested `datetime_range`.",
            "examples": [
              "2025-03-25T00:00:00Z/P1D"
            ]
          },
          "values": {
            "items": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "number"
                },
                {
                  "type": "null"
                }
              ]
            },
            "type": "array",
            "title": "Values",
            "description": "The values associated with the metric for the period. \"volume\" and \"transactions\" metrics are represented as integers, while \"authorization rate\" metric is represented as decimal numbers.",
            "examples": [
              0.9,
              0.99,
              0.85
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "first_interval",
          "values"
        ],
        "title": "MetricsExplorerTotalSeries"
      },
      "MetricsExplorerTotalSeriesSet": {
        "properties": {
          "current": {
            "$ref": "#/components/schemas/MetricsExplorerTotalSeries",
            "description": "Metrics for the transactions created during the current period aggregated by minute, hour, day or thirty days, depending on the length of the requested period. The meaning of the values depends on the metric used to call the endpoint. \"volume\" and \"transactions\" metrics are represented as integers, while \"authorization rate\" metric is represented as decimal numbers. `null`s may be returned when there is no data for authorization rate to indicate that the metric is not applicable for the given time period.",
            "examples": [
              {
                "first_interval": "2025-03-25T00:00:00Z/PT1H",
                "values": [
                  100,
                  200,
                  300
                ]
              }
            ]
          },
          "previous": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/MetricsExplorerTotalSeries"
              },
              {
                "type": "null"
              }
            ],
            "description": "Metrics for the transactions created during the period immediately preceding the current period aggregated by minute, hour, day or thirty days, depending on the length of the requested period. The meaning of the values depends on the metric used to call the endpoint. \"volume\" and \"transactions\" metrics are represented as integers, while \"authorization rate\" metric is represented as decimal numbers. `null`s may be returned when there is no data for authorization rate to indicate that the metric is not applicable for the given time period.",
            "examples": [
              {
                "first_interval": "2025-03-18T00:00:00Z/PT1H",
                "values": [
                  50,
                  150,
                  250
                ]
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "current",
          "previous"
        ],
        "title": "MetricsExplorerTotalSeriesSet"
      },
      "MetricsExplorerTotalSummary": {
        "properties": {
          "value": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Value"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "MetricsExplorerTotalSummary"
      },
      "MetricsExplorerTotalSummarySet": {
        "properties": {
          "current": {
            "$ref": "#/components/schemas/MetricsExplorerTotalSummary",
            "description": "The total value for the current period. <br/>For `volume` and `transactions` metrics, the value is the sum of all values in the `current` series. <br/>For `auth_rate` metric, the value is the count of authorized transactions over the count of processed transactions for the current period.",
            "examples": [
              {
                "value": 1000
              },
              {
                "value": 0.85
              }
            ]
          },
          "previous": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/MetricsExplorerTotalSummary"
              },
              {
                "type": "null"
              }
            ],
            "description": "The total value for the previous period. <br/>For `volume` and `transactions` metrics, the value is the sum of all values in the `previous` series. <br/>For `auth_rate` metric, the value is the count of authorized transactions over the count of processed transactions for the previous period.",
            "examples": [
              {
                "value": 800
              },
              {
                "value": 0.75
              }
            ]
          },
          "delta": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Delta",
            "description": "The difference between the current and previous values. Positive values indicate an increase, while negative values indicate a decrease. <br/>For `volume` and `transactions` metrics, the value is the percentage change between the current and previous values, however, for `authorization rate` metric, the value is the absolute difference between the current and previous values.",
            "examples": [
              200,
              0.1
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "current",
          "previous"
        ],
        "title": "MetricsExplorerTotalSummarySet"
      },
      "Mode": {
        "type": "string",
        "enum": [
          "card",
          "redirect",
          "applepay",
          "googlepay",
          "checkout-session",
          "click-to-pay",
          "gift-card",
          "bank",
          "paze"
        ],
        "title": "Mode",
        "x-speakeasy-unknown-values": "allow"
      },
      "ModuleResponse": {
        "properties": {
          "type": {
            "type": "string",
            "const": "metrics-explorer.module",
            "title": "Type",
            "description": "Always `metrics-explorer.module`.",
            "default": "metrics-explorer.module",
            "examples": [
              "metrics-explorer.module"
            ]
          },
          "key": {
            "type": "string",
            "title": "Key",
            "description": "The key for the module data entry. This can be used to filter the data for other modules.",
            "examples": [
              "5d8444cb-bcc2-4ebb-b563-9c9e486f8876",
              "GBP"
            ]
          },
          "display_name": {
            "type": "string",
            "title": "Display Name",
            "description": "The display name for the module data entry.",
            "examples": [
              "Stripe (US)",
              "GBP"
            ]
          },
          "value": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Value",
            "description": "The value of the metric calculation for the module data entry. The type depends on the metric.",
            "examples": [
              2025,
              0.99,
              null
            ]
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "boolean"
                    }
                  ]
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Metadata",
            "description": "Additional metadata for the module data entry. This is used to store additional information useful for the UI.",
            "examples": [
              {
                "payment_service_definition_id": "stripe-card"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "key",
          "display_name"
        ],
        "title": "ModuleResponse"
      },
      "MonitoringAuthRateMetricSpecParams": {
        "properties": {
          "filters": {
            "$ref": "#/components/schemas/MonitoringMetricFilters",
            "description": "The filters to apply on data.",
            "examples": [
              {
                "datetime_range": "PT60M/hour_start",
                "payment_method_bin": [
                  "123456",
                  "411111"
                ],
                "payment_method_scheme": [
                  "visa"
                ]
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "filters"
        ],
        "title": "MonitoringAuthRateMetricSpecParams"
      },
      "MonitoringAuthRateSpec": {
        "properties": {
          "model": {
            "type": "string",
            "const": "auth_rate",
            "title": "Model",
            "description": "The monitoring metric model type.",
            "default": "auth_rate",
            "examples": [
              "auth_rate"
            ]
          },
          "params": {
            "$ref": "#/components/schemas/MonitoringAuthRateMetricSpecParams",
            "description": "The parameters for the auth rate monitoring metric model.",
            "examples": [
              {
                "filters": {
                  "datetime_range": "PT60M/hour_start",
                  "payment_method_bin": [
                    "123456",
                    "411111"
                  ],
                  "payment_method_scheme": [
                    "visa"
                  ]
                }
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "params"
        ],
        "title": "MonitoringAuthRateSpec"
      },
      "MonitoringDebouncingIncidentPolicy": {
        "properties": {
          "strategy": {
            "type": "string",
            "const": "debouncing",
            "title": "Strategy",
            "default": "debouncing"
          },
          "params": {
            "$ref": "#/components/schemas/MonitoringDebouncingIncidentPolicyParams"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "params"
        ],
        "title": "MonitoringDebouncingIncidentPolicy"
      },
      "MonitoringDebouncingIncidentPolicyParams": {
        "properties": {
          "create_after_n": {
            "type": "integer",
            "maximum": 10,
            "minimum": 1,
            "title": "Create After N"
          },
          "close_after_n": {
            "type": "integer",
            "maximum": 10,
            "minimum": 1,
            "title": "Close After N"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "create_after_n",
          "close_after_n"
        ],
        "title": "MonitoringDebouncingIncidentPolicyParams"
      },
      "MonitoringIncident": {
        "properties": {
          "type": {
            "type": "string",
            "const": "monitoring.incident",
            "title": "Type",
            "description": "Always `monitoring.incident`.",
            "default": "monitoring.incident",
            "examples": [
              "monitoring.incident"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID of the monitoring incident.",
            "examples": [
              "c2e4ffaf-2463-4e8a-a9a2-b33590f3b579"
            ]
          },
          "metric_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Metric Id",
            "description": "The ID of the monitoring metric that the incident relates to. This value is null if the monitoring metric has been deleted.",
            "examples": [
              "aadb3ea8-5ad6-408b-8c3d-82da77c8d619"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "The ID of the merchant account the monitoring incident belongs to.",
            "examples": [
              "default"
            ]
          },
          "display_name": {
            "type": "string",
            "title": "Display Name",
            "description": "The monitoring metric display name captured at the time of incident creation.",
            "examples": [
              "GBP transactions in the last hour | Auth rate > 95%"
            ]
          },
          "spec": {
            "additionalProperties": true,
            "type": "object",
            "title": "Spec",
            "description": "The monitoring metric specification captured at the time of incident creation.",
            "examples": [
              {
                "model": "auth_rate",
                "params": {
                  "filters": {
                    "datetime_range": "PT60M/hour_start",
                    "payment_method_bin": [
                      "123456",
                      "111111"
                    ],
                    "payment_method_scheme": [
                      "visa"
                    ]
                  }
                }
              }
            ]
          },
          "alerting_policy": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Alerting Policy",
            "description": "The monitoring metric alerting policy captured at the time of incident creation.",
            "examples": [
              {
                "params": {
                  "alert_gt": 99.9,
                  "alert_lt": 90
                },
                "strategy": "threshold"
              }
            ]
          },
          "incident_policy": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Incident Policy",
            "description": "The monitoring metric incident policy captured at the time of incident creation.",
            "examples": [
              {
                "params": {
                  "close_after_n": 6,
                  "create_after_n": 3
                },
                "strategy": "debouncing"
              }
            ]
          },
          "notes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notes",
            "description": "Notes for the monitoring incident.",
            "examples": [
              "PSP-related incident"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date and time when the monitoring incident was first created.",
            "examples": [
              "2025-10-28T11:47:32.566063+00:00"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date and time when the monitoring incident was last updated.",
            "examples": [
              "2025-10-28T12:03:05.120019+00:00"
            ]
          },
          "closed_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Closed At",
            "description": "The date and time when the monitoring incident was closed.",
            "examples": [
              "2025-10-28T11:57:32.566063+00:00"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "metric_id",
          "merchant_account_id",
          "display_name",
          "spec",
          "alerting_policy",
          "incident_policy",
          "notes",
          "created_at",
          "updated_at",
          "closed_at"
        ],
        "title": "MonitoringIncident"
      },
      "MonitoringIncidentUpdate": {
        "properties": {
          "notes": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Notes",
            "description": "Notes for the monitoring incident.",
            "examples": [
              "PSP-related incident"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "notes"
        ],
        "title": "MonitoringIncidentUpdate"
      },
      "MonitoringIncidents": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/MonitoringIncident"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          },
          "limit": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "description": "The number of items for this page.",
            "default": 20,
            "examples": [
              20
            ]
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "The cursor pointing at the next page of items.",
            "examples": [
              "ZXhhbXBsZTE"
            ]
          },
          "previous_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Cursor",
            "description": "The cursor pointing at the previous page of items.",
            "examples": [
              "Xkjss7asS"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "MonitoringIncidents"
      },
      "MonitoringMetric": {
        "properties": {
          "type": {
            "type": "string",
            "const": "monitoring.metric",
            "title": "Type",
            "description": "Always `monitoring.metric`.",
            "default": "monitoring.metric",
            "examples": [
              "monitoring.metric"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID of the monitoring metric.",
            "examples": [
              "aadb3ea8-5ad6-408b-8c3d-82da77c8d619"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "The ID of the merchant account the monitoring metric belongs to.",
            "examples": [
              "default"
            ]
          },
          "display_name": {
            "type": "string",
            "title": "Display Name",
            "description": "The display name of the monitoring metric.",
            "examples": [
              "GBP transactions in the last hour | Auth rate > 90%"
            ]
          },
          "spec": {
            "additionalProperties": true,
            "type": "object",
            "title": "Spec",
            "description": "The monitoring metric specification.",
            "examples": [
              {
                "model": "auth_rate",
                "params": {
                  "filters": {
                    "datetime_range": "PT60M/hour_start",
                    "payment_method_bin": [
                      "123456",
                      "111111"
                    ],
                    "payment_method_scheme": [
                      "visa"
                    ]
                  }
                }
              }
            ]
          },
          "alerting_policy": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Alerting Policy",
            "description": "The alerting policy of the monitoring metric.",
            "examples": [
              {
                "params": {
                  "alert_gt": 99.9,
                  "alert_lt": 90
                },
                "strategy": "threshold"
              }
            ]
          },
          "alerting_policy_updated_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Alerting Policy Updated At",
            "description": "The date and time when the alerting policy was last updated.",
            "examples": [
              "2025-10-28T11:47:32.566063+00:00"
            ]
          },
          "incident_policy": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Incident Policy",
            "description": "The incident policy of the monitoring metric.",
            "examples": [
              {
                "params": {
                  "close_after_n": 6,
                  "create_after_n": 3
                },
                "strategy": "debouncing"
              }
            ]
          },
          "incident_policy_updated_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Incident Policy Updated At",
            "description": "The date and time when the incident policy was last updated.",
            "examples": [
              "2025-10-28T11:47:32.566063+00:00"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date and time when the monitoring metric was first created.",
            "examples": [
              "2025-10-28T11:47:32.566063+00:00"
            ]
          },
          "creator_id": {
            "type": "string",
            "format": "uuid",
            "title": "Creator Id",
            "description": "The ID of the user who created the monitoring metric.",
            "examples": [
              "3d2e0043-9459-4e86-8dad-e2afd9892f3c"
            ]
          },
          "creator_type": {
            "description": "The type of monitoring metric creator.",
            "examples": [
              "user"
            ],
            "type": "string",
            "enum": [
              "private_key",
              "user"
            ],
            "title": "MonitoringMetricCreatorType",
            "x-speakeasy-unknown-values": "allow"
          },
          "creator_display_name": {
            "type": "string",
            "title": "Creator Display Name",
            "description": "The display name of the monitoring metric creator.",
            "examples": [
              "John Smith"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date and time when the monitoring metric was last updated.",
            "examples": [
              "2025-10-28T11:47:32.566063+00:00"
            ]
          },
          "samples_view": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/MonitoringSample"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Samples View",
            "description": "The requested subset of monitoring metric samples."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "merchant_account_id",
          "display_name",
          "spec",
          "alerting_policy",
          "alerting_policy_updated_at",
          "incident_policy",
          "incident_policy_updated_at",
          "created_at",
          "creator_id",
          "creator_type",
          "creator_display_name",
          "updated_at",
          "samples_view"
        ],
        "title": "MonitoringMetric"
      },
      "MonitoringMetricCreate": {
        "properties": {
          "display_name": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "title": "Display Name",
            "description": "The display name for the monitoring metric.",
            "examples": [
              "GBP transactions in the last hour | Auth rate > 90%"
            ]
          },
          "spec": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/MonitoringAuthRateSpec"
              }
            ],
            "title": "Spec",
            "description": "The monitoring metric specification.",
            "examples": [
              {
                "model": "auth_rate",
                "params": {
                  "filters": {
                    "datetime_range": "PT60M/hour_start",
                    "payment_method_bin": [
                      "123456",
                      "411111"
                    ],
                    "payment_method_scheme": [
                      "visa"
                    ]
                  }
                }
              }
            ],
            "discriminator": {
              "propertyName": "model",
              "mapping": {
                "auth_rate": "#/components/schemas/MonitoringAuthRateSpec"
              }
            }
          },
          "alerting_policy": {
            "anyOf": [
              {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/MonitoringThresholdAlertingPolicy"
                  }
                ],
                "discriminator": {
                  "propertyName": "strategy",
                  "mapping": {
                    "threshold": "#/components/schemas/MonitoringThresholdAlertingPolicy"
                  }
                }
              },
              {
                "type": "null"
              }
            ],
            "title": "Alerting Policy"
          },
          "incident_policy": {
            "anyOf": [
              {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/MonitoringDebouncingIncidentPolicy"
                  }
                ],
                "discriminator": {
                  "propertyName": "strategy",
                  "mapping": {
                    "debouncing": "#/components/schemas/MonitoringDebouncingIncidentPolicy"
                  }
                }
              },
              {
                "type": "null"
              }
            ],
            "title": "Incident Policy"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "display_name",
          "spec",
          "alerting_policy",
          "incident_policy"
        ],
        "title": "MonitoringMetricCreate"
      },
      "MonitoringMetricCreatorType": {
        "type": "string",
        "enum": [
          "private_key",
          "user"
        ],
        "title": "MonitoringMetricCreatorType",
        "x-speakeasy-unknown-values": "allow"
      },
      "MonitoringMetricFilters": {
        "properties": {
          "datetime_range": {
            "type": "string",
            "title": "Datetime Range",
            "description": "Filters the results to the set of data aggregated over the duration of the specified period. The duration must be between 5 to 60 minutes. This parameter should be in the format of [ISO 8601 interval](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals) while the duration only format is not accepted. Start and end are either a datetime in ISO 8601 format or a placeholder which is one of the following: `now`, `hour_start` and `hour_end`.",
            "examples": [
              "PT60M/hour_end"
            ]
          },
          "method": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "abitab",
                        "affirm",
                        "afterpay",
                        "alipay",
                        "alipayhk",
                        "applepay",
                        "arcuspaynetwork",
                        "bacs",
                        "bancontact",
                        "bank",
                        "bcp",
                        "becs",
                        "bitpay",
                        "blik",
                        "ach",
                        "boleto",
                        "boost",
                        "breb",
                        "capitec",
                        "card",
                        "cashapp",
                        "cashappafterpay",
                        "chaseorbital",
                        "clearpay",
                        "click-to-pay",
                        "custom_push",
                        "custom_redirect",
                        "custom_tokenize",
                        "dana",
                        "dcb",
                        "dlocal",
                        "duitnow",
                        "ebanx",
                        "eckoh",
                        "efecty",
                        "eps",
                        "everydaypay",
                        "gcash",
                        "gem",
                        "gemds",
                        "gift-card",
                        "giropay",
                        "givingblock",
                        "gocardless",
                        "googlepay",
                        "googlepay_pan_only",
                        "gopay",
                        "grabpay",
                        "ideal",
                        "interac",
                        "kakaopay",
                        "kcp",
                        "khipu",
                        "klarna",
                        "konbini",
                        "latitude",
                        "latitudeds",
                        "laybuy",
                        "linepay",
                        "linkaja",
                        "maybankqrpay",
                        "mercadopago",
                        "multibanco",
                        "multipago",
                        "nequi",
                        "netbanking",
                        "network-token",
                        "nupay",
                        "oney_10x",
                        "oney_12x",
                        "oney_3x",
                        "oney_4x",
                        "oney_6x",
                        "onlinebankingcz",
                        "onelink",
                        "ovo",
                        "oxxo",
                        "p24",
                        "pagoefectivo",
                        "paybybank",
                        "payid",
                        "paymaya",
                        "paysquad",
                        "paypal",
                        "paypalpaylater",
                        "paypay",
                        "payto",
                        "payvalida",
                        "paze",
                        "picpay",
                        "pix",
                        "plaid",
                        "pse",
                        "rabbitlinepay",
                        "razorpay",
                        "rapipago",
                        "redpagos",
                        "scalapay",
                        "sepa",
                        "servipag",
                        "seveneleven",
                        "sezzle",
                        "shopeepay",
                        "singteldash",
                        "smartpay",
                        "sofort",
                        "spei",
                        "stitch",
                        "swish",
                        "stripe",
                        "stripedd",
                        "stripetoken",
                        "tapi",
                        "tapifintechs",
                        "thaiqr",
                        "touchngo",
                        "truemoney",
                        "trustly",
                        "trustlyeurope",
                        "upi",
                        "venmo",
                        "vipps",
                        "waave",
                        "webpay",
                        "wechat",
                        "wero",
                        "yape",
                        "zippay"
                      ],
                      "title": "Method",
                      "x-speakeasy-unknown-values": "allow"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Method",
            "description": "Filters the results to only include transactions that were processed using the specified payment method. This parameter also accepts `null` to include transactions that have a null for this field.",
            "examples": [
              "card"
            ]
          },
          "payment_method_bin": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "string",
                      "maxLength": 6,
                      "minLength": 6,
                      "pattern": "^\\d+$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Method Bin",
            "description": "Filters the results to only include transactions that used the specified payment method bin. The payment method bin is the first 6 digits of the card number. This parameter also accepts `null` to include transactions that have a null for this field.",
            "examples": [
              "123456"
            ]
          },
          "payment_method_scheme": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "accel",
                        "amex",
                        "bancontact",
                        "carte-bancaire",
                        "cirrus",
                        "culiance",
                        "dankort",
                        "diners-club",
                        "discover",
                        "eftpos-australia",
                        "elo",
                        "hipercard",
                        "jcb",
                        "maestro",
                        "mastercard",
                        "mir",
                        "nyce",
                        "other",
                        "pulse",
                        "qcard",
                        "rupay",
                        "star",
                        "uatp",
                        "unionpay",
                        "visa"
                      ],
                      "title": "CardScheme",
                      "x-speakeasy-unknown-values": "allow"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Method Scheme",
            "description": "Filters the results to only include transactions that were processed with the specified payment method scheme. This parameter also accepts `null` to include transactions that have a null for this field.",
            "examples": [
              "visa"
            ]
          },
          "payment_service_id": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "uuid"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Service Id",
            "description": "Filters the results to only include transactions that were processed with the specified payment service ID. This parameter also accepts `null` to include transactions that have a null for this field.",
            "examples": [
              "06319aec-2c0f-4c7b-8af1-047ca037fc021"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "datetime_range"
        ],
        "title": "MonitoringMetricFilters"
      },
      "MonitoringMetricUpdate": {
        "properties": {
          "display_name": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "title": "Display Name",
            "description": "The display name for the monitoring metric.",
            "examples": [
              "GBP transactions in the last hour | Auth rate > 90%"
            ]
          },
          "alerting_policy": {
            "anyOf": [
              {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/MonitoringThresholdAlertingPolicy"
                  }
                ],
                "discriminator": {
                  "propertyName": "strategy",
                  "mapping": {
                    "threshold": "#/components/schemas/MonitoringThresholdAlertingPolicy"
                  }
                }
              },
              {
                "type": "null"
              }
            ],
            "title": "Alerting Policy"
          },
          "incident_policy": {
            "anyOf": [
              {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/MonitoringDebouncingIncidentPolicy"
                  }
                ],
                "discriminator": {
                  "propertyName": "strategy",
                  "mapping": {
                    "debouncing": "#/components/schemas/MonitoringDebouncingIncidentPolicy"
                  }
                }
              },
              {
                "type": "null"
              }
            ],
            "title": "Incident Policy"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "display_name",
          "alerting_policy",
          "incident_policy"
        ],
        "title": "MonitoringMetricUpdate"
      },
      "MonitoringMetrics": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/MonitoringMetric"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          },
          "limit": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "description": "The number of items for this page.",
            "default": 20,
            "examples": [
              20
            ]
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "The cursor pointing at the next page of items.",
            "examples": [
              "ZXhhbXBsZTE"
            ]
          },
          "previous_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Cursor",
            "description": "The cursor pointing at the previous page of items.",
            "examples": [
              "Xkjss7asS"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "MonitoringMetrics"
      },
      "MonitoringSample": {
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "title": "Timestamp",
            "description": "The date and time when the sample was taken.",
            "examples": [
              "2025-10-28T11:50:00+00:00",
              "2025-10-28T11:49:00+00:00",
              "2025-10-28T11:48:00+00:00",
              "2025-10-28T11:46:00+00:00"
            ]
          },
          "value": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "number"
              },
              {
                "type": "string",
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Value",
            "description": "The value of the sampled monitoring metric.",
            "examples": [
              100,
              25,
              96.12,
              99.44
            ]
          },
          "healthy": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Healthy",
            "description": "Indicates whether the sample value is healthy.",
            "examples": [
              null,
              false,
              true,
              true
            ]
          },
          "incident_related": {
            "type": "boolean",
            "title": "Incident Related",
            "description": "Indicates whether the sample is related to an incident.",
            "examples": [
              false,
              true
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "timestamp",
          "value",
          "healthy",
          "incident_related"
        ],
        "title": "MonitoringSample"
      },
      "MonitoringThresholdAlertingPolicy": {
        "properties": {
          "strategy": {
            "type": "string",
            "const": "threshold",
            "title": "Strategy",
            "default": "threshold"
          },
          "params": {
            "$ref": "#/components/schemas/MonitoringThresholdAlertingPolicyParams"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "params"
        ],
        "title": "MonitoringThresholdAlertingPolicy"
      },
      "MonitoringThresholdAlertingPolicyParams": {
        "properties": {
          "alert_gt": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "number"
              },
              {
                "type": "string",
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Alert Gt",
            "description": "The value above which a sample is considered unhealthy.",
            "examples": [
              50
            ]
          },
          "alert_lt": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "number"
              },
              {
                "type": "string",
                "pattern": "^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Alert Lt",
            "description": "The value below which a sample is considered unhealthy.",
            "examples": [
              50
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "MonitoringThresholdAlertingPolicyParams"
      },
      "NetworkToken": {
        "properties": {
          "type": {
            "type": "string",
            "const": "network-token",
            "title": "Type",
            "description": "Always `network-token`.",
            "default": "network-token",
            "examples": [
              "network-token"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the network token.",
            "examples": [
              "918f6c9b-5d11-4897-98dc-23fda6fe0055"
            ]
          },
          "expiration_date": {
            "type": "string",
            "maxLength": 5,
            "minLength": 5,
            "pattern": "^\\d{2}/\\d{2}$",
            "title": "Expiration Date",
            "description": "The expiration date for the network token.",
            "examples": [
              "12/30"
            ]
          },
          "payment_method_id": {
            "type": "string",
            "format": "uuid",
            "title": "Payment Method Id",
            "description": "The ID of the payment method used to generate this token",
            "examples": [
              "ef9496d8-53a5-4aad-8ca2-00eb68334389"
            ]
          },
          "status": {
            "description": "The state of the network token.",
            "examples": [
              "active"
            ],
            "type": "string",
            "enum": [
              "active",
              "inactive",
              "suspended",
              "deleted"
            ],
            "title": "NetworkTokenStatus",
            "x-speakeasy-unknown-values": "allow"
          },
          "token": {
            "type": "string",
            "maxLength": 300,
            "minLength": 1,
            "title": "Token",
            "description": "The token value. Will be present if succeeded.",
            "examples": [
              "4111123456789012"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date and time when this network token was first created in our system.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date and time when this network token was last updated in our system.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "expiration_date",
          "payment_method_id",
          "status",
          "token",
          "created_at",
          "updated_at"
        ],
        "title": "NetworkToken"
      },
      "NetworkTokenCreate": {
        "properties": {
          "security_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4,
                "minLength": 3,
                "pattern": "^\\d+$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Security Code",
            "description": "The 3 or 4 digit security code often found on the card. This often referred to as the CVV or CVD.",
            "examples": [
              "123"
            ]
          },
          "merchant_initiated": {
            "type": "boolean",
            "title": "Merchant Initiated",
            "description": "Defines if the request is merchant initiated or not.",
            "examples": [
              false
            ]
          },
          "is_subsequent_payment": {
            "type": "boolean",
            "title": "Is Subsequent Payment",
            "description": "Defines if the request is a subsequent of another request or not.",
            "examples": [
              false
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "merchant_initiated",
          "is_subsequent_payment"
        ],
        "title": "NetworkTokenCreate"
      },
      "NetworkTokenPaymentMethodCreate": {
        "properties": {
          "method": {
            "type": "string",
            "const": "network-token",
            "title": "Method",
            "description": "Always `network-token`.",
            "examples": [
              "network-token"
            ]
          },
          "token": {
            "type": "string",
            "title": "Token",
            "description": "The scheme token.",
            "examples": [
              "4111123456789012"
            ]
          },
          "expiration_date": {
            "type": "string",
            "maxLength": 5,
            "minLength": 5,
            "pattern": "^\\d{2}/\\d{2}$",
            "title": "Expiration Date",
            "description": "The expiration date of the token.",
            "examples": [
              "12/30"
            ]
          },
          "cryptogram": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cryptogram",
            "description": "The payment cryptogram for the network token.",
            "examples": [
              "A3F9C2D47E1B56A9"
            ]
          },
          "redirect_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "pattern": "^data:application/json;base64,.*$",
                "examples": [
                  "data:application/json;base64,eyJ0YXJnZXQiOiAib3BlbmVyIiwgImNoYW5uZWwiOiAiY2hhbm5lbCIsICJvcmlnaW5fdXJsIjogImh0dHBzOi8vZ3I0dnkuYXBwIn0="
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Redirect Url",
            "description": "The URL to redirect a user back to after the complete 3DS in browser.",
            "examples": [
              "https://example.com"
            ]
          },
          "card_source": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "apple-pay",
                  "google-pay"
                ],
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "title": "Card Source",
            "description": "The optional source of the decrypted device token.",
            "examples": [
              "apple-pay"
            ]
          },
          "card_scheme": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "accel",
                  "amex",
                  "bancontact",
                  "carte-bancaire",
                  "cirrus",
                  "culiance",
                  "dankort",
                  "diners-club",
                  "discover",
                  "eftpos-australia",
                  "elo",
                  "hipercard",
                  "jcb",
                  "maestro",
                  "mastercard",
                  "mir",
                  "nyce",
                  "other",
                  "pulse",
                  "qcard",
                  "rupay",
                  "star",
                  "uatp",
                  "unionpay",
                  "visa"
                ],
                "title": "CardScheme",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The original card scheme for which the token was generated.",
            "examples": [
              "visa"
            ]
          },
          "card_suffix": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4
              },
              {
                "type": "null"
              }
            ],
            "title": "Card Suffix",
            "description": "The last 4 digits of the original card used to generate the token.",
            "examples": [
              "1234"
            ]
          },
          "cardholder_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cardholder Name",
            "description": "The card holder name associated to the original card for the token.",
            "examples": [
              "John Luhn"
            ]
          },
          "eci": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2,
                "minLength": 1,
                "pattern": "^0?\\d$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Eci",
            "description": "The ecommerce indicator for the token.",
            "examples": [
              "05"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "method",
          "token",
          "expiration_date"
        ],
        "title": "NetworkTokenPaymentMethodCreate"
      },
      "NetworkTokenStatus": {
        "type": "string",
        "enum": [
          "active",
          "inactive",
          "suspended",
          "deleted"
        ],
        "title": "NetworkTokenStatus",
        "x-speakeasy-unknown-values": "allow"
      },
      "NetworkTokens": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/NetworkToken"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          }
        },
        "type": "object",
        "required": [
          "items"
        ],
        "title": "NetworkTokens"
      },
      "PasswordOAuthAuthentication": {
        "properties": {
          "type": {
            "type": "string",
            "const": "webhook-authentication",
            "title": "Type",
            "description": "Type of resource for webhook authentication.",
            "default": "webhook-authentication",
            "examples": [
              "webhook-authentication"
            ]
          },
          "kind": {
            "type": "string",
            "const": "oauth_password",
            "title": "Kind",
            "description": "Type of authentication for webhook request.",
            "default": "oauth_password",
            "examples": [
              "oauth_password"
            ]
          },
          "client_id": {
            "type": "string",
            "title": "Client Id",
            "description": "The OAuth client identifier.",
            "examples": [
              "1234abcd"
            ]
          },
          "client_secret": {
            "type": "string",
            "title": "Client Secret",
            "description": "The masked OAuth client secret.",
            "default": "********",
            "examples": [
              "********"
            ]
          },
          "token_url": {
            "type": "string",
            "title": "Token Url",
            "description": "The OAuth access token URL.",
            "examples": [
              "https://www.gr4vy.com/oauth/token"
            ]
          },
          "scope": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scope",
            "description": "The OAuth scope.",
            "examples": [
              "example:scope"
            ]
          },
          "username": {
            "type": "string",
            "title": "Username",
            "description": "The username value.",
            "examples": [
              "gr4vy"
            ]
          },
          "password": {
            "type": "string",
            "const": "********",
            "title": "Password",
            "description": "The masked password value.",
            "default": "********",
            "examples": [
              "********"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "client_id",
          "token_url",
          "username"
        ],
        "title": "PasswordOAuthAuthentication"
      },
      "PasswordOAuthAuthenticationCreate": {
        "properties": {
          "kind": {
            "type": "string",
            "const": "oauth_password",
            "title": "Kind",
            "description": "Type of authentication for webhook request.",
            "default": "oauth_password",
            "examples": [
              "oauth_password"
            ]
          },
          "client_id": {
            "type": "string",
            "title": "Client Id",
            "description": "The OAuth client identifier.",
            "examples": [
              "1234abcd"
            ]
          },
          "client_secret": {
            "type": "string",
            "title": "Client Secret",
            "description": "The OAuth client secret.",
            "examples": [
              "sec_123_abc"
            ]
          },
          "token_url": {
            "type": "string",
            "title": "Token Url",
            "description": "The OAuth access token URL.",
            "examples": [
              "https://www.gr4vy.com/oauth/token"
            ]
          },
          "scope": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scope",
            "description": "The OAuth scope.",
            "examples": [
              "example:scope"
            ]
          },
          "username": {
            "type": "string",
            "title": "Username",
            "description": "The username value.",
            "examples": [
              "gr4vy"
            ]
          },
          "password": {
            "type": "string",
            "title": "Password",
            "description": "The password value.",
            "examples": [
              "super-strong-password"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "client_id",
          "client_secret",
          "token_url",
          "username",
          "password"
        ],
        "title": "PasswordOAuthAuthenticationCreate"
      },
      "PaymentLink": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The unique identifier for the payment link.",
            "examples": [
              "a1b2c3d4-5678-90ab-cdef-1234567890ab"
            ]
          },
          "type": {
            "type": "string",
            "const": "payment-link",
            "title": "Type",
            "description": "Always `payment-link`.",
            "default": "payment-link",
            "examples": [
              "payment-link"
            ]
          },
          "url": {
            "type": "string",
            "title": "Url",
            "description": "The URL for the payment link.",
            "examples": [
              "https://example.com/link/a1b2c3d4-5678-90ab-cdef-1234567890ab"
            ]
          },
          "expires_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At",
            "description": "The expiration date and time for the payment link.",
            "examples": [
              "2024-06-01T00:00:00.000Z"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant reference for the payment link.",
            "examples": [
              "external-12345"
            ]
          },
          "statement_descriptor": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StatementDescriptor"
              },
              {
                "type": "null"
              }
            ],
            "description": "The statement descriptor for the payment link."
          },
          "locale": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Locale",
            "description": "The locale for the payment link.",
            "examples": [
              "en",
              "en-GB",
              "pt",
              "pt-BR",
              "es"
            ]
          },
          "merchant_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Name",
            "description": "The merchant's display name.",
            "examples": [
              "ACME Inc."
            ]
          },
          "merchant_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Url",
            "description": "The merchant's website URL.",
            "examples": [
              "https://merchant.example.com"
            ]
          },
          "merchant_banner_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Banner Url",
            "description": "The merchant's banner image URL.",
            "examples": [
              "https://merchant.example.com/banner.png"
            ]
          },
          "merchant_color": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Color",
            "description": "The merchant's brand color.",
            "examples": [
              "#FF5733"
            ]
          },
          "merchant_message": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Message",
            "description": "A message from the merchant.",
            "examples": [
              "Thank you for your purchase!"
            ]
          },
          "merchant_terms_and_conditions_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Terms And Conditions Url",
            "description": "URL to the merchant's terms and conditions.",
            "examples": [
              "https://merchant.example.com/terms"
            ]
          },
          "merchant_favicon_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Favicon Url",
            "description": "URL to the merchant's favicon.",
            "examples": [
              "https://merchant.example.com/favicon.ico"
            ]
          },
          "amount": {
            "type": "integer",
            "maximum": 99999999,
            "minimum": 0,
            "title": "Amount",
            "description": "The amount for the payment link.",
            "examples": [
              1299
            ]
          },
          "country": {
            "type": "string",
            "pattern": "^[A-Z]{2}$",
            "title": "Country",
            "description": "The country code for the payment link.",
            "examples": [
              "DE",
              "GB",
              "US"
            ]
          },
          "currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "title": "Currency",
            "description": "The currency code for the payment link.",
            "examples": [
              "EUR",
              "GBP",
              "USD"
            ]
          },
          "intent": {
            "description": "The transaction intent for the payment link.",
            "examples": [
              "authorize",
              "capture"
            ],
            "type": "string",
            "enum": [
              "authorize",
              "capture"
            ],
            "title": "TransactionIntent",
            "x-speakeasy-unknown-values": "allow"
          },
          "return_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Return Url",
            "description": "The return URL after payment completion.",
            "examples": [
              "https://merchant.example.com/return"
            ]
          },
          "cart_items": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/CartItem"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cart Items",
            "description": "The cart items for the payment link.",
            "examples": [
              [
                {
                  "amount": {
                    "currency": "USD",
                    "value": 500
                  },
                  "name": "Widget",
                  "quantity": 2
                }
              ]
            ]
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Metadata",
            "description": "Arbitrary metadata for the payment link.",
            "examples": [
              {
                "order_id": "ORD-12345"
              }
            ]
          },
          "payment_source": {
            "description": "The way payment method information made it to this transaction.",
            "examples": [
              "ecommerce"
            ],
            "type": "string",
            "enum": [
              "ecommerce",
              "moto",
              "recurring",
              "installment",
              "card_on_file"
            ],
            "title": "TransactionPaymentSource",
            "x-speakeasy-unknown-values": "allow"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date and time the payment link was created.",
            "examples": [
              "2024-05-30T12:34:56.000Z"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date and time the payment link was last updated.",
            "examples": [
              "2024-05-30T13:00:00.000Z"
            ]
          },
          "status": {
            "description": "The status of the payment link.",
            "examples": [
              "active",
              "expired",
              "completed"
            ],
            "type": "string",
            "enum": [
              "active",
              "completed",
              "expired",
              "processing"
            ],
            "title": "PaymentLinkStatus",
            "x-speakeasy-unknown-values": "allow"
          },
          "buyer": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TransactionBuyer"
              },
              {
                "type": "null"
              }
            ],
            "description": "The buyer associated with the payment link."
          },
          "shipping_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ShippingDetails"
              },
              {
                "type": "null"
              }
            ],
            "description": "The shipping details for the payment link."
          },
          "connection_options": {
            "anyOf": [
              {
                "additionalProperties": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Options",
            "description": "The connection options for the payment link."
          },
          "store": {
            "type": "boolean",
            "title": "Store",
            "description": "Whether the payment method was stored.",
            "default": false
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": "The ID of the buyer to associate with the stored payment method.",
            "examples": [
              "a1b2c3d4-5678-90ab-cdef-1234567890ab"
            ]
          },
          "installment_count": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 100,
                "minimum": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Installment Count",
            "description": "The number of installments a buyer is required to make."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "url",
          "amount",
          "country",
          "currency",
          "intent",
          "cart_items",
          "payment_source",
          "created_at",
          "updated_at",
          "status"
        ],
        "title": "PaymentLink"
      },
      "PaymentLinkCreate": {
        "properties": {
          "buyer": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/GuestBuyer"
              },
              {
                "type": "null"
              }
            ],
            "description": "The guest buyer for the payment link."
          },
          "expires_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At",
            "description": "The expiration date and time for the payment link.",
            "examples": [
              "2024-06-01T00:00:00.000Z"
            ]
          },
          "connection_options": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TransactionConnectionOptions"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Options",
            "description": "Connection options for the payment link."
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant reference for the payment link.",
            "examples": [
              "external-12345"
            ]
          },
          "statement_descriptor": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StatementDescriptor"
              },
              {
                "type": "null"
              }
            ],
            "description": "The statement descriptor for the payment link."
          },
          "locale": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Locale",
            "description": "The locale for the payment link.",
            "examples": [
              "en",
              "en-GB",
              "pt",
              "pt-BR",
              "es"
            ]
          },
          "merchant_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Name",
            "description": "The merchant's display name.",
            "examples": [
              "ACME Inc."
            ]
          },
          "merchant_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Url",
            "description": "The merchant's website URL.",
            "examples": [
              "https://merchant.example.com"
            ]
          },
          "merchant_banner_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Banner Url",
            "description": "The merchant's banner image URL.",
            "examples": [
              "https://merchant.example.com/banner.png"
            ]
          },
          "merchant_color": {
            "anyOf": [
              {
                "type": "string",
                "format": "color"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Color",
            "description": "The merchant's brand color.",
            "examples": [
              "#FF5733"
            ]
          },
          "merchant_message": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Message",
            "description": "A message from the merchant.",
            "examples": [
              "Thank you for your purchase!"
            ]
          },
          "merchant_terms_and_conditions_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Terms And Conditions Url",
            "description": "URL to the merchant's terms and conditions.",
            "examples": [
              "https://merchant.example.com/terms"
            ]
          },
          "merchant_favicon_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Favicon Url",
            "description": "URL to the merchant's favicon.",
            "examples": [
              "https://merchant.example.com/favicon.ico"
            ]
          },
          "amount": {
            "type": "integer",
            "maximum": 99999999,
            "minimum": 0,
            "title": "Amount",
            "description": "The amount for the payment link.",
            "examples": [
              1299
            ]
          },
          "country": {
            "type": "string",
            "pattern": "^[A-Z]{2}$",
            "title": "Country",
            "description": "The country code for the payment link.",
            "examples": [
              "DE",
              "GB",
              "US"
            ]
          },
          "currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "title": "Currency",
            "description": "The currency code for the payment link.",
            "examples": [
              "EUR",
              "GBP",
              "USD"
            ]
          },
          "intent": {
            "description": "The transaction intent for the payment link.",
            "default": "authorize",
            "examples": [
              "authorize",
              "capture"
            ],
            "type": "string",
            "enum": [
              "authorize",
              "capture"
            ],
            "title": "TransactionIntent",
            "x-speakeasy-unknown-values": "allow"
          },
          "return_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Return Url",
            "description": "The return URL after payment completion.",
            "examples": [
              "https://merchant.example.com/return"
            ]
          },
          "cart_items": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/CartItem"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cart Items",
            "description": "The cart items for the payment link."
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Metadata",
            "description": "Arbitrary metadata for the payment link.",
            "examples": [
              {
                "order_id": "ORD-12345"
              }
            ]
          },
          "payment_source": {
            "description": "The way payment method information made it to this transaction.",
            "default": "ecommerce",
            "examples": [
              "ecommerce"
            ],
            "type": "string",
            "enum": [
              "ecommerce",
              "moto",
              "recurring",
              "installment",
              "card_on_file"
            ],
            "title": "TransactionPaymentSource",
            "x-speakeasy-unknown-values": "allow"
          },
          "store": {
            "type": "boolean",
            "title": "Store",
            "description": "Whether to store the payment method for future use.",
            "default": false,
            "examples": [
              true
            ]
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": "The ID of the buyer to associate the payment method with. Note: When `buyer_id` is provided, the payment link should be treated as a secret as it will allow the user to manage payment methods for the associated buyer.",
            "examples": [
              "a1b2c3d4-5678-90ab-cdef-1234567890ab"
            ]
          },
          "installment_count": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 100,
                "minimum": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Installment Count",
            "description": "The number of installments a buyer is required to make."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "amount",
          "country",
          "currency"
        ],
        "title": "PaymentLinkCreate"
      },
      "PaymentLinkStatus": {
        "type": "string",
        "enum": [
          "active",
          "completed",
          "expired",
          "processing"
        ],
        "title": "PaymentLinkStatus",
        "x-speakeasy-unknown-values": "allow"
      },
      "PaymentLinks": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PaymentLink"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          },
          "limit": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "description": "The number of items for this page.",
            "default": 20,
            "examples": [
              20
            ]
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "The cursor pointing at the next page of items.",
            "examples": [
              "ZXhhbXBsZTE"
            ]
          },
          "previous_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Cursor",
            "description": "The cursor pointing at the previous page of items.",
            "examples": [
              "Xkjss7asS"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "PaymentLinks"
      },
      "PaymentMethod": {
        "properties": {
          "type": {
            "type": "string",
            "const": "payment-method",
            "title": "Type",
            "description": "Always `payment-method`.",
            "default": "payment-method",
            "examples": [
              "payment-method"
            ]
          },
          "approval_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Approval Url",
            "description": "The optional URL that the buyer needs to be redirected to to further authorize their payment.",
            "examples": [
              "https://gr4vy.app/redirect/12345"
            ]
          },
          "country": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "examples": [
                  "DE",
                  "GB",
                  "US"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Country",
            "description": "The 2-letter ISO code of the country this payment method can be used for. If this value is null the payment method may be used in multiple countries.",
            "examples": [
              "US"
            ]
          },
          "currency": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{3}$",
                "examples": [
                  "EUR",
                  "GBP",
                  "USD"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Currency",
            "description": "The ISO-4217 currency code that this payment method can be used for. If this value is null the payment method may be used for multiple currencies.",
            "examples": [
              "USD"
            ]
          },
          "details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PaymentMethodDetailsCard"
              },
              {
                "type": "null"
              }
            ],
            "description": "Details for credit or debit card payment method."
          },
          "expiration_date": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 5,
                "minLength": 5,
                "pattern": "^\\d{2}/\\d{2}$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expiration Date",
            "description": "The expiration date for the payment method.",
            "examples": [
              "12/30"
            ]
          },
          "fingerprint": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fingerprint",
            "description": "The unique hash derived from the payment method identifier (e.g. card number).",
            "examples": [
              "a50b85c200ee0795d6fd33a5c66f37a4564f554355c5b46a756aac485dd168a4"
            ]
          },
          "label": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 320,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Label",
            "description": "A label for the card or the account. For a paypal payment method this is the user's email address. For a card it is the last 4 digits of the card.",
            "examples": [
              "1234"
            ]
          },
          "last_replaced_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Replaced At",
            "description": "The date and time when this card was last replaced by the account updater.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "method": {
            "description": "The type of this payment method.",
            "examples": [
              "card"
            ],
            "type": "string",
            "enum": [
              "abitab",
              "affirm",
              "afterpay",
              "alipay",
              "alipayhk",
              "applepay",
              "arcuspaynetwork",
              "bacs",
              "bancontact",
              "bank",
              "bcp",
              "becs",
              "bitpay",
              "blik",
              "ach",
              "boleto",
              "boost",
              "breb",
              "capitec",
              "card",
              "cashapp",
              "cashappafterpay",
              "chaseorbital",
              "clearpay",
              "click-to-pay",
              "custom_push",
              "custom_redirect",
              "custom_tokenize",
              "dana",
              "dcb",
              "dlocal",
              "duitnow",
              "ebanx",
              "eckoh",
              "efecty",
              "eps",
              "everydaypay",
              "gcash",
              "gem",
              "gemds",
              "gift-card",
              "giropay",
              "givingblock",
              "gocardless",
              "googlepay",
              "googlepay_pan_only",
              "gopay",
              "grabpay",
              "ideal",
              "interac",
              "kakaopay",
              "kcp",
              "khipu",
              "klarna",
              "konbini",
              "latitude",
              "latitudeds",
              "laybuy",
              "linepay",
              "linkaja",
              "maybankqrpay",
              "mercadopago",
              "multibanco",
              "multipago",
              "nequi",
              "netbanking",
              "network-token",
              "nupay",
              "oney_10x",
              "oney_12x",
              "oney_3x",
              "oney_4x",
              "oney_6x",
              "onlinebankingcz",
              "onelink",
              "ovo",
              "oxxo",
              "p24",
              "pagoefectivo",
              "paybybank",
              "payid",
              "paymaya",
              "paysquad",
              "paypal",
              "paypalpaylater",
              "paypay",
              "payto",
              "payvalida",
              "paze",
              "picpay",
              "pix",
              "plaid",
              "pse",
              "rabbitlinepay",
              "razorpay",
              "rapipago",
              "redpagos",
              "scalapay",
              "sepa",
              "servipag",
              "seveneleven",
              "sezzle",
              "shopeepay",
              "singteldash",
              "smartpay",
              "sofort",
              "spei",
              "stitch",
              "swish",
              "stripe",
              "stripedd",
              "stripetoken",
              "tapi",
              "tapifintechs",
              "thaiqr",
              "touchngo",
              "truemoney",
              "trustly",
              "trustlyeurope",
              "upi",
              "venmo",
              "vipps",
              "waave",
              "webpay",
              "wechat",
              "wero",
              "yape",
              "zippay"
            ],
            "title": "Method",
            "x-speakeasy-unknown-values": "allow"
          },
          "mode": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "card",
                  "redirect",
                  "applepay",
                  "googlepay",
                  "checkout-session",
                  "click-to-pay",
                  "gift-card",
                  "bank",
                  "paze"
                ],
                "title": "Mode",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The mode to use with this payment method.",
            "examples": [
              "card"
            ]
          },
          "scheme": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "accel",
                  "amex",
                  "bancontact",
                  "carte-bancaire",
                  "cirrus",
                  "culiance",
                  "dankort",
                  "diners-club",
                  "discover",
                  "eftpos-australia",
                  "elo",
                  "hipercard",
                  "jcb",
                  "maestro",
                  "mastercard",
                  "mir",
                  "nyce",
                  "other",
                  "pulse",
                  "qcard",
                  "rupay",
                  "star",
                  "uatp",
                  "unionpay",
                  "visa"
                ],
                "title": "CardScheme",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The scheme of the card. Only applies to card payments.",
            "examples": [
              "visa"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the payment method.",
            "examples": [
              "ef9496d8-53a5-4aad-8ca2-00eb68334389"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "The ID of the merchant account this buyer belongs to.",
            "examples": [
              "default"
            ]
          },
          "additional_schemes": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "enum": [
                    "accel",
                    "amex",
                    "bancontact",
                    "carte-bancaire",
                    "cirrus",
                    "culiance",
                    "dankort",
                    "diners-club",
                    "discover",
                    "eftpos-australia",
                    "elo",
                    "hipercard",
                    "jcb",
                    "maestro",
                    "mastercard",
                    "mir",
                    "nyce",
                    "other",
                    "pulse",
                    "qcard",
                    "rupay",
                    "star",
                    "uatp",
                    "unionpay",
                    "visa"
                  ],
                  "title": "CardScheme",
                  "x-speakeasy-unknown-values": "allow"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Additional Schemes",
            "description": "Additional schemes of the card besides the primary scheme. Only applies to card payment methods.",
            "examples": [
              [
                "eftpos-australia"
              ]
            ]
          },
          "cit_last_used_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cit Last Used At",
            "description": "The timestamp when this payment method was last used in a transaction for client initiated transactions.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "cit_usage_count": {
            "type": "integer",
            "title": "Cit Usage Count",
            "description": "The number of times this payment method has been used in transactions for client initiated transactions.",
            "examples": [
              50
            ]
          },
          "has_replacement": {
            "type": "boolean",
            "title": "Has Replacement",
            "description": "Whether this card has a pending replacement that hasn't been applied yet.",
            "examples": [
              false
            ]
          },
          "last_used_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Used At",
            "description": "The timestamp when this payment method was last used in a transaction.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "usage_count": {
            "type": "integer",
            "title": "Usage Count",
            "description": "The number of times this payment method has been used in transactions.",
            "examples": [
              100
            ]
          },
          "scheme_transaction_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scheme Transaction Id",
            "description": "The scheme transaction identifier stored against this payment method.",
            "examples": [
              "123456789012345"
            ]
          },
          "scheme_transaction_id_scheme": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "accel",
                  "amex",
                  "bancontact",
                  "carte-bancaire",
                  "cirrus",
                  "culiance",
                  "dankort",
                  "diners-club",
                  "discover",
                  "eftpos-australia",
                  "elo",
                  "hipercard",
                  "jcb",
                  "maestro",
                  "mastercard",
                  "mir",
                  "nyce",
                  "other",
                  "pulse",
                  "qcard",
                  "rupay",
                  "star",
                  "uatp",
                  "unionpay",
                  "visa"
                ],
                "title": "CardScheme",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The scheme associated with scheme_transaction_id. Only applies to card payments.",
            "examples": [
              "visa"
            ]
          },
          "transaction_link_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Transaction Link Id",
            "description": "The transaction link identifier stored against this payment method.",
            "examples": [
              "123456789012345"
            ]
          },
          "buyer": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Buyer"
              },
              {
                "type": "null"
              }
            ],
            "description": "The optional buyer for which this payment method has been stored."
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant reference that can be used to match the payment method against your own records.",
            "examples": [
              "card-12345"
            ]
          },
          "status": {
            "description": "The state of the payment method.",
            "examples": [
              "succeeded"
            ],
            "type": "string",
            "enum": [
              "processing",
              "buyer_approval_required",
              "succeeded",
              "failed",
              "paused"
            ],
            "title": "PaymentMethodStatus",
            "x-speakeasy-unknown-values": "allow"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date and time when this payment method was first created in our system.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date and time when this payment method was last updated in our system.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "method",
          "id",
          "merchant_account_id",
          "cit_usage_count",
          "has_replacement",
          "usage_count",
          "scheme_transaction_id",
          "scheme_transaction_id_scheme",
          "status",
          "created_at",
          "updated_at"
        ],
        "title": "PaymentMethod",
        "description": "Payment Method\n\nA stored payment method."
      },
      "PaymentMethodCard": {
        "properties": {
          "method": {
            "type": "string",
            "const": "card",
            "title": "Method",
            "description": "Set to `card` to use a new card.",
            "default": "card",
            "examples": [
              "card"
            ]
          },
          "number": {
            "type": "string",
            "maxLength": 19,
            "minLength": 13,
            "pattern": "^\\d+$",
            "title": "Number",
            "description": "The 13-19 digit number for this card as it can be found on the front of the card.",
            "examples": [
              "4242424242424242"
            ]
          },
          "expiration_date": {
            "type": "string",
            "maxLength": 5,
            "minLength": 5,
            "pattern": "^\\d{2}/\\d{2}$",
            "title": "Expiration Date",
            "description": "The expiration date of the card, formatted `MM/YY`.",
            "examples": [
              "12/30"
            ]
          },
          "card_scheme": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "accel",
                  "amex",
                  "bancontact",
                  "carte-bancaire",
                  "cirrus",
                  "culiance",
                  "dankort",
                  "diners-club",
                  "discover",
                  "eftpos-australia",
                  "elo",
                  "hipercard",
                  "jcb",
                  "maestro",
                  "mastercard",
                  "mir",
                  "nyce",
                  "other",
                  "pulse",
                  "qcard",
                  "rupay",
                  "star",
                  "uatp",
                  "unionpay",
                  "visa"
                ],
                "title": "CardScheme",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The optional card's network scheme.",
            "examples": [
              "visa"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant identifier for this card.",
            "examples": [
              "card-12345"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "number",
          "expiration_date"
        ],
        "title": "PaymentMethodCard"
      },
      "PaymentMethodDefinition": {
        "properties": {
          "id": {
            "type": "string",
            "maxLength": 50,
            "minLength": 1,
            "title": "Id",
            "description": "Unique identifier for the payment method",
            "examples": [
              "card",
              "ach",
              "paypal"
            ]
          },
          "icon_url": {
            "type": "string",
            "title": "Icon Url",
            "description": "URL to the payment method's icon image",
            "examples": [
              "https://example.com/icons/card.png"
            ]
          },
          "display_name": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "title": "Display Name",
            "description": "Short display name for the payment method",
            "examples": [
              "Card",
              "Bank Transfer",
              "PayPal"
            ]
          },
          "long_display_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Long Display Name",
            "description": "Extended display name for the payment method",
            "examples": [
              "Credit or Debit Card",
              "ACH Bank Transfer"
            ]
          },
          "method": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Method",
            "description": "Technical identifier for the payment method type",
            "examples": [
              "card_payment",
              "ach_debit",
              "digital_wallet"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "icon_url",
          "display_name"
        ],
        "title": "PaymentMethodDefinition"
      },
      "PaymentMethodDefinitions": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PaymentMethodDefinition"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          }
        },
        "type": "object",
        "required": [
          "items"
        ],
        "title": "PaymentMethodDefinitions"
      },
      "PaymentMethodDetailsCard": {
        "properties": {
          "bin": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 8,
                "minLength": 6,
                "pattern": "^\\d+$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bin"
          },
          "card_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "credit",
                  "debit",
                  "prepaid"
                ],
                "title": "CardType",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ]
          },
          "card_issuer_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Card Issuer Name"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "PaymentMethodDetailsCard"
      },
      "PaymentMethodStatus": {
        "type": "string",
        "enum": [
          "processing",
          "buyer_approval_required",
          "succeeded",
          "failed",
          "paused"
        ],
        "title": "PaymentMethodStatus",
        "x-speakeasy-unknown-values": "allow"
      },
      "PaymentMethodStoredCard": {
        "properties": {
          "method": {
            "type": "string",
            "const": "id",
            "title": "Method",
            "description": "Set to `id` to use a stored card.",
            "default": "id",
            "examples": [
              "id"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID of the stored card to use.",
            "examples": [
              "852b951c-d7ea-4c98-b09e-4a1c9e97c077"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id"
        ],
        "title": "PaymentMethodStoredCard"
      },
      "PaymentMethodSummaries": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PaymentMethodSummary"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          }
        },
        "type": "object",
        "required": [
          "items"
        ],
        "title": "PaymentMethodSummaries"
      },
      "PaymentMethodSummary": {
        "properties": {
          "type": {
            "type": "string",
            "const": "payment-method",
            "title": "Type",
            "description": "Always `payment-method`.",
            "default": "payment-method",
            "examples": [
              "payment-method"
            ]
          },
          "approval_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Approval Url",
            "description": "The optional URL that the buyer needs to be redirected to to further authorize their payment.",
            "examples": [
              "https://gr4vy.app/redirect/12345"
            ]
          },
          "country": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "examples": [
                  "DE",
                  "GB",
                  "US"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Country",
            "description": "The 2-letter ISO code of the country this payment method can be used for. If this value is null the payment method may be used in multiple countries.",
            "examples": [
              "US"
            ]
          },
          "currency": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{3}$",
                "examples": [
                  "EUR",
                  "GBP",
                  "USD"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Currency",
            "description": "The ISO-4217 currency code that this payment method can be used for. If this value is null the payment method may be used for multiple currencies.",
            "examples": [
              "USD"
            ]
          },
          "details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PaymentMethodDetailsCard"
              },
              {
                "type": "null"
              }
            ],
            "description": "Details for credit or debit card payment method."
          },
          "expiration_date": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 5,
                "minLength": 5,
                "pattern": "^\\d{2}/\\d{2}$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expiration Date",
            "description": "The expiration date for the payment method.",
            "examples": [
              "12/30"
            ]
          },
          "fingerprint": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fingerprint",
            "description": "The unique hash derived from the payment method identifier (e.g. card number).",
            "examples": [
              "a50b85c200ee0795d6fd33a5c66f37a4564f554355c5b46a756aac485dd168a4"
            ]
          },
          "label": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 320,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Label",
            "description": "A label for the card or the account. For a paypal payment method this is the user's email address. For a card it is the last 4 digits of the card.",
            "examples": [
              "1234"
            ]
          },
          "last_replaced_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Replaced At",
            "description": "The date and time when this card was last replaced by the account updater.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "method": {
            "description": "The type of this payment method.",
            "examples": [
              "card"
            ],
            "type": "string",
            "enum": [
              "abitab",
              "affirm",
              "afterpay",
              "alipay",
              "alipayhk",
              "applepay",
              "arcuspaynetwork",
              "bacs",
              "bancontact",
              "bank",
              "bcp",
              "becs",
              "bitpay",
              "blik",
              "ach",
              "boleto",
              "boost",
              "breb",
              "capitec",
              "card",
              "cashapp",
              "cashappafterpay",
              "chaseorbital",
              "clearpay",
              "click-to-pay",
              "custom_push",
              "custom_redirect",
              "custom_tokenize",
              "dana",
              "dcb",
              "dlocal",
              "duitnow",
              "ebanx",
              "eckoh",
              "efecty",
              "eps",
              "everydaypay",
              "gcash",
              "gem",
              "gemds",
              "gift-card",
              "giropay",
              "givingblock",
              "gocardless",
              "googlepay",
              "googlepay_pan_only",
              "gopay",
              "grabpay",
              "ideal",
              "interac",
              "kakaopay",
              "kcp",
              "khipu",
              "klarna",
              "konbini",
              "latitude",
              "latitudeds",
              "laybuy",
              "linepay",
              "linkaja",
              "maybankqrpay",
              "mercadopago",
              "multibanco",
              "multipago",
              "nequi",
              "netbanking",
              "network-token",
              "nupay",
              "oney_10x",
              "oney_12x",
              "oney_3x",
              "oney_4x",
              "oney_6x",
              "onlinebankingcz",
              "onelink",
              "ovo",
              "oxxo",
              "p24",
              "pagoefectivo",
              "paybybank",
              "payid",
              "paymaya",
              "paysquad",
              "paypal",
              "paypalpaylater",
              "paypay",
              "payto",
              "payvalida",
              "paze",
              "picpay",
              "pix",
              "plaid",
              "pse",
              "rabbitlinepay",
              "razorpay",
              "rapipago",
              "redpagos",
              "scalapay",
              "sepa",
              "servipag",
              "seveneleven",
              "sezzle",
              "shopeepay",
              "singteldash",
              "smartpay",
              "sofort",
              "spei",
              "stitch",
              "swish",
              "stripe",
              "stripedd",
              "stripetoken",
              "tapi",
              "tapifintechs",
              "thaiqr",
              "touchngo",
              "truemoney",
              "trustly",
              "trustlyeurope",
              "upi",
              "venmo",
              "vipps",
              "waave",
              "webpay",
              "wechat",
              "wero",
              "yape",
              "zippay"
            ],
            "title": "Method",
            "x-speakeasy-unknown-values": "allow"
          },
          "mode": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "card",
                  "redirect",
                  "applepay",
                  "googlepay",
                  "checkout-session",
                  "click-to-pay",
                  "gift-card",
                  "bank",
                  "paze"
                ],
                "title": "Mode",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The mode to use with this payment method.",
            "examples": [
              "card"
            ]
          },
          "scheme": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "accel",
                  "amex",
                  "bancontact",
                  "carte-bancaire",
                  "cirrus",
                  "culiance",
                  "dankort",
                  "diners-club",
                  "discover",
                  "eftpos-australia",
                  "elo",
                  "hipercard",
                  "jcb",
                  "maestro",
                  "mastercard",
                  "mir",
                  "nyce",
                  "other",
                  "pulse",
                  "qcard",
                  "rupay",
                  "star",
                  "uatp",
                  "unionpay",
                  "visa"
                ],
                "title": "CardScheme",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The scheme of the card. Only applies to card payments.",
            "examples": [
              "visa"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the payment method.",
            "examples": [
              "ef9496d8-53a5-4aad-8ca2-00eb68334389"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "The ID of the merchant account this buyer belongs to.",
            "examples": [
              "default"
            ]
          },
          "additional_schemes": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "enum": [
                    "accel",
                    "amex",
                    "bancontact",
                    "carte-bancaire",
                    "cirrus",
                    "culiance",
                    "dankort",
                    "diners-club",
                    "discover",
                    "eftpos-australia",
                    "elo",
                    "hipercard",
                    "jcb",
                    "maestro",
                    "mastercard",
                    "mir",
                    "nyce",
                    "other",
                    "pulse",
                    "qcard",
                    "rupay",
                    "star",
                    "uatp",
                    "unionpay",
                    "visa"
                  ],
                  "title": "CardScheme",
                  "x-speakeasy-unknown-values": "allow"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Additional Schemes",
            "description": "Additional schemes of the card besides the primary scheme. Only applies to card payment methods.",
            "examples": [
              [
                "eftpos-australia"
              ]
            ]
          },
          "cit_last_used_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cit Last Used At",
            "description": "The timestamp when this payment method was last used in a transaction for client initiated transactions.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "cit_usage_count": {
            "type": "integer",
            "title": "Cit Usage Count",
            "description": "The number of times this payment method has been used in transactions for client initiated transactions.",
            "examples": [
              50
            ]
          },
          "has_replacement": {
            "type": "boolean",
            "title": "Has Replacement",
            "description": "Whether this card has a pending replacement that hasn't been applied yet.",
            "examples": [
              false
            ]
          },
          "last_used_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Used At",
            "description": "The timestamp when this payment method was last used in a transaction.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "usage_count": {
            "type": "integer",
            "title": "Usage Count",
            "description": "The number of times this payment method has been used in transactions.",
            "examples": [
              100
            ]
          },
          "scheme_transaction_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scheme Transaction Id",
            "description": "The scheme transaction identifier stored against this payment method.",
            "examples": [
              "123456789012345"
            ]
          },
          "scheme_transaction_id_scheme": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "accel",
                  "amex",
                  "bancontact",
                  "carte-bancaire",
                  "cirrus",
                  "culiance",
                  "dankort",
                  "diners-club",
                  "discover",
                  "eftpos-australia",
                  "elo",
                  "hipercard",
                  "jcb",
                  "maestro",
                  "mastercard",
                  "mir",
                  "nyce",
                  "other",
                  "pulse",
                  "qcard",
                  "rupay",
                  "star",
                  "uatp",
                  "unionpay",
                  "visa"
                ],
                "title": "CardScheme",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The scheme associated with scheme_transaction_id. Only applies to card payments.",
            "examples": [
              "visa"
            ]
          },
          "transaction_link_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Transaction Link Id",
            "description": "The transaction link identifier stored against this payment method.",
            "examples": [
              "123456789012345"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "method",
          "id",
          "merchant_account_id",
          "cit_usage_count",
          "has_replacement",
          "usage_count",
          "scheme_transaction_id",
          "scheme_transaction_id_scheme"
        ],
        "title": "PaymentMethodSummary",
        "description": "Payment Method\n\nA summary of a payment method."
      },
      "PaymentMethodUpdate": {
        "properties": {
          "expiration_date": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 5,
                "minLength": 5,
                "pattern": "^\\d{2}/\\d{2}$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expiration Date",
            "description": "The new expiration date for the payment method.",
            "examples": [
              "12/30"
            ]
          },
          "scheme_transaction_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "null"
              }
            ],
            "title": "Scheme Transaction Id",
            "description": "A scheme transaction identifier to associate with this payment method. Explicitly setting this field to `null` will also clear `scheme_transaction_id_scheme` as a side-effect. When setting a new value and `scheme_transaction_id_scheme` is both omitted from the payload and previously unset, `scheme_transaction_id_scheme` will be populated from the payment method's existing `scheme`.",
            "examples": [
              "123456789012345"
            ]
          },
          "scheme_transaction_id_scheme": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "accel",
                  "amex",
                  "bancontact",
                  "carte-bancaire",
                  "cirrus",
                  "culiance",
                  "dankort",
                  "diners-club",
                  "discover",
                  "eftpos-australia",
                  "elo",
                  "hipercard",
                  "jcb",
                  "maestro",
                  "mastercard",
                  "mir",
                  "nyce",
                  "other",
                  "pulse",
                  "qcard",
                  "rupay",
                  "star",
                  "uatp",
                  "unionpay",
                  "visa"
                ],
                "title": "CardScheme",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The scheme associated with `scheme_transaction_id`. Only applies to card payments. When setting a new value for `scheme_transaction_id`, if `scheme_transaction_id_scheme` is both omitted from the payload and previously unset, `scheme_transaction_id_scheme` will be populated from the payment method's existing `scheme`.",
            "examples": [
              "visa"
            ]
          },
          "transaction_link_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "null"
              }
            ],
            "title": "Transaction Link Id",
            "description": "A transaction link identifier to associate with this payment method.",
            "examples": [
              "123456789012345"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "PaymentMethodUpdate",
        "description": "Request body for updating a stored payment method."
      },
      "PaymentMethods": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PaymentMethod"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          },
          "limit": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "description": "The number of items for this page.",
            "default": 20,
            "examples": [
              20
            ]
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "The cursor pointing at the next page of items.",
            "examples": [
              "ZXhhbXBsZTE"
            ]
          },
          "previous_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Cursor",
            "description": "The cursor pointing at the previous page of items.",
            "examples": [
              "Xkjss7asS"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "PaymentMethods"
      },
      "PaymentOption": {
        "properties": {
          "type": {
            "type": "string",
            "const": "payment-option",
            "title": "Type",
            "default": "payment-option"
          },
          "method": {
            "type": "string",
            "title": "Method"
          },
          "icon_url": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1500,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Icon Url"
          },
          "mode": {
            "type": "string",
            "enum": [
              "card",
              "redirect",
              "applepay",
              "googlepay",
              "checkout-session",
              "click-to-pay",
              "gift-card",
              "bank",
              "paze"
            ],
            "title": "Mode",
            "x-speakeasy-unknown-values": "allow"
          },
          "label": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Label"
          },
          "can_store_payment_method": {
            "type": "boolean",
            "title": "Can Store Payment Method"
          },
          "can_delay_capture": {
            "type": "boolean",
            "title": "Can Delay Capture"
          },
          "context": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/WalletPaymentOptionContext"
              },
              {
                "$ref": "#/components/schemas/GooglePayPaymentOptionContext"
              },
              {
                "$ref": "#/components/schemas/PaymentOptionContext"
              },
              {
                "type": "null"
              }
            ],
            "title": "Context"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "method",
          "mode",
          "can_store_payment_method",
          "can_delay_capture"
        ],
        "title": "PaymentOption"
      },
      "PaymentOptionContext": {
        "properties": {
          "approval_ui": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PaymentOptionContextApprovalUI"
              },
              {
                "type": "null"
              }
            ]
          },
          "required_fields": {
            "anyOf": [
              {
                "additionalProperties": {
                  "anyOf": [
                    {
                      "type": "boolean"
                    },
                    {
                      "additionalProperties": {
                        "anyOf": [
                          {
                            "type": "boolean"
                          },
                          {}
                        ]
                      },
                      "type": "object"
                    }
                  ]
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Required Fields"
          },
          "redirect_requires_popup": {
            "type": "boolean",
            "title": "Redirect Requires Popup"
          },
          "requires_tokenized_redirect_popup": {
            "type": "boolean",
            "title": "Requires Tokenized Redirect Popup"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "redirect_requires_popup",
          "requires_tokenized_redirect_popup"
        ],
        "title": "PaymentOptionContext"
      },
      "PaymentOptionContextApprovalUI": {
        "properties": {
          "height": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Height"
          },
          "width": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Width"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "PaymentOptionContextApprovalUI"
      },
      "PaymentOptionRequest": {
        "properties": {
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Metadata",
            "description": "The metadata to used to evaluate checkout rules, which will help determine the right payment options to display.",
            "examples": [
              {
                "cohort": "a"
              }
            ]
          },
          "country": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "examples": [
                  "DE",
                  "GB",
                  "US"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Country",
            "description": "The country code used to evaluate checkout rules, and which are used to help determine the right payment options to display.",
            "examples": [
              "US"
            ]
          },
          "currency": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{3}$",
                "examples": [
                  "EUR",
                  "GBP",
                  "USD"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Currency",
            "description": "The currency code used to evaluate checkout rules, and which are used to help determine the right payment options to display.",
            "examples": [
              "USD"
            ]
          },
          "amount": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount",
            "description": "The amount used to evaluate checkout rules, and which are used to help determine the right payment options to display.",
            "examples": [
              1299
            ]
          },
          "locale": {
            "type": "string",
            "maxLength": 50,
            "minLength": 1,
            "title": "Locale",
            "description": "The locale used to determine the labels for each payment option.",
            "default": "en",
            "examples": [
              "en"
            ]
          },
          "cart_items": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/CartItem"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cart Items",
            "description": "The cart items used to evaluate checkout rules, and which are used to help determine the right payment options to display."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "PaymentOptionRequest"
      },
      "PaymentOptions": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PaymentOption"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          }
        },
        "type": "object",
        "required": [
          "items"
        ],
        "title": "PaymentOptions"
      },
      "PaymentService": {
        "properties": {
          "type": {
            "type": "string",
            "const": "payment-service",
            "title": "Type",
            "description": "Always `payment-service`",
            "default": "payment-service",
            "examples": [
              "payment-service"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "default": "The ID of the payment service",
            "examples": [
              "fffd152a-9532-4087-9a4f-de58754210f0"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "The ID of the merchant account this job belongs to.",
            "examples": [
              "default"
            ]
          },
          "payment_service_definition_id": {
            "type": "string",
            "maxLength": 50,
            "minLength": 1,
            "title": "Payment Service Definition Id",
            "description": "The definition ID of the service that has been configured.",
            "examples": [
              "stripe-card"
            ]
          },
          "active": {
            "type": "boolean",
            "title": "Active",
            "description": "Defines if this payment service is currently active.",
            "default": true,
            "examples": [
              true,
              false
            ]
          },
          "method": {
            "description": "The payment method that this service supports.",
            "examples": [
              "card"
            ],
            "type": "string",
            "enum": [
              "abitab",
              "affirm",
              "afterpay",
              "alipay",
              "alipayhk",
              "applepay",
              "arcuspaynetwork",
              "bacs",
              "bancontact",
              "bank",
              "bcp",
              "becs",
              "bitpay",
              "blik",
              "ach",
              "boleto",
              "boost",
              "breb",
              "capitec",
              "card",
              "cashapp",
              "cashappafterpay",
              "chaseorbital",
              "clearpay",
              "click-to-pay",
              "custom_push",
              "custom_redirect",
              "custom_tokenize",
              "dana",
              "dcb",
              "dlocal",
              "duitnow",
              "ebanx",
              "eckoh",
              "efecty",
              "eps",
              "everydaypay",
              "gcash",
              "gem",
              "gemds",
              "gift-card",
              "giropay",
              "givingblock",
              "gocardless",
              "googlepay",
              "googlepay_pan_only",
              "gopay",
              "grabpay",
              "ideal",
              "interac",
              "kakaopay",
              "kcp",
              "khipu",
              "klarna",
              "konbini",
              "latitude",
              "latitudeds",
              "laybuy",
              "linepay",
              "linkaja",
              "maybankqrpay",
              "mercadopago",
              "multibanco",
              "multipago",
              "nequi",
              "netbanking",
              "network-token",
              "nupay",
              "oney_10x",
              "oney_12x",
              "oney_3x",
              "oney_4x",
              "oney_6x",
              "onlinebankingcz",
              "onelink",
              "ovo",
              "oxxo",
              "p24",
              "pagoefectivo",
              "paybybank",
              "payid",
              "paymaya",
              "paysquad",
              "paypal",
              "paypalpaylater",
              "paypay",
              "payto",
              "payvalida",
              "paze",
              "picpay",
              "pix",
              "plaid",
              "pse",
              "rabbitlinepay",
              "razorpay",
              "rapipago",
              "redpagos",
              "scalapay",
              "sepa",
              "servipag",
              "seveneleven",
              "sezzle",
              "shopeepay",
              "singteldash",
              "smartpay",
              "sofort",
              "spei",
              "stitch",
              "swish",
              "stripe",
              "stripedd",
              "stripetoken",
              "tapi",
              "tapifintechs",
              "thaiqr",
              "touchngo",
              "truemoney",
              "trustly",
              "trustlyeurope",
              "upi",
              "venmo",
              "vipps",
              "waave",
              "webpay",
              "wechat",
              "wero",
              "yape",
              "zippay"
            ],
            "title": "Method",
            "x-speakeasy-unknown-values": "allow"
          },
          "display_name": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "title": "Display Name",
            "description": "The display name for the payment service.",
            "examples": [
              "Stripe"
            ]
          },
          "position": {
            "type": "integer",
            "title": "Position",
            "description": "Deprecated field used to define the order in which to process payment services",
            "examples": [
              1
            ]
          },
          "status": {
            "default": "The current status of this service.",
            "examples": [
              "created"
            ],
            "type": "string",
            "enum": [
              "pending",
              "created",
              "failed"
            ],
            "title": "PaymentServiceStatus",
            "x-speakeasy-unknown-values": "allow"
          },
          "accepted_currencies": {
            "items": {
              "type": "string",
              "pattern": "^[A-Z]{3}$",
              "examples": [
                "EUR",
                "GBP",
                "USD"
              ]
            },
            "type": "array",
            "title": "Accepted Currencies",
            "description": "A list of currencies for which this service is enabled, in ISO 4217 three-letter code format.",
            "examples": [
              [
                "USD",
                "EUR",
                "GBP"
              ]
            ]
          },
          "accepted_countries": {
            "items": {
              "type": "string",
              "pattern": "^[A-Z]{2}$",
              "examples": [
                "DE",
                "GB",
                "US"
              ]
            },
            "type": "array",
            "title": "Accepted Countries",
            "description": "A list of countries for which this service is enabled, in ISO two-letter code format.",
            "examples": [
              [
                "US",
                "DE",
                "GB"
              ]
            ]
          },
          "payment_method_tokenization_enabled": {
            "type": "boolean",
            "title": "Payment Method Tokenization Enabled",
            "description": "Defines if this payment service support payment method tokenization.",
            "examples": [
              true
            ]
          },
          "network_tokens_enabled": {
            "type": "boolean",
            "title": "Network Tokens Enabled",
            "description": "Defines if this payment service supports network tokens.",
            "examples": [
              true
            ]
          },
          "open_loop": {
            "type": "boolean",
            "title": "Open Loop",
            "description": "Defines if this payment service is open loop.",
            "examples": [
              true
            ]
          },
          "settlement_reporting_enabled": {
            "type": "boolean",
            "title": "Settlement Reporting Enabled",
            "description": "Defines if this payment service has settlement reporting enabled.",
            "examples": [
              true
            ]
          },
          "three_d_secure_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Three D Secure Enabled",
            "description": "Defines if this payment service has 3DS enabled.",
            "examples": [
              true
            ]
          },
          "merchant_profile": {
            "anyOf": [
              {
                "additionalProperties": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/MerchantProfileSchemeSummary"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "propertyNames": {
                  "type": "string",
                  "enum": [
                    "accel",
                    "amex",
                    "bancontact",
                    "carte-bancaire",
                    "cirrus",
                    "culiance",
                    "dankort",
                    "diners-club",
                    "discover",
                    "eftpos-australia",
                    "elo",
                    "hipercard",
                    "jcb",
                    "maestro",
                    "mastercard",
                    "mir",
                    "nyce",
                    "other",
                    "pulse",
                    "qcard",
                    "rupay",
                    "star",
                    "uatp",
                    "unionpay",
                    "visa"
                  ],
                  "title": "CardScheme",
                  "x-speakeasy-unknown-values": "allow"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Profile",
            "description": "An object containing a key for each supported card schemes, and for each key an object with the 3DS profile for this service for that scheme."
          },
          "webhook_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webhook Url",
            "description": "The URL that needs to be configured with this payment service as the receiving endpoint for webhooks from the service to our system. Currently, we dp not yet automatically register webhooks on setup, and therefore webhooks need to be registered manually by the merchant."
          },
          "fields": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/Field"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fields",
            "description": "The non-secret credential fields that have been configured for this payment service. Any secret fields are omitted."
          },
          "reporting_fields": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/Field"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reporting Fields",
            "description": "The non-secret reporting fields that have been configured for this payment service. Any secret fields are omitted."
          },
          "is_deleted": {
            "type": "boolean",
            "title": "Is Deleted",
            "description": "Defines if this payment service has been deleted",
            "default": false,
            "examples": [
              false
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date and time when this payment service was first created in our system.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date and time when this payment service was last updated in our system.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "merchant_account_id",
          "payment_service_definition_id",
          "method",
          "display_name",
          "position",
          "accepted_currencies",
          "accepted_countries",
          "payment_method_tokenization_enabled",
          "network_tokens_enabled",
          "open_loop",
          "settlement_reporting_enabled",
          "created_at",
          "updated_at"
        ],
        "title": "PaymentService"
      },
      "PaymentServiceConfiguration": {
        "properties": {
          "approval_ui_target": {
            "description": "The browser target that an approval URL must be opened in. If any or null, then there is no specific requirement.",
            "examples": [
              "any"
            ],
            "type": "string",
            "enum": [
              "new_window",
              "any"
            ],
            "title": "ApprovalTarget",
            "x-speakeasy-unknown-values": "allow"
          },
          "approval_ui_height": {
            "type": "string",
            "pattern": "^\\d+(?:vh|px)$",
            "title": "Approval Ui Height",
            "description": "Height of the approval interface in either pixels or view height (vh).",
            "examples": [
              "100px",
              "50vh"
            ]
          },
          "approval_ui_width": {
            "type": "string",
            "pattern": "^\\d+(?:vw|px)$",
            "title": "Approval Ui Width",
            "description": "Width of the approval interface in either pixels or view width (vw).",
            "examples": [
              "100px",
              "50vw"
            ]
          },
          "cart_items_limit": {
            "type": "integer",
            "title": "Cart Items Limit",
            "description": "The maximum number of cart items supported by this connector before we will truncate the list.",
            "examples": [
              100
            ]
          },
          "cart_items_required": {
            "type": "boolean",
            "title": "Cart Items Required",
            "description": "Defines if cart items are required by this connector.",
            "examples": [
              true
            ]
          },
          "cart_items_should_match_amount": {
            "type": "boolean",
            "title": "Cart Items Should Match Amount",
            "description": "Defines if the cart items sum value should match the transaction amount.",
            "examples": [
              true
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "approval_ui_target",
          "approval_ui_height",
          "approval_ui_width",
          "cart_items_limit",
          "cart_items_required",
          "cart_items_should_match_amount"
        ],
        "title": "PaymentServiceConfiguration"
      },
      "PaymentServiceCreate": {
        "properties": {
          "display_name": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "title": "Display Name",
            "description": "The display name for the payment service.",
            "examples": [
              "Stripe"
            ]
          },
          "payment_service_definition_id": {
            "type": "string",
            "maxLength": 50,
            "minLength": 1,
            "title": "Payment Service Definition Id",
            "description": "The definition ID of the service to configure.",
            "examples": [
              "stripe-card"
            ]
          },
          "fields": {
            "items": {
              "$ref": "#/components/schemas/Field"
            },
            "type": "array",
            "title": "Fields",
            "description": "The non-secret credential fields that have been configured for this payment service. Any secret fields are omitted."
          },
          "reporting_fields": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/Field"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reporting Fields",
            "description": "The non-secret reporting fields that have been configured for this payment service. Any secret fields are omitted."
          },
          "position": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Position",
            "description": "Deprecated field used to define the order in which to process payment services",
            "examples": [
              1
            ]
          },
          "accepted_currencies": {
            "items": {
              "type": "string",
              "pattern": "^[A-Z]{3}$",
              "examples": [
                "EUR",
                "GBP",
                "USD"
              ]
            },
            "type": "array",
            "minItems": 1,
            "title": "Accepted Currencies",
            "description": "A list of currencies for which this service is enabled, in ISO 4217 three-letter code format.",
            "examples": [
              [
                "USD",
                "EUR",
                "GBP"
              ]
            ]
          },
          "accepted_countries": {
            "items": {
              "type": "string",
              "pattern": "^[A-Z]{2}$",
              "examples": [
                "DE",
                "GB",
                "US"
              ]
            },
            "type": "array",
            "minItems": 1,
            "title": "Accepted Countries",
            "description": "A list of countries for which this service is enabled, in ISO two-letter code format.",
            "examples": [
              [
                "US",
                "DE",
                "GB"
              ]
            ]
          },
          "active": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Active",
            "description": "Defines if this payment service is currently active.",
            "default": true,
            "examples": [
              true,
              false
            ]
          },
          "three_d_secure_enabled": {
            "type": "boolean",
            "title": "Three D Secure Enabled",
            "description": "Defines if this payment service has 3DS enabled.",
            "default": false,
            "examples": [
              true
            ]
          },
          "merchant_profile": {
            "anyOf": [
              {
                "additionalProperties": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/MerchantProfileScheme"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "propertyNames": {
                  "type": "string",
                  "enum": [
                    "accel",
                    "amex",
                    "bancontact",
                    "carte-bancaire",
                    "cirrus",
                    "culiance",
                    "dankort",
                    "diners-club",
                    "discover",
                    "eftpos-australia",
                    "elo",
                    "hipercard",
                    "jcb",
                    "maestro",
                    "mastercard",
                    "mir",
                    "nyce",
                    "other",
                    "pulse",
                    "qcard",
                    "rupay",
                    "star",
                    "uatp",
                    "unionpay",
                    "visa"
                  ],
                  "title": "CardScheme",
                  "x-speakeasy-unknown-values": "allow"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Profile",
            "description": "An object containing a key for each supported card schemes, and for each key an object with the 3DS profile for this service for that scheme."
          },
          "payment_method_tokenization_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Method Tokenization Enabled",
            "description": "Defines if this payment service support payment method tokenization.",
            "examples": [
              true
            ]
          },
          "network_tokens_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Tokens Enabled",
            "description": "Defines if this payment service supports network tokens.",
            "examples": [
              true
            ]
          },
          "open_loop": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Open Loop",
            "description": "Defines if this payment service is open loop.",
            "examples": [
              true
            ]
          },
          "settlement_reporting_enabled": {
            "type": "boolean",
            "title": "Settlement Reporting Enabled",
            "description": "Defines if this payment service has settlement reporting enabled.",
            "default": false,
            "examples": [
              true
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "display_name",
          "payment_service_definition_id",
          "fields",
          "accepted_currencies",
          "accepted_countries"
        ],
        "title": "PaymentServiceCreate",
        "description": "Request body for activating a payment service"
      },
      "PaymentServiceDefinition": {
        "properties": {
          "id": {
            "type": "string",
            "maxLength": 50,
            "minLength": 1,
            "title": "Id",
            "description": "The definition ID of the payment service that can be configured. This is the underlying provider followed by a dash followed by the method.",
            "examples": [
              "adyen-ideal",
              "stripe-card"
            ]
          },
          "type": {
            "type": "string",
            "const": "payment-service-definition",
            "title": "Type",
            "description": "Always `payment-service-definition`.",
            "default": "payment-service-definition",
            "examples": [
              "payment-service-definition"
            ]
          },
          "display_name": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "title": "Display Name",
            "description": "A human friendly name for this service.",
            "examples": [
              "iDEAL",
              "Stripe"
            ]
          },
          "method": {
            "description": "The method of the service",
            "examples": [
              "ideal",
              "card"
            ],
            "type": "string",
            "enum": [
              "abitab",
              "affirm",
              "afterpay",
              "alipay",
              "alipayhk",
              "applepay",
              "arcuspaynetwork",
              "bacs",
              "bancontact",
              "bank",
              "bcp",
              "becs",
              "bitpay",
              "blik",
              "ach",
              "boleto",
              "boost",
              "breb",
              "capitec",
              "card",
              "cashapp",
              "cashappafterpay",
              "chaseorbital",
              "clearpay",
              "click-to-pay",
              "custom_push",
              "custom_redirect",
              "custom_tokenize",
              "dana",
              "dcb",
              "dlocal",
              "duitnow",
              "ebanx",
              "eckoh",
              "efecty",
              "eps",
              "everydaypay",
              "gcash",
              "gem",
              "gemds",
              "gift-card",
              "giropay",
              "givingblock",
              "gocardless",
              "googlepay",
              "googlepay_pan_only",
              "gopay",
              "grabpay",
              "ideal",
              "interac",
              "kakaopay",
              "kcp",
              "khipu",
              "klarna",
              "konbini",
              "latitude",
              "latitudeds",
              "laybuy",
              "linepay",
              "linkaja",
              "maybankqrpay",
              "mercadopago",
              "multibanco",
              "multipago",
              "nequi",
              "netbanking",
              "network-token",
              "nupay",
              "oney_10x",
              "oney_12x",
              "oney_3x",
              "oney_4x",
              "oney_6x",
              "onlinebankingcz",
              "onelink",
              "ovo",
              "oxxo",
              "p24",
              "pagoefectivo",
              "paybybank",
              "payid",
              "paymaya",
              "paysquad",
              "paypal",
              "paypalpaylater",
              "paypay",
              "payto",
              "payvalida",
              "paze",
              "picpay",
              "pix",
              "plaid",
              "pse",
              "rabbitlinepay",
              "razorpay",
              "rapipago",
              "redpagos",
              "scalapay",
              "sepa",
              "servipag",
              "seveneleven",
              "sezzle",
              "shopeepay",
              "singteldash",
              "smartpay",
              "sofort",
              "spei",
              "stitch",
              "swish",
              "stripe",
              "stripedd",
              "stripetoken",
              "tapi",
              "tapifintechs",
              "thaiqr",
              "touchngo",
              "truemoney",
              "trustly",
              "trustlyeurope",
              "upi",
              "venmo",
              "vipps",
              "waave",
              "webpay",
              "wechat",
              "wero",
              "yape",
              "zippay"
            ],
            "title": "Method",
            "x-speakeasy-unknown-values": "allow"
          },
          "fields": {
            "items": {
              "$ref": "#/components/schemas/DefinitionField"
            },
            "type": "array",
            "title": "Fields",
            "description": "A list of credentials and related fields which can be configured for this service."
          },
          "reporting_fields": {
            "items": {
              "$ref": "#/components/schemas/DefinitionField"
            },
            "type": "array",
            "title": "Reporting Fields",
            "description": "A list of reporting fields which can be configured for this service."
          },
          "supported_currencies": {
            "items": {
              "type": "string",
              "pattern": "^[A-Z]{3}$",
              "examples": [
                "EUR",
                "GBP",
                "USD"
              ]
            },
            "type": "array",
            "title": "Supported Currencies",
            "description": "A list of three-letter ISO currency codes that this service supports.",
            "examples": [
              [
                "USD",
                "GBP",
                "EUR",
                "AUD"
              ]
            ]
          },
          "supported_countries": {
            "items": {
              "type": "string",
              "pattern": "^[A-Z]{2}$",
              "examples": [
                "DE",
                "GB",
                "US"
              ]
            },
            "type": "array",
            "title": "Supported Countries",
            "description": "A list of two-letter ISO country codes that this service supports.",
            "examples": [
              "US",
              "GB",
              "DE",
              "AUD"
            ]
          },
          "mode": {
            "description": "The mode that defines the flow this payment service uses to process a payment.",
            "examples": [
              "card",
              "redirect"
            ],
            "type": "string",
            "enum": [
              "card",
              "redirect",
              "applepay",
              "googlepay",
              "checkout-session",
              "click-to-pay",
              "gift-card",
              "bank",
              "paze"
            ],
            "title": "Mode",
            "x-speakeasy-unknown-values": "allow"
          },
          "icon_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Icon Url",
            "description": "An icon to display for the payment service.",
            "examples": [
              "https://example.com/icons/adyen-ideal.svg"
            ]
          },
          "supported_features": {
            "additionalProperties": {
              "type": "boolean"
            },
            "type": "object",
            "title": "Supported Features",
            "description": "Features supported by the payment service."
          },
          "required_checkout_fields": {
            "items": {
              "$ref": "#/components/schemas/RequiredCheckoutFields"
            },
            "type": "array",
            "title": "Required Checkout Fields",
            "description": "A list of condition that define when some fields must be provided with a transaction request."
          },
          "configuration": {
            "$ref": "#/components/schemas/PaymentServiceConfiguration",
            "description": "Additional configuration on how to present the approval UI."
          },
          "supported_integration_clients": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "enum": [
                    "redirect",
                    "web",
                    "android",
                    "ios"
                  ],
                  "title": "IntegrationClient",
                  "x-speakeasy-unknown-values": "allow"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Supported Integration Clients",
            "description": "List of supported integration clients. Defaults to redirect for most redirect connectors.",
            "examples": [
              [
                "redirect"
              ]
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "display_name",
          "method",
          "fields",
          "reporting_fields",
          "supported_currencies",
          "supported_countries",
          "mode",
          "supported_features",
          "required_checkout_fields",
          "configuration",
          "supported_integration_clients"
        ],
        "title": "PaymentServiceDefinition"
      },
      "PaymentServiceDefinitions": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PaymentServiceDefinition"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          },
          "limit": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "description": "The number of items for this page.",
            "default": 20,
            "examples": [
              20
            ]
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "The cursor pointing at the next page of items.",
            "examples": [
              "ZXhhbXBsZTE"
            ]
          },
          "previous_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Cursor",
            "description": "The cursor pointing at the previous page of items.",
            "examples": [
              "Xkjss7asS"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "PaymentServiceDefinitions"
      },
      "PaymentServiceStatus": {
        "type": "string",
        "enum": [
          "pending",
          "created",
          "failed"
        ],
        "title": "PaymentServiceStatus",
        "x-speakeasy-unknown-values": "allow"
      },
      "PaymentServiceToken": {
        "properties": {
          "type": {
            "type": "string",
            "const": "payment-service-token",
            "title": "Type",
            "description": "Always `payment-service-token`.",
            "default": "payment-service-token",
            "examples": [
              "payment-service-token"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the payment service token.",
            "examples": [
              "07e70d14-a0c0-4ff5-bd4a-509959af0e4d"
            ]
          },
          "approval_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Approval Url",
            "description": "The optional URL that the buyer needs to be redirected to to further authorize the token creation.",
            "examples": [
              "https://gr4vy.app/redirect/12345"
            ]
          },
          "payment_method_id": {
            "type": "string",
            "format": "uuid",
            "title": "Payment Method Id",
            "description": "The ID of the payment method used to generate this token",
            "examples": [
              "ef9496d8-53a5-4aad-8ca2-00eb68334389"
            ]
          },
          "payment_service_id": {
            "type": "string",
            "format": "uuid",
            "title": "Payment Service Id",
            "description": "The ID of the payment method used to generate this token.",
            "examples": [
              "fffd152a-9532-4087-9a4f-de58754210f0"
            ]
          },
          "status": {
            "description": "The state of the payment service token.",
            "examples": [
              "succeeded"
            ],
            "type": "string",
            "enum": [
              "processing",
              "buyer_approval_required",
              "succeeded",
              "failed",
              "paused"
            ],
            "title": "PaymentMethodStatus",
            "x-speakeasy-unknown-values": "allow"
          },
          "token": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 10000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Token",
            "description": "The token value. Will be present if succeeded.",
            "examples": [
              "pm_12345"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date and time when this payment service token was first created in our system.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date and time when this payment service token was last updated in our system.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "payment_method_id",
          "payment_service_id",
          "status",
          "created_at",
          "updated_at"
        ],
        "title": "PaymentServiceToken"
      },
      "PaymentServiceTokenCreate": {
        "properties": {
          "security_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4,
                "minLength": 3,
                "pattern": "^\\d+$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Security Code",
            "description": "The 3 or 4 digit security code often found on the card. This often referred to as the CVV or CVD.",
            "examples": [
              "123"
            ]
          },
          "payment_service_id": {
            "type": "string",
            "format": "uuid",
            "title": "Payment Service Id",
            "description": "The ID of the payment method to use.",
            "examples": [
              "fffd152a-9532-4087-9a4f-de58754210f0"
            ]
          },
          "redirect_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "pattern": "^data:application/json;base64,.*$",
                "examples": [
                  "data:application/json;base64,eyJ0YXJnZXQiOiAib3BlbmVyIiwgImNoYW5uZWwiOiAiY2hhbm5lbCIsICJvcmlnaW5fdXJsIjogImh0dHBzOi8vZ3I0dnkuYXBwIn0="
                ]
              }
            ],
            "title": "Redirect Url",
            "description": "The redirect URL to redirect a buyer to after they have authorized the payment method.",
            "examples": [
              "https://example.com/callback"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "payment_service_id",
          "redirect_url"
        ],
        "title": "PaymentServiceTokenCreate"
      },
      "PaymentServiceTokens": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PaymentServiceToken"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          }
        },
        "type": "object",
        "required": [
          "items"
        ],
        "title": "PaymentServiceTokens"
      },
      "PaymentServiceUpdate": {
        "properties": {
          "display_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name",
            "description": "The display name for the payment service.",
            "examples": [
              "Stripe"
            ]
          },
          "fields": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/VoidableField"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fields",
            "description": "The non-secret credential fields that have been configured for this payment service. Any secret fields are omitted."
          },
          "reporting_fields": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/VoidableField"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reporting Fields",
            "description": "The non-secret reporting fields that have been configured for this payment service. Any secret fields are omitted."
          },
          "position": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Position",
            "description": "Deprecated field used to define the order in which to process payment services",
            "examples": [
              1
            ]
          },
          "accepted_currencies": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "pattern": "^[A-Z]{3}$",
                  "examples": [
                    "EUR",
                    "GBP",
                    "USD"
                  ]
                },
                "type": "array",
                "minItems": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Accepted Currencies",
            "description": "A list of currencies for which this service is enabled, in ISO 4217 three-letter code format.",
            "examples": [
              [
                "USD",
                "EUR",
                "GBP"
              ]
            ]
          },
          "accepted_countries": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "pattern": "^[A-Z]{2}$",
                  "examples": [
                    "DE",
                    "GB",
                    "US"
                  ]
                },
                "type": "array",
                "minItems": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Accepted Countries",
            "description": "A list of countries for which this service is enabled, in ISO two-letter code format.",
            "examples": [
              [
                "US",
                "DE",
                "GB"
              ]
            ]
          },
          "active": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Active",
            "description": "Defines if this payment service is currently active.",
            "default": true,
            "examples": [
              true,
              false
            ]
          },
          "three_d_secure_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Three D Secure Enabled",
            "description": "Defines if this payment service has 3DS enabled.",
            "examples": [
              true
            ]
          },
          "merchant_profile": {
            "anyOf": [
              {
                "additionalProperties": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/MerchantProfileScheme"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "propertyNames": {
                  "type": "string",
                  "enum": [
                    "accel",
                    "amex",
                    "bancontact",
                    "carte-bancaire",
                    "cirrus",
                    "culiance",
                    "dankort",
                    "diners-club",
                    "discover",
                    "eftpos-australia",
                    "elo",
                    "hipercard",
                    "jcb",
                    "maestro",
                    "mastercard",
                    "mir",
                    "nyce",
                    "other",
                    "pulse",
                    "qcard",
                    "rupay",
                    "star",
                    "uatp",
                    "unionpay",
                    "visa"
                  ],
                  "title": "CardScheme",
                  "x-speakeasy-unknown-values": "allow"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Profile",
            "description": "An object containing a key for each supported card schemes, and for each key an object with the 3DS profile for this service for that scheme."
          },
          "payment_method_tokenization_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Method Tokenization Enabled",
            "description": "Defines if this payment service support payment method tokenization.",
            "examples": [
              true
            ]
          },
          "network_tokens_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Network Tokens Enabled",
            "description": "Defines if this payment service supports network tokens.",
            "examples": [
              true
            ]
          },
          "open_loop": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Open Loop",
            "description": "Defines if this payment service is open loop.",
            "examples": [
              true
            ]
          },
          "settlement_reporting_enabled": {
            "type": "boolean",
            "title": "Settlement Reporting Enabled",
            "description": "Defines if this payment service has settlement reporting enabled.",
            "default": false,
            "examples": [
              true
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "PaymentServiceUpdate",
        "description": "Request body for updating a Payment Service"
      },
      "PaymentServices": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PaymentService"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          },
          "limit": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "description": "The number of items for this page.",
            "default": 20,
            "examples": [
              20
            ]
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "The cursor pointing at the next page of items.",
            "examples": [
              "ZXhhbXBsZTE"
            ]
          },
          "previous_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Cursor",
            "description": "The cursor pointing at the previous page of items.",
            "examples": [
              "Xkjss7asS"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "PaymentServices"
      },
      "PayoutCategory": {
        "type": "string",
        "enum": [
          "online_gambling"
        ],
        "title": "PayoutCategory",
        "x-speakeasy-unknown-values": "allow"
      },
      "PayoutConnectionOptions": {
        "properties": {
          "checkout-card": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CheckoutPayoutOptions"
              },
              {
                "type": "null"
              }
            ],
            "description": "Custom options for `checkout-card` payment service."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "PayoutConnectionOptions"
      },
      "PayoutCreate": {
        "properties": {
          "amount": {
            "type": "integer",
            "maximum": 99999999,
            "minimum": 0,
            "title": "Amount",
            "description": "The monetary amount for this payout, in the smallest currency unit for the given currency, for example `1299` cents to create an authorization for $12.99.",
            "examples": [
              1299
            ]
          },
          "currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "title": "Currency",
            "description": "The ISO-4217 currency code for this payout.",
            "examples": [
              "EUR",
              "GBP",
              "USD"
            ]
          },
          "payment_service_id": {
            "type": "string",
            "format": "uuid",
            "title": "Payment Service Id",
            "description": "The ID of the payment service to use for the payout.",
            "examples": [
              "ed8bd87d-85ad-40cf-8e8f-007e21e55aad"
            ]
          },
          "payment_method": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PaymentMethodCard"
              },
              {
                "$ref": "#/components/schemas/PaymentMethodStoredCard"
              }
            ],
            "title": "Payment Method",
            "description": "The type of payment method to send funds too."
          },
          "category": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "online_gambling"
                ],
                "title": "PayoutCategory",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The type of payout to process.",
            "examples": [
              "online_gambling"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "A value that can be used to match the payout against your own records.",
            "examples": [
              "payout-12345"
            ]
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": "The `id` of a stored buyer to use for this payout Use this instead of the `buyer` or `buyer_external_identifier`.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "buyer": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/GuestBuyer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Inline buyer details for the payout. Use this instead of the `buyer_id` or `buyer_external_identifier`."
          },
          "buyer_external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer External Identifier",
            "description": "The `external_identifier` of a stored buyer to use for this payout. Use this instead of the `buyer_id` or `buyer`.",
            "examples": [
              "buyer-12345"
            ]
          },
          "merchant": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PayoutMerchant"
              },
              {
                "type": "null"
              }
            ],
            "description": "Merchant information for the source of the payout."
          },
          "connection_options": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PayoutConnectionOptions"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional fields for processing payouts on specific payment services."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "amount",
          "currency",
          "payment_service_id",
          "payment_method"
        ],
        "title": "PayoutCreate",
        "description": "PayoutCreate\n\nRepresents the data required to create a new payout."
      },
      "PayoutMerchant": {
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "title": "Name",
            "description": "The name of the merchant.",
            "examples": [
              "Acme Inc"
            ]
          },
          "identification_number": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "title": "Identification Number",
            "description": "Unique value which identifies a merchant for processing transactions, also known as a MID.",
            "examples": [
              "12345"
            ]
          },
          "phone_number": {
            "type": "string",
            "pattern": "^\\+[1-9]\\d{1,14}$",
            "title": "Phone Number",
            "description": "The phone number for the merchant which should be formatted according to the E164 number standard.",
            "examples": [
              "+14155552671",
              "+442071838750"
            ]
          },
          "url": {
            "type": "string",
            "title": "Url",
            "description": "Merchant website URL.",
            "examples": [
              "https://example.com"
            ]
          },
          "statement_descriptor": {
            "type": "string",
            "maxLength": 22,
            "minLength": 5,
            "title": "Statement Descriptor",
            "description": "Value to explain charges or payments on bank statements.",
            "examples": [
              "Winnings"
            ]
          },
          "merchant_category_code": {
            "type": "string",
            "maxLength": 4,
            "minLength": 1,
            "title": "Merchant Category Code",
            "description": "Merchant classification for the type of goods or services it provides.",
            "examples": [
              "123456"
            ]
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Address"
              },
              {
                "type": "null"
              }
            ],
            "description": "The address for the merchant."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "name",
          "identification_number",
          "phone_number",
          "url",
          "statement_descriptor",
          "merchant_category_code"
        ],
        "title": "PayoutMerchant"
      },
      "PayoutMerchantSummary": {
        "properties": {
          "type": {
            "type": "string",
            "const": "merchant",
            "title": "Type",
            "description": "Always `merchant`.",
            "default": "merchant",
            "examples": [
              "merchant"
            ]
          },
          "name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "title": "Name",
            "description": "The name of the merchant.",
            "examples": [
              "Acme Inc"
            ]
          },
          "identification_number": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "title": "Identification Number",
            "description": "Unique value which identifies a merchant for processing transactions, also known as a MID.",
            "examples": [
              "12345"
            ]
          },
          "phone_number": {
            "type": "string",
            "pattern": "^\\+[1-9]\\d{1,14}$",
            "title": "Phone Number",
            "description": "The phone number for the merchant which should be formatted according to the E164 number standard.",
            "examples": [
              "+14155552671",
              "+442071838750"
            ]
          },
          "url": {
            "type": "string",
            "title": "Url",
            "description": "Merchant website URL.",
            "examples": [
              "https://example.com"
            ]
          },
          "statement_descriptor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 22,
                "minLength": 5
              },
              {
                "type": "null"
              }
            ],
            "title": "Statement Descriptor",
            "description": "Value to explain charges or payments on bank statements.",
            "examples": [
              "Winnings"
            ]
          },
          "merchant_category_code": {
            "type": "string",
            "maxLength": 4,
            "minLength": 1,
            "title": "Merchant Category Code",
            "description": "Merchant classification for the type of goods or services it provides.",
            "examples": [
              "1234"
            ]
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Address"
              },
              {
                "type": "null"
              }
            ],
            "description": "The address for the merchant."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "name",
          "identification_number",
          "phone_number",
          "url",
          "merchant_category_code"
        ],
        "title": "PayoutMerchantSummary",
        "description": "PayoutMerchantSummary\n\nRepresents a summary of a merchant."
      },
      "PayoutPaymentService": {
        "properties": {
          "type": {
            "type": "string",
            "const": "payment-service",
            "title": "Type",
            "description": "Always `payment-service`.",
            "default": "payment-service",
            "examples": [
              "payment-service"
            ]
          },
          "id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id",
            "description": "The ID for the payout service.",
            "examples": [
              "b6c9eb12-2b62-4103-99b9-e3efc94e396d"
            ]
          },
          "method": {
            "type": "string",
            "const": "card",
            "title": "Method",
            "description": "Always `card`.",
            "default": "card",
            "examples": [
              "card"
            ]
          },
          "payment_service_definition_id": {
            "type": "string",
            "title": "Payment Service Definition Id",
            "description": "The ID of the connection used for this payout.",
            "examples": [
              "nuvei-card"
            ]
          },
          "display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name",
            "description": "The display name of the connection used for this payout.",
            "examples": [
              "Nuvei"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "payment_service_definition_id"
        ],
        "title": "PayoutPaymentService"
      },
      "PayoutStatus": {
        "type": "string",
        "enum": [
          "declined",
          "failed",
          "pending",
          "succeeded"
        ],
        "title": "PayoutStatus",
        "x-speakeasy-unknown-values": "allow"
      },
      "PayoutSummaries": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/PayoutSummary"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          },
          "limit": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "description": "The number of items for this page.",
            "default": 20,
            "examples": [
              20
            ]
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "The cursor pointing at the next page of items.",
            "examples": [
              "ZXhhbXBsZTE"
            ]
          },
          "previous_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Cursor",
            "description": "The cursor pointing at the previous page of items.",
            "examples": [
              "Xkjss7asS"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "PayoutSummaries"
      },
      "PayoutSummary": {
        "properties": {
          "type": {
            "type": "string",
            "const": "payout",
            "title": "Type",
            "description": "Always `payout`.",
            "default": "payout",
            "examples": [
              "payout"
            ]
          },
          "id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id",
            "description": "The ID for the payout.",
            "examples": [
              "6f96a57e-a35b-4f98-b192-d298995f811a"
            ]
          },
          "amount": {
            "type": "integer",
            "title": "Amount",
            "description": "The monetary amount for this payout, in the smallest currency unit for the given currency, for example `1299` cents to create an authorization for $12.99.",
            "examples": [
              1299
            ]
          },
          "buyer": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TransactionBuyer"
              },
              {
                "type": "null"
              }
            ],
            "description": "The buyer used for this payout."
          },
          "category": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "online_gambling"
                ],
                "title": "PayoutCategory",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The type of payout to process.",
            "examples": [
              "online_gambling"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date this payout was created at.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "title": "Currency",
            "description": "A supported ISO-4217 currency code.",
            "examples": [
              "EUR",
              "GBP",
              "USD"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant identifier for this payout.",
            "examples": [
              "payout-12345"
            ]
          },
          "merchant": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PayoutMerchantSummary"
              },
              {
                "type": "null"
              }
            ],
            "description": "The merchant details associated to this payout."
          },
          "merchant_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Account Id",
            "description": "The ID of the merchant account this payout was created for.",
            "examples": [
              "default"
            ]
          },
          "payment_method": {
            "$ref": "#/components/schemas/TransactionPaymentMethod",
            "description": "The payment method used for this payout."
          },
          "payment_service": {
            "$ref": "#/components/schemas/PayoutPaymentService",
            "description": "The payment service used for this payout."
          },
          "payment_service_payout_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Service Payout Id",
            "description": "The ID of the payout in the underlying payment service.",
            "examples": [
              "pout-12345"
            ]
          },
          "status": {
            "description": "The status of the payout.",
            "examples": [
              "succeeded"
            ],
            "type": "string",
            "enum": [
              "declined",
              "failed",
              "pending",
              "succeeded"
            ],
            "title": "PayoutStatus",
            "x-speakeasy-unknown-values": "allow"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date this payout was last updated at.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "amount",
          "created_at",
          "currency",
          "payment_method",
          "payment_service",
          "status",
          "updated_at"
        ],
        "title": "PayoutSummary",
        "description": "PayoutSummary\n\nRepresents a summary of a payout."
      },
      "PazeBillingAddress": {
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name",
            "description": "Name of the organization or entity at the address."
          },
          "line1": {
            "type": "string",
            "title": "Line1",
            "description": "Line 1 of the address."
          },
          "line2": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Line2",
            "description": "Line 2 of the address."
          },
          "line3": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Line3",
            "description": "Line 3 of the address."
          },
          "city": {
            "type": "string",
            "title": "City",
            "description": "City."
          },
          "state": {
            "type": "string",
            "title": "State",
            "description": "State or region."
          },
          "zip": {
            "type": "string",
            "title": "Zip",
            "description": "Postal code."
          },
          "countryCode": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Countrycode",
            "description": "ISO 3166-1 alpha-2 country code."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "line1",
          "city",
          "state",
          "zip"
        ],
        "title": "PazeBillingAddress"
      },
      "PazeClient": {
        "properties": {
          "id": {
            "type": "string",
            "maxLength": 50,
            "title": "Id",
            "description": "Client identifier generated by Paze and shared during onboarding.",
            "examples": [
              "0UVAS9Y03YNJ39XXYIN313F4DZNCjIGmqs4Iw32EPnZV0800o"
            ]
          },
          "name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50
              },
              {
                "type": "null"
              }
            ],
            "title": "Name",
            "description": "Display name associated with the client for presentation purposes.",
            "examples": [
              "Gr4vy Test"
            ]
          },
          "profileId": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50
              },
              {
                "type": "null"
              }
            ],
            "title": "Profileid",
            "description": "Client profile to use during checkout.",
            "examples": [
              "8614d0be-192e-45a7-a509-eceb7343d377"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id"
        ],
        "title": "PazeClient"
      },
      "PazeCobrandItem": {
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 100,
            "title": "Name",
            "description": "Product name of the cobrand card. Must match exactly with the card name from the network.",
            "examples": [
              "Travel Rewards"
            ]
          },
          "benefitsOffered": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Benefitsoffered",
            "description": "Whether benefits are offered for this cobrand card."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "name"
        ],
        "title": "PazeCobrandItem"
      },
      "PazeConsumer": {
        "properties": {
          "firstName": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Firstname",
            "description": "First name of the consumer.",
            "examples": [
              "Team"
            ]
          },
          "lastName": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Lastname",
            "description": "Last name of the consumer.",
            "examples": [
              "Integrations"
            ]
          },
          "fullName": {
            "type": "string",
            "title": "Fullname",
            "description": "Full name of the consumer.",
            "examples": [
              "Team Integrations"
            ]
          },
          "countryCode": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Countrycode",
            "description": "ISO 3166-1 alpha-2 country code.",
            "examples": [
              "US"
            ]
          },
          "languageCode": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Languagecode",
            "description": "ISO 639-1 language code associated with the wallet.",
            "examples": [
              "EN"
            ]
          },
          "emailAddress": {
            "type": "string",
            "title": "Emailaddress",
            "description": "Email address of the consumer.",
            "examples": [
              "integrations@gr4vy.com"
            ]
          },
          "mobileNumber": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PazeMobileNumber"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "firstName",
          "lastName",
          "fullName",
          "countryCode",
          "languageCode",
          "emailAddress",
          "mobileNumber"
        ],
        "title": "PazeConsumer"
      },
      "PazeDeliveryContactDetails": {
        "properties": {
          "contactFullName": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Contactfullname",
            "description": "Consumer-provided name of the contact person.",
            "examples": [
              "Team Integrations"
            ]
          },
          "contactPhoneNumber": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PazeMobileNumber"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "contactFullName",
          "contactPhoneNumber"
        ],
        "title": "PazeDeliveryContactDetails"
      },
      "PazeDigitalCardData": {
        "properties": {
          "artUri": {
            "type": "string",
            "title": "Arturi",
            "description": "URI hosting the card art image.",
            "examples": [
              "https://sandbox.assets.vims.visa.com/vims/cardart/8f64614def1a41d39ea8acae4616bf6f_imageC"
            ]
          },
          "artHeight": {
            "type": "integer",
            "title": "Artheight",
            "description": "Card art height in pixels.",
            "examples": [
              50
            ]
          },
          "artWidth": {
            "type": "integer",
            "title": "Artwidth",
            "description": "Card art width in pixels.",
            "examples": [
              80
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "artUri",
          "artHeight",
          "artWidth"
        ],
        "title": "PazeDigitalCardData"
      },
      "PazeEcomData": {
        "properties": {
          "cartContainsGiftCard": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cartcontainsgiftcard",
            "description": "Whether the current transaction includes a gift card purchase.",
            "examples": [
              false
            ]
          },
          "orderForPickup": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Orderforpickup",
            "description": "Whether the consumer order will be picked up rather than shipped.",
            "examples": [
              false
            ]
          },
          "orderHighestCost": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 32
              },
              {
                "type": "null"
              }
            ],
            "title": "Orderhighestcost",
            "description": "Dollar value of the most expensive item ordered.",
            "examples": [
              "99.99"
            ]
          },
          "orderQuantity": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 32
              },
              {
                "type": "null"
              }
            ],
            "title": "Orderquantity",
            "description": "Number of items ordered.",
            "examples": [
              "3"
            ]
          },
          "finalShippingAddress": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PazeShippingAddress"
              },
              {
                "type": "null"
              }
            ],
            "description": "The selected shipping address. Returned only when `shippingPreference` is not `NONE`."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "PazeEcomData"
      },
      "PazeEnhancedTransactionData": {
        "properties": {
          "ecomData": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PazeEcomData"
              },
              {
                "type": "null"
              }
            ],
            "description": "Details pertaining to electronic commerce purchases."
          },
          "travelData": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PazeTravelData"
              },
              {
                "type": "null"
              }
            ],
            "description": "Details pertaining to travel bookings."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "PazeEnhancedTransactionData"
      },
      "PazeLocationAddress": {
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name",
            "description": "Name of the organization or entity at the address."
          },
          "line1": {
            "type": "string",
            "title": "Line1",
            "description": "Line 1 of the address."
          },
          "line2": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Line2",
            "description": "Line 2 of the address."
          },
          "line3": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Line3",
            "description": "Line 3 of the address."
          },
          "city": {
            "type": "string",
            "title": "City",
            "description": "City."
          },
          "state": {
            "type": "string",
            "title": "State",
            "description": "State or region."
          },
          "zip": {
            "type": "string",
            "title": "Zip",
            "description": "Postal code."
          },
          "countryCode": {
            "type": "string",
            "title": "Countrycode",
            "description": "ISO 3166-1 alpha-2 country code."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "line1",
          "city",
          "state",
          "zip",
          "countryCode"
        ],
        "title": "PazeLocationAddress"
      },
      "PazeMaskedCard": {
        "properties": {
          "panLastFour": {
            "type": "string",
            "title": "Panlastfour",
            "description": "Last four digits of the PAN.",
            "examples": [
              "2121"
            ]
          },
          "paymentAccountReference": {
            "type": "string",
            "title": "Paymentaccountreference",
            "description": "Payment Account Reference (PAR). A non-financial reference assigned to each unique PAN.",
            "examples": [
              "V0010013023108318841413393850"
            ]
          },
          "panExpirationMonth": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Panexpirationmonth",
            "description": "2-digit PAN expiration month.",
            "examples": [
              "05"
            ]
          },
          "panExpirationYear": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Panexpirationyear",
            "description": "4-digit PAN expiration year.",
            "examples": [
              "2032"
            ]
          },
          "paymentCardDescriptor": {
            "type": "string",
            "title": "Paymentcarddescriptor",
            "description": "Free-form string used for card or program recognition.",
            "examples": [
              "Visa Hero Card"
            ]
          },
          "paymentCardType": {
            "type": "string",
            "enum": [
              "CREDIT",
              "DEBIT"
            ],
            "title": "Paymentcardtype",
            "description": "Card type.",
            "examples": [
              "CREDIT"
            ],
            "x-speakeasy-unknown-values": "allow"
          },
          "paymentCardBrand": {
            "type": "string",
            "enum": [
              "VISA",
              "MASTERCARD",
              "DISCOVER"
            ],
            "title": "Paymentcardbrand",
            "description": "Card brand.",
            "examples": [
              "VISA"
            ],
            "x-speakeasy-unknown-values": "allow"
          },
          "paymentCardNetwork": {
            "type": "string",
            "enum": [
              "VISA",
              "MASTERCARD",
              "DISCOVER"
            ],
            "title": "Paymentcardnetwork",
            "description": "Card network.",
            "examples": [
              "VISA"
            ],
            "x-speakeasy-unknown-values": "allow"
          },
          "digitalCardData": {
            "$ref": "#/components/schemas/PazeDigitalCardData"
          },
          "billingAddress": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PazeBillingAddress"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "panLastFour",
          "paymentAccountReference",
          "panExpirationMonth",
          "panExpirationYear",
          "paymentCardDescriptor",
          "paymentCardType",
          "paymentCardBrand",
          "paymentCardNetwork",
          "digitalCardData",
          "billingAddress"
        ],
        "title": "PazeMaskedCard"
      },
      "PazeMobileNumber": {
        "properties": {
          "countryCode": {
            "type": "string",
            "title": "Countrycode",
            "description": "ITU country dialing code.",
            "examples": [
              "1"
            ]
          },
          "phoneNumber": {
            "type": "string",
            "title": "Phonenumber",
            "description": "Phone number without country code.",
            "examples": [
              "3213213211"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "countryCode",
          "phoneNumber"
        ],
        "title": "PazeMobileNumber"
      },
      "PazeMobileSession": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id",
            "description": "The Paze merchant data ID.",
            "examples": [
              "W8GT9RLCNME754Z7025613H3PDM2T4HF2CSAOi9w2kkP3D4S0"
            ]
          },
          "name": {
            "type": "string",
            "title": "Name",
            "description": "The merchant display name.",
            "examples": [
              "ACME"
            ]
          },
          "profileId": {
            "type": "string",
            "title": "Profileid",
            "description": "The Paze profile ID for the given domain.",
            "examples": [
              "550e8400-e29b-41d4-a716-446655440000"
            ]
          },
          "accessToken": {
            "type": "string",
            "title": "Accesstoken",
            "description": "The Paze OAuth access token. Returned only when `source` is `mobile`.",
            "examples": [
              "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."
            ]
          },
          "sessionId": {
            "type": "string",
            "title": "Sessionid",
            "description": "The Paze session ID. Returned only when `source` is `mobile`.",
            "examples": [
              "550e8400-e29b-41d4-a716-446655440000"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "name",
          "profileId",
          "accessToken",
          "sessionId"
        ],
        "title": "PazeMobileSession"
      },
      "PazeMobileSessionCreate": {
        "properties": {
          "pazeCheckoutUrl": {
            "type": "string",
            "title": "Pazecheckouturl",
            "description": "Session URL for launching the Paze checkout UI from the native mobile app."
          },
          "clientContext": {
            "type": "string",
            "title": "Clientcontext",
            "description": "Merchant-defined transaction identifier echoed from the request."
          },
          "ewSID": {
            "type": "string",
            "title": "Ewsid",
            "description": "Globally unique session identifier generated by Paze."
          },
          "timestampISO8601": {
            "type": "string",
            "title": "Timestampiso8601",
            "description": "Timestamp when the response was sent by Paze, in ISO 8601 format."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "pazeCheckoutUrl",
          "clientContext",
          "ewSID",
          "timestampISO8601"
        ],
        "title": "PazeMobileSessionCreate"
      },
      "PazeMobileSessionCreateRequest": {
        "properties": {
          "client": {
            "$ref": "#/components/schemas/PazeClient",
            "description": "The merchant client integrating with Paze."
          },
          "sessionId": {
            "type": "string",
            "maxLength": 255,
            "title": "Sessionid",
            "description": "Session reference identifier generated by the merchant. Must be reused across all Paze APIs in a checkout session.",
            "examples": [
              "24e4dbb9-4f5e-43e8-8375-e9fd45650bc9"
            ]
          },
          "accessToken": {
            "type": "string",
            "title": "Accesstoken",
            "description": "Access token obtained from the Paze session endpoint with source=mobile."
          },
          "callbackURLScheme": {
            "type": "string",
            "maxLength": 40,
            "title": "Callbackurlscheme",
            "description": "Merchant app's ID (iOS bundle identifier or Android application ID) used as the callback URL scheme.",
            "examples": [
              "Gr4vyCallback"
            ]
          },
          "intent": {
            "type": "string",
            "enum": [
              "REVIEW_AND_PAY",
              "EXPRESS_CHECKOUT",
              "ADD_CARD"
            ],
            "title": "Intent",
            "description": "Primary intent of the checkout session.",
            "examples": [
              "EXPRESS_CHECKOUT"
            ],
            "x-speakeasy-unknown-values": "allow"
          },
          "transactionValue": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PazeTransactionValue"
              },
              {
                "type": "null"
              }
            ],
            "description": "Currency and amount of the transaction. Required when intent is EXPRESS_CHECKOUT."
          },
          "transactionType": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "PURCHASE",
                  "CARD_ON_FILE",
                  "BOTH"
                ],
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "title": "Transactiontype",
            "description": "Type of transaction."
          },
          "shippingPreference": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "ALL",
                  "NONE"
                ],
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "title": "Shippingpreference",
            "description": "Whether to collect a shipping address from the consumer."
          },
          "billingPreference": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "ALL",
                  "ZIP_COUNTRY",
                  "NONE"
                ],
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "title": "Billingpreference",
            "description": "Verbosity of billing address required."
          },
          "emailAddress": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 128
              },
              {
                "type": "null"
              }
            ],
            "title": "Emailaddress",
            "description": "Consumer email address for checkout flow optimization."
          },
          "phoneNumber": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 10
              },
              {
                "type": "null"
              }
            ],
            "title": "Phonenumber",
            "description": "Consumer phone number for checkout flow optimization.",
            "examples": [
              "7735550100"
            ]
          },
          "cobrand": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/PazeCobrandItem"
                },
                "type": "array",
                "maxItems": 10
              },
              {
                "type": "null"
              }
            ],
            "title": "Cobrand",
            "description": "Details for cobranded cards offered by the merchant."
          },
          "acceptedShippingCountries": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Acceptedshippingcountries",
            "description": "ISO 3166-1 alpha-2 country codes restricting eligible shipping addresses. Empty list or absence means all countries accepted."
          },
          "acceptedPaymentCardNetworks": {
            "anyOf": [
              {
                "items": {
                  "type": "string",
                  "enum": [
                    "VISA",
                    "MASTERCARD"
                  ],
                  "x-speakeasy-unknown-values": "allow"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Acceptedpaymentcardnetworks",
            "description": "Accepted payment card networks. Empty list or absence means all networks accepted."
          },
          "alwaysEnableCheckout": {
            "type": "boolean",
            "title": "Alwaysenablecheckout",
            "description": "Set to true to enable Paze checkout even if the provided email address or phone number does not match a Paze wallet.",
            "default": false
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "client",
          "sessionId",
          "accessToken",
          "callbackURLScheme",
          "intent"
        ],
        "title": "PazeMobileSessionCreateRequest"
      },
      "PazePaymentMethodCreate": {
        "properties": {
          "buyer_external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer External Identifier",
            "description": "The external identifier of the buyer to create a payment for.",
            "examples": [
              "buyer-12345"
            ]
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": "The ID of the buyer to retrieve billing details for.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "cardholder_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Cardholder Name",
            "description": "The card holder name associated to the original card for the token.",
            "examples": [
              "John Luhn"
            ]
          },
          "redirect_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "pattern": "^data:application/json;base64,.*$",
                "examples": [
                  "data:application/json;base64,eyJ0YXJnZXQiOiAib3BlbmVyIiwgImNoYW5uZWwiOiAiY2hhbm5lbCIsICJvcmlnaW5fdXJsIjogImh0dHBzOi8vZ3I0dnkuYXBwIn0="
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Redirect Url",
            "description": "The URL to redirect a user back to after the complete 3DS in browser.",
            "examples": [
              "https://example.com"
            ]
          },
          "card_suffix": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4,
                "minLength": 4
              },
              {
                "type": "null"
              }
            ],
            "title": "Card Suffix",
            "description": "The last 4 digits of the original card used to generate the token.",
            "examples": [
              "1234"
            ]
          },
          "card_scheme": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Card Scheme",
            "description": "The original card scheme for which the token was generated.",
            "examples": [
              "visa"
            ]
          },
          "card_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Card Type",
            "description": "The payment scheme of the card.",
            "examples": [
              "credit"
            ]
          },
          "method": {
            "type": "string",
            "const": "paze",
            "title": "Method",
            "description": "Always `paze`",
            "examples": [
              "paze"
            ]
          },
          "token": {
            "type": "string",
            "title": "Token",
            "description": "The opaque token as received from the Paze complete response."
          },
          "checkout_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Checkout Token",
            "description": "The signed checkout JWS as received from the Paze checkout response."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "method",
          "token"
        ],
        "title": "PazePaymentMethodCreate",
        "description": "Create a Paze transaction with a device token."
      },
      "PazeSessionComplete": {
        "properties": {
          "payloadId": {
            "type": "string",
            "title": "Payloadid",
            "description": "Unique identifier generated by Paze to track and link the wallet transaction. Used as the wallet transaction identifier.",
            "examples": [
              "5C90F1500800f8dc1ce2-2b49-9d82-823e-111195cd4301"
            ]
          },
          "completeResponse": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Completeresponse",
            "description": "Opaque token returned by Paze for the completion call.",
            "examples": [
              "eyJhdWQiOm51bGwsImtpZCI6IjE3..."
            ]
          },
          "securePayload": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Securepayload",
            "description": "Signed and encrypted payload containing the data necessary to process the payment. Returned when `payloadTypeIndicator` is PAYMENT.",
            "examples": [
              "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."
            ]
          },
          "clientContext": {
            "type": "string",
            "title": "Clientcontext",
            "description": "Echo of the `clientContext` sent on the request. Returned by Paze for client-side tracing.",
            "examples": [
              "7c1cba03-d20e-4a3f-9d77-e5dc23a39ac2"
            ]
          },
          "ewSID": {
            "type": "string",
            "title": "Ewsid",
            "description": "Paze-issued session identifier returned for tracing.",
            "examples": [
              "c4b5e9fa-9d35-4cf2-bfc2-2cb1b9f1f6ab"
            ]
          },
          "timestampISO8601": {
            "type": "string",
            "title": "Timestampiso8601",
            "description": "Server timestamp of the Paze response in ISO 8601 format. Returned for tracing.",
            "examples": [
              "2026-05-25T12:18:09Z"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "payloadId",
          "completeResponse",
          "securePayload",
          "clientContext",
          "ewSID",
          "timestampISO8601"
        ],
        "title": "PazeSessionComplete"
      },
      "PazeSessionCompleteRequest": {
        "properties": {
          "sessionId": {
            "type": "string",
            "maxLength": 255,
            "title": "Sessionid",
            "description": "Session reference identifier generated by the merchant. Must match the value sent in the Paze session create call.",
            "examples": [
              "7c1cba03-d20e-4a3f-9d77-e5dc23a39ac2"
            ]
          },
          "code": {
            "type": "string",
            "maxLength": 10240,
            "title": "Code",
            "description": "Opaque token issued by the Paze service in the response from the most recent Paze UX interaction.",
            "examples": [
              "eyJhdWQiOm51bGwsImtpZCI6IjE3..."
            ]
          },
          "accessToken": {
            "type": "string",
            "title": "Accesstoken",
            "description": "The Paze OAuth access token returned by the Paze mobile session create call. Used to authenticate the request to Paze.",
            "examples": [
              "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."
            ]
          },
          "transactionType": {
            "type": "string",
            "enum": [
              "PURCHASE",
              "CARD_ON_FILE",
              "BOTH"
            ],
            "title": "Transactiontype",
            "description": "The type of transaction being completed. PURCHASE for a one-off checkout, CARD_ON_FILE to retain the card for future use, or BOTH.",
            "examples": [
              "PURCHASE"
            ],
            "x-speakeasy-unknown-values": "allow"
          },
          "transactionOptions": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PazeTransactionOptions"
              },
              {
                "type": "null"
              }
            ],
            "description": "Client configuration data overriding values configured during merchant onboarding."
          },
          "transactionValue": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PazeTransactionValue"
              },
              {
                "type": "null"
              }
            ],
            "description": "Required when `transactionType` is PURCHASE or BOTH. Must be omitted when `transactionType` is CARD_ON_FILE."
          },
          "processingNetwork": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "VISA",
                  "MASTERCARD",
                  "DISCOVER"
                ],
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "title": "Processingnetwork",
            "description": "Card network to process the transaction on. If not provided, Paze defaults to the network on the front of the card.",
            "examples": [
              "VISA"
            ]
          },
          "enhancedTransactionData": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PazeEnhancedTransactionData"
              },
              {
                "type": "null"
              }
            ],
            "description": "Additional purchase context used by Paze for risk scoring."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "sessionId",
          "code",
          "accessToken",
          "transactionType"
        ],
        "title": "PazeSessionCompleteRequest"
      },
      "PazeSessionRequest": {
        "properties": {
          "source": {
            "type": "string",
            "enum": [
              "web",
              "mobile"
            ],
            "title": "Source",
            "description": "The platform that the Paze session is being created for. Defaults to `web`.",
            "default": "web",
            "examples": [
              "web"
            ],
            "x-speakeasy-unknown-values": "allow"
          },
          "domain_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Domain Name",
            "description": "The domain on which Paze is being loaded. Required when `source` is `web`.",
            "examples": [
              "example.com"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "PazeSessionRequest"
      },
      "PazeSessionReview": {
        "properties": {
          "consumer": {
            "$ref": "#/components/schemas/PazeConsumer"
          },
          "shippingAddress": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PazeShippingAddress"
              },
              {
                "type": "null"
              }
            ]
          },
          "maskedCard": {
            "$ref": "#/components/schemas/PazeMaskedCard"
          },
          "links": {
            "$ref": "#/components/schemas/PazeSessionReviewLinks"
          },
          "code": {
            "type": "string",
            "title": "Code",
            "description": "Opaque token issued by the Paze service to be used in the next Paze interaction.",
            "examples": [
              "eyJhdWQiOm51bGwsImtpZCI6IjE3..."
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "consumer",
          "shippingAddress",
          "maskedCard",
          "links",
          "code"
        ],
        "title": "PazeSessionReview"
      },
      "PazeSessionReviewLinks": {
        "properties": {
          "CHANGE_CARD": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Change Card",
            "description": "Follow-up link to change the selected card.",
            "examples": [
              "https://checkout.wallet.uat.earlywarning.io/..."
            ]
          },
          "CHANGE_SHIPPING_ADDRESS": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Change Shipping Address",
            "description": "Follow-up link to change the shipping address.",
            "examples": [
              "https://checkout.wallet.uat.earlywarning.io/..."
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "CHANGE_CARD",
          "CHANGE_SHIPPING_ADDRESS"
        ],
        "title": "PazeSessionReviewLinks"
      },
      "PazeSessionReviewRequest": {
        "properties": {
          "sessionId": {
            "type": "string",
            "maxLength": 255,
            "title": "Sessionid",
            "description": "Session reference identifier generated by the merchant. Must match the value sent in the Paze session create call.",
            "examples": [
              "7c1cba03-d20e-4a3f-9d77-e5dc23a39ac2"
            ]
          },
          "code": {
            "type": "string",
            "maxLength": 10240,
            "title": "Code",
            "description": "Opaque token issued by the Paze service in the response from the most recent Paze UX interaction (checkout, change card, or change shipping address).",
            "examples": [
              "eyJhdWQiOm51bGwsImtpZCI6IjE3..."
            ]
          },
          "accessToken": {
            "type": "string",
            "title": "Accesstoken",
            "description": "The Paze OAuth access token returned by the Paze mobile session create call. Used to authenticate the request to Paze.",
            "examples": [
              "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "sessionId",
          "code",
          "accessToken"
        ],
        "title": "PazeSessionReviewRequest"
      },
      "PazeShippingAddress": {
        "properties": {
          "line1": {
            "type": "string",
            "title": "Line1",
            "description": "Line 1 of the address.",
            "examples": [
              "51551 Raynor Stream"
            ]
          },
          "line2": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Line2",
            "description": "Line 2 of the address."
          },
          "line3": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Line3",
            "description": "Line 3 of the address."
          },
          "city": {
            "type": "string",
            "title": "City",
            "description": "City.",
            "examples": [
              "East Kory"
            ]
          },
          "state": {
            "type": "string",
            "title": "State",
            "description": "State or region.",
            "examples": [
              "ND"
            ]
          },
          "zip": {
            "type": "string",
            "title": "Zip",
            "description": "Postal code.",
            "examples": [
              "67137"
            ]
          },
          "countryCode": {
            "type": "string",
            "title": "Countrycode",
            "description": "ISO 3166-1 alpha-2 country code.",
            "examples": [
              "US"
            ]
          },
          "deliveryContactDetails": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PazeDeliveryContactDetails"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "line1",
          "city",
          "state",
          "zip",
          "countryCode",
          "deliveryContactDetails"
        ],
        "title": "PazeShippingAddress"
      },
      "PazeTransactionOptions": {
        "properties": {
          "merchantCategoryCode": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchantcategorycode",
            "description": "Merchant Category Code (MCC) of the merchant.",
            "examples": [
              "2121"
            ]
          },
          "billingPreference": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "ALL",
                  "NONE"
                ],
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "title": "Billingpreference",
            "description": "Verbosity of the billing address required by the merchant.",
            "examples": [
              "ALL"
            ]
          },
          "payloadTypeIndicator": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "ID",
                  "PAYMENT"
                ],
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payloadtypeindicator",
            "description": "ID returns `payloadId` only (default). PAYMENT returns `payloadId` and `securePayload`.",
            "examples": [
              "PAYMENT"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "PazeTransactionOptions"
      },
      "PazeTransactionValue": {
        "properties": {
          "transactionCurrency": {
            "type": "string",
            "title": "Transactioncurrency",
            "description": "ISO 4217 currency code of the transaction.",
            "examples": [
              "USD"
            ]
          },
          "transactionAmount": {
            "type": "string",
            "title": "Transactionamount",
            "description": "Amount of the transaction including dollar and cents, e.g. '99.95'.",
            "examples": [
              "5.39"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "transactionCurrency",
          "transactionAmount"
        ],
        "title": "PazeTransactionValue"
      },
      "PazeTravelData": {
        "properties": {
          "passengerName": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Passengername",
            "description": "Traveler name.",
            "examples": [
              "Team Integrations"
            ]
          },
          "roundTrip": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Roundtrip",
            "description": "Whether departure and return trips are being purchased in the same transaction.",
            "examples": [
              true
            ]
          },
          "departureDate": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 20
              },
              {
                "type": "null"
              }
            ],
            "title": "Departuredate",
            "description": "Date and time of departure in ISO 8601 format.",
            "examples": [
              "2026-06-01T08:00:00Z"
            ]
          },
          "returnDate": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 20
              },
              {
                "type": "null"
              }
            ],
            "title": "Returndate",
            "description": "Date and time of return in ISO 8601 format.",
            "examples": [
              "2026-06-08T18:30:00Z"
            ]
          },
          "departureLocation": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PazeLocationAddress"
              },
              {
                "type": "null"
              }
            ],
            "description": "Location from which the traveler departs."
          },
          "returnLocation": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PazeLocationAddress"
              },
              {
                "type": "null"
              }
            ],
            "description": "Location to which the traveler returns."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "PazeTravelData"
      },
      "PazeWebSession": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id",
            "description": "The Paze merchant data ID.",
            "examples": [
              "W8GT9RLCNME754Z7025613H3PDM2T4HF2CSAOi9w2kkP3D4S0"
            ]
          },
          "name": {
            "type": "string",
            "title": "Name",
            "description": "The merchant display name.",
            "examples": [
              "ACME"
            ]
          },
          "profileId": {
            "type": "string",
            "title": "Profileid",
            "description": "The Paze profile ID for the given domain.",
            "examples": [
              "550e8400-e29b-41d4-a716-446655440000"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "name",
          "profileId"
        ],
        "title": "PazeWebSession"
      },
      "PermissionSet": {
        "properties": {
          "allow": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Allow",
            "description": "The scopes granted by this role.",
            "examples": [
              [
                "transactions.read",
                "reports.read"
              ]
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "allow"
        ],
        "title": "PermissionSet",
        "description": "The permissions granted by a role."
      },
      "PlaidPaymentMethodCreate": {
        "properties": {
          "method": {
            "type": "string",
            "const": "plaid",
            "title": "Method",
            "description": "Always `plaid`.",
            "default": "plaid",
            "examples": [
              "plaid"
            ]
          },
          "token": {
            "type": "string",
            "title": "Token",
            "description": "The public token obtained after using Plaid Link.",
            "examples": [
              "public-sandbox-7147ceee-816c-4272-a7f4-544f5c3d4d16"
            ]
          },
          "account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Id",
            "description": "The Plaid account ID corresponding to the end-user account. If not provided will be fetched from Plaid API expecting to only have one.",
            "examples": [
              "5BpEdV8iZNBBvN9yw8pGfLbnqo5QWbF5lgzPe"
            ]
          },
          "payment_service_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Service Id",
            "description": "The ID of the Plaid payment service related to the provided public token. If not provided will be fetched from the currently active expecting to have a single one.",
            "examples": [
              "fffd152a-9532-4087-9a4f-de58754210f0"
            ]
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": "The ID of the buyer to attach the method to.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "buyer_external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer External Identifier",
            "description": "The merchant reference for this payment method.",
            "examples": [
              "payment-method-12345"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant identifier for this payment method.",
            "examples": [
              "payment-method-12345"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "token"
        ],
        "title": "PlaidPaymentMethodCreate",
        "description": "Plaid Payment Method\n\nPlaid Payment Method to use in a transaction."
      },
      "ProductType": {
        "type": "string",
        "enum": [
          "physical",
          "discount",
          "shipping_fee",
          "sales_tax",
          "digital",
          "gift_card",
          "store_credit",
          "surcharge"
        ],
        "title": "ProductType",
        "x-speakeasy-unknown-values": "allow"
      },
      "Recipient": {
        "properties": {
          "first_name": {
            "type": "string",
            "title": "First Name",
            "description": "The first name of the recipient.",
            "examples": [
              ""
            ]
          },
          "last_name": {
            "type": "string",
            "title": "Last Name",
            "description": "The last name of the recipient.",
            "examples": [
              ""
            ]
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Address"
              },
              {
                "type": "null"
              }
            ],
            "description": "The recipient of the fund's address."
          },
          "account_number": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Number",
            "description": "The account number of the recipient. Depending on the type of funds transfer, this could be a wallet ID, bank accoutn number, or email address.",
            "examples": [
              "act12345"
            ]
          },
          "date_of_birth": {
            "anyOf": [
              {
                "type": "string",
                "format": "date"
              },
              {
                "type": "null"
              }
            ],
            "title": "Date Of Birth",
            "description": "The date of birth of the recipient.",
            "examples": [
              "1995-12-23"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "first_name",
          "last_name"
        ],
        "title": "Recipient",
        "description": "Recipient of an account funding transaction"
      },
      "RedirectPaymentMethodCreate": {
        "properties": {
          "method": {
            "type": "string",
            "enum": [
              "abitab",
              "affirm",
              "afterpay",
              "alipay",
              "alipayhk",
              "arcuspaynetwork",
              "bacs",
              "bancontact",
              "bcp",
              "becs",
              "bitpay",
              "blik",
              "boleto",
              "boost",
              "breb",
              "ach",
              "capitec",
              "cashapp",
              "cashappafterpay",
              "clearpay",
              "custom_push",
              "custom_redirect",
              "custom_tokenize",
              "dana",
              "dcb",
              "dlocal",
              "duitnow",
              "ebanx",
              "eckoh",
              "efecty",
              "eps",
              "everydaypay",
              "gcash",
              "gem",
              "gemds",
              "giropay",
              "givingblock",
              "gocardless",
              "gopay",
              "grabpay",
              "ideal",
              "interac",
              "kakaopay",
              "kcp",
              "khipu",
              "klarna",
              "konbini",
              "latitude",
              "latitudeds",
              "laybuy",
              "linepay",
              "linkaja",
              "maybankqrpay",
              "mercadopago",
              "multibanco",
              "multipago",
              "netbanking",
              "nupay",
              "nequi",
              "oney_10x",
              "oney_12x",
              "oney_3x",
              "oney_4x",
              "oney_6x",
              "onlinebankingcz",
              "onelink",
              "ovo",
              "oxxo",
              "p24",
              "pagoefectivo",
              "paybybank",
              "payid",
              "paymaya",
              "paysquad",
              "paypal",
              "paypalpaylater",
              "paypay",
              "payto",
              "payvalida",
              "picpay",
              "pix",
              "pse",
              "rabbitlinepay",
              "rapipago",
              "razorpay",
              "redpagos",
              "scalapay",
              "sepa",
              "servipag",
              "seveneleven",
              "sezzle",
              "shopeepay",
              "singteldash",
              "smartpay",
              "sofort",
              "spei",
              "stitch",
              "swish",
              "stripe",
              "stripedd",
              "stripetoken",
              "tapi",
              "tapifintechs",
              "thaiqr",
              "touchngo",
              "truemoney",
              "trustly",
              "trustlyeurope",
              "upi",
              "venmo",
              "vipps",
              "waave",
              "webpay",
              "wechat",
              "wero",
              "yape",
              "zippay"
            ],
            "title": "Method",
            "description": "The method to use, this can be any of the methods that support redirect requests.",
            "examples": [
              "paypal",
              "zippay"
            ],
            "x-speakeasy-unknown-values": "allow"
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": "The `id` of a stored buyer to use Use this instead of the `buyer_external_identifier`.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "buyer_external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer External Identifier",
            "description": "The `external_identifier` of a stored buyer to use. Use this instead of the `buyer_id`.",
            "examples": [
              "buyer-12345"
            ]
          },
          "country": {
            "type": "string",
            "pattern": "^[A-Z]{2}$",
            "title": "Country",
            "description": "The 2-letter ISO code of the country to use this payment method for. This is used to select the payment service to use.",
            "examples": [
              "DE",
              "GB",
              "US"
            ]
          },
          "currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "title": "Currency",
            "description": "The ISO-4217 currency code to use this payment method for. This is used to select the payment service to use.",
            "examples": [
              "EUR",
              "GBP",
              "USD"
            ]
          },
          "redirect_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "pattern": "^data:application/json;base64,.*$",
                "examples": [
                  "data:application/json;base64,eyJ0YXJnZXQiOiAib3BlbmVyIiwgImNoYW5uZWwiOiAiY2hhbm5lbCIsICJvcmlnaW5fdXJsIjogImh0dHBzOi8vZ3I0dnkuYXBwIn0="
                ]
              }
            ],
            "title": "Redirect Url",
            "description": "The redirect URL to redirect a buyer to after they have authorized the payment method.",
            "examples": [
              "https://example.com/callback"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant identifier for this payment method.",
            "examples": [
              "payment-method-12345"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "method",
          "country",
          "currency",
          "redirect_url"
        ],
        "title": "RedirectPaymentMethodCreate",
        "description": "Create a transaction for an APM/LPM that requires a redirect."
      },
      "Refund": {
        "properties": {
          "type": {
            "type": "string",
            "const": "refund",
            "title": "Type",
            "description": "Always `refund`.",
            "default": "refund",
            "examples": [
              "refund"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The unique identifier for the refund.",
            "examples": [
              "6a1d4e46-14ed-4fe1-a45f-eff4e025d211"
            ]
          },
          "transaction_id": {
            "type": "string",
            "format": "uuid",
            "title": "Transaction Id",
            "description": "The ID of the transaction associated with this refund.",
            "examples": [
              "7099948d-7286-47e4-aad8-b68f7eb44591"
            ]
          },
          "payment_service_refund_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Service Refund Id",
            "description": "The payment service's unique ID for the refund.",
            "examples": [
              "refund_xYqd43gySMtori"
            ]
          },
          "status": {
            "description": "The status of the refund.",
            "examples": [
              "succeeded"
            ],
            "type": "string",
            "enum": [
              "processing",
              "succeeded",
              "failed",
              "declined",
              "voided"
            ],
            "title": "RefundStatus",
            "x-speakeasy-unknown-values": "allow"
          },
          "currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "title": "Currency",
            "description": "The ISO 4217 currency code for this refund. Will always match that of the associated transaction.",
            "examples": [
              "EUR",
              "GBP",
              "USD"
            ]
          },
          "amount": {
            "type": "integer",
            "maximum": 99999999,
            "minimum": 0,
            "title": "Amount",
            "description": "The amount of this refund, in the smallest currency unit (for example, cents or pence).",
            "examples": [
              1299
            ]
          },
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason",
            "description": "The reason for this refund. Could be a multiline string.",
            "examples": [
              "Refund due to user request."
            ]
          },
          "target_type": {
            "description": "The type of the instrument that was refunded.",
            "examples": [
              "payment-method"
            ],
            "type": "string",
            "enum": [
              "payment-method",
              "gift-card-redemption"
            ],
            "title": "RefundTargetType",
            "x-speakeasy-unknown-values": "allow"
          },
          "target_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Id",
            "description": "The optional ID of the instrument that was refunded. This may be `null` if the instrument was not stored.",
            "examples": [
              "07e70d14-a0c0-4ff5-bd4a-509959af0e4d"
            ]
          },
          "reconciliation_id": {
            "type": "string",
            "title": "Reconciliation Id",
            "description": "The base62 encoded refund ID. This represents a shorter version of this refund's `id` which is sent to payment services, anti-fraud services, and other connectors. You can use this ID to reconcile a payment service's refund against our system.",
            "examples": [
              "7jZXl4gBUNl0CnaLEnfXbt"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "An external identifier that can be used to match the refund against your own records.",
            "examples": [
              "refund-12345"
            ]
          },
          "transaction_reconciliation_id": {
            "type": "string",
            "title": "Transaction Reconciliation Id",
            "description": "The base62 encoded transaction ID. This represents a shorter version of the related transaction's `id` which is sent to payment services, anti-fraud services, and other connectors. You can use this ID to reconcile a payment service's transaction against our system.",
            "examples": [
              "aLEnfXbt7jZXl4gBUNl0Cn"
            ]
          },
          "transaction_external_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Transaction External Identifier",
            "description": "An external identifier that can be used to match the transaction against your own records.",
            "examples": [
              "transaction-12345"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date this refund was created at.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date this refund was last updated at.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "creator": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/api__common_schemas__Creator"
              },
              {
                "type": "null"
              }
            ],
            "description": "The user that created this resource",
            "examples": [
              {
                "email_address": "jhon.doe@gr4vy.com",
                "id": "07e70d14-a0c0-4ff5-bd4a-509959af0e4d",
                "name": "Jhon Doe"
              }
            ]
          },
          "error_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code",
            "description": "The standardized error code set by Gr4vy.",
            "examples": [
              "service_error"
            ]
          },
          "raw_response_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Raw Response Code",
            "description": "This is the response code received from the payment service. This can be set to any value and is not standardized across different payment services.",
            "examples": [
              "E104"
            ]
          },
          "raw_response_description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Raw Response Description",
            "description": " This is the response description received from the payment service. This can be set to any value and is not standardized across different payment services.",
            "examples": [
              "Missing redirect URL"
            ]
          },
          "settled_currency": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{3}$",
                "examples": [
                  "EUR",
                  "GBP",
                  "USD"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Settled Currency",
            "description": "The ISO 4217 currency code of this refund's settlement.",
            "examples": [
              "USD"
            ]
          },
          "settled_amount": {
            "type": "integer",
            "title": "Settled Amount",
            "description": "The net amount settled for this refund, in the smallest currency unit (for example, cents or pence).",
            "default": 0,
            "examples": [
              1100
            ]
          },
          "settled": {
            "type": "boolean",
            "title": "Settled",
            "description": "Indicates whether this refund has been settled.",
            "examples": [
              true
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "transaction_id",
          "status",
          "currency",
          "amount",
          "target_type",
          "reconciliation_id",
          "transaction_reconciliation_id",
          "created_at",
          "updated_at",
          "settled"
        ],
        "title": "Refund"
      },
      "RefundSettlement": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The unique identifier for the record.",
            "examples": [
              "b1e2c3d4-5678-1234-9abc-1234567890ab"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "The merchant account this record belongs to.",
            "examples": [
              "default"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date and time the record was created, in ISO 8601 format.",
            "examples": [
              "2024-06-01T12:00:00.000Z"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date and time the record was last updated, in ISO 8601 format.",
            "examples": [
              "2024-06-01T12:00:00.000Z"
            ]
          },
          "posted_at": {
            "type": "string",
            "format": "date-time",
            "title": "Posted At",
            "description": "The date and time the record was posted, in ISO 8601 format.",
            "examples": [
              "2024-06-01T12:00:00.000Z"
            ]
          },
          "ingested_at": {
            "type": "string",
            "format": "date-time",
            "title": "Ingested At",
            "description": "The date and time the record was ingested, in ISO 8601 format.",
            "examples": [
              "2024-06-01T12:00:00.000Z"
            ]
          },
          "currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "title": "Currency",
            "description": "ISO 4217 currency code.",
            "examples": [
              "EUR",
              "GBP",
              "USD"
            ]
          },
          "amount": {
            "type": "integer",
            "title": "Amount",
            "description": "The total amount in the smallest currency unit (e.g. cents).",
            "examples": [
              1100
            ]
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exchange Rate",
            "description": "The exchange rate, if applicable.",
            "examples": [
              1
            ]
          },
          "commission": {
            "type": "integer",
            "title": "Commission",
            "description": "The commission amount deducted in the smallest currency unit.",
            "examples": [
              100
            ]
          },
          "interchange": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Interchange",
            "description": "The interchange fee, if applicable, in the smallest currency unit.",
            "examples": [
              50
            ]
          },
          "markup": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Markup",
            "description": "The markup fee, if applicable, in the smallest currency unit.",
            "examples": [
              10
            ]
          },
          "scheme_fee": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scheme Fee",
            "description": "The scheme fee, if applicable, in the smallest currency unit.",
            "examples": [
              5
            ]
          },
          "payment_service_report_id": {
            "type": "string",
            "format": "uuid",
            "title": "Payment Service Report Id",
            "description": "The report ID from the payment service.",
            "examples": [
              "a1b2c3d4-5678-1234-9abc-1234567890ab"
            ]
          },
          "payment_service_report_file_ids": {
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "type": "array",
            "title": "Payment Service Report File Ids",
            "description": "List of file IDs for the payment service report.",
            "examples": [
              [
                "f1e2d3c4-5678-1234-9abc-1234567890ab"
              ]
            ]
          },
          "transaction_id": {
            "type": "string",
            "format": "uuid",
            "title": "Transaction Id",
            "description": "The transaction this record is associated with.",
            "examples": [
              "7099948d-7286-47e4-aad8-b68f7eb44591"
            ]
          },
          "type": {
            "type": "string",
            "const": "refund-settlement",
            "title": "Type",
            "description": "Always `refund-settlement`.",
            "default": "refund-settlement",
            "examples": [
              "refund-settlement"
            ]
          },
          "refund_id": {
            "type": "string",
            "format": "uuid",
            "title": "Refund Id",
            "description": "The refund this settlement is associated with.",
            "examples": [
              "b1e2c3d4-5678-1234-9abc-1234567890ab"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "merchant_account_id",
          "created_at",
          "updated_at",
          "posted_at",
          "ingested_at",
          "currency",
          "amount",
          "commission",
          "payment_service_report_id",
          "payment_service_report_file_ids",
          "transaction_id",
          "refund_id"
        ],
        "title": "RefundSettlement",
        "description": "A settlement record for a refund on a transaction."
      },
      "RefundSettlements": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/RefundSettlement"
            },
            "type": "array",
            "title": "Items",
            "description": "The list of refund settlement objects."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "RefundSettlements",
        "description": "A list of settlement records for the refunds on a transaction."
      },
      "RefundStatus": {
        "type": "string",
        "enum": [
          "processing",
          "succeeded",
          "failed",
          "declined",
          "voided"
        ],
        "title": "RefundStatus",
        "x-speakeasy-unknown-values": "allow"
      },
      "RefundTargetType": {
        "type": "string",
        "enum": [
          "payment-method",
          "gift-card-redemption"
        ],
        "title": "RefundTargetType",
        "x-speakeasy-unknown-values": "allow"
      },
      "Refunds": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/Refund"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          },
          "limit": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "description": "The number of items for this page.",
            "default": 20,
            "examples": [
              20
            ]
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "The cursor pointing at the next page of items.",
            "examples": [
              "ZXhhbXBsZTE"
            ]
          },
          "previous_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Cursor",
            "description": "The cursor pointing at the previous page of items.",
            "examples": [
              "Xkjss7asS"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "Refunds"
      },
      "Report": {
        "properties": {
          "type": {
            "type": "string",
            "const": "report",
            "title": "Type",
            "description": "Always `report`.",
            "default": "report",
            "examples": [
              "report"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The unique ID for the report.",
            "examples": [
              "a1b2c3d4-5678-90ab-cdef-1234567890ab"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "The merchant account ID this report belongs to.",
            "examples": [
              "merchant-account-12345"
            ]
          },
          "name": {
            "type": "string",
            "maxLength": 100,
            "minLength": 1,
            "title": "Name",
            "description": "The name of the report.",
            "examples": [
              "Monthly Transaction Report"
            ]
          },
          "creator_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Creator Id",
            "description": "The ID of the user who created the report.",
            "examples": [
              "d290f1ee-6c54-4b01-90e6-d701748f0851"
            ]
          },
          "creator_display_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Creator Display Name",
            "description": "The display name of the report creator.",
            "examples": [
              "Jane Doe"
            ]
          },
          "creator_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "user",
                  "private_key"
                ],
                "title": "ReportCreatorType",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The type of the report creator.",
            "examples": [
              "user"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date this report was created at.",
            "examples": [
              "2024-05-30T12:34:56.000Z"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date this report was last updated.",
            "examples": [
              "2024-05-30T13:00:00.000Z"
            ]
          },
          "next_execution_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Execution At",
            "description": "The next scheduled execution time for the report.",
            "examples": [
              "2024-06-01T00:00:00.000Z"
            ]
          },
          "description": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Description",
            "description": "A description of the report.",
            "examples": [
              "Monthly transaction summary for May 2024."
            ]
          },
          "schedule": {
            "description": "The schedule for the report.",
            "examples": [
              "daily"
            ],
            "type": "string",
            "enum": [
              "daily",
              "monthly",
              "once",
              "weekly"
            ],
            "title": "ReportSchedule",
            "x-speakeasy-unknown-values": "allow"
          },
          "schedule_enabled": {
            "type": "boolean",
            "title": "Schedule Enabled",
            "description": "Whether the report schedule is enabled.",
            "examples": [
              true
            ]
          },
          "schedule_timezone": {
            "type": "string",
            "title": "Schedule Timezone",
            "description": "The timezone for the report schedule.",
            "examples": [
              "UTC"
            ]
          },
          "spec": {
            "$ref": "#/components/schemas/ReportSpec",
            "description": "The report specification."
          },
          "latest_execution": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ReportExecutionSummary"
              },
              {
                "type": "null"
              }
            ],
            "description": "The latest execution summary for the report."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "merchant_account_id",
          "name",
          "created_at",
          "updated_at",
          "schedule",
          "schedule_enabled",
          "schedule_timezone",
          "spec"
        ],
        "title": "Report"
      },
      "ReportCreate": {
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 100,
            "minLength": 1,
            "title": "Name",
            "description": "The name of the report.",
            "examples": [
              "Monthly Transaction Report"
            ]
          },
          "description": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Description",
            "description": "A description of the report.",
            "examples": [
              "Monthly transaction summary for May 2024."
            ]
          },
          "schedule": {
            "description": "The schedule for the report.",
            "examples": [
              "daily"
            ],
            "type": "string",
            "enum": [
              "daily",
              "monthly",
              "once",
              "weekly"
            ],
            "title": "ReportSchedule",
            "x-speakeasy-unknown-values": "allow"
          },
          "schedule_enabled": {
            "type": "boolean",
            "title": "Schedule Enabled",
            "description": "Whether the report schedule is enabled.",
            "examples": [
              true
            ]
          },
          "schedule_timezone": {
            "type": "string",
            "title": "Schedule Timezone",
            "description": "The timezone for the report schedule.",
            "default": "Etc/UTC",
            "examples": [
              "UTC"
            ]
          },
          "spec": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/TransactionsReportSpec"
              },
              {
                "$ref": "#/components/schemas/TransactionRetriesReportSpec"
              },
              {
                "$ref": "#/components/schemas/DetailedSettlementReportSpec"
              },
              {
                "$ref": "#/components/schemas/AccountsReceivablesReportSpec"
              },
              {
                "$ref": "#/components/schemas/AIInsightsReportSpec"
              }
            ],
            "title": "Spec",
            "description": "The report specification.",
            "discriminator": {
              "propertyName": "model",
              "mapping": {
                "accounts_receivables": "#/components/schemas/AccountsReceivablesReportSpec",
                "ai_insights": "#/components/schemas/AIInsightsReportSpec",
                "detailed_settlement": "#/components/schemas/DetailedSettlementReportSpec",
                "transaction_retries": "#/components/schemas/TransactionRetriesReportSpec",
                "transactions": "#/components/schemas/TransactionsReportSpec"
              }
            }
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "name",
          "schedule",
          "schedule_enabled",
          "spec"
        ],
        "title": "ReportCreate"
      },
      "ReportCreatorType": {
        "type": "string",
        "enum": [
          "user",
          "private_key"
        ],
        "title": "ReportCreatorType",
        "x-speakeasy-unknown-values": "allow"
      },
      "ReportExecution": {
        "properties": {
          "type": {
            "type": "string",
            "const": "report-execution",
            "title": "Type",
            "description": "Always `report-execution`.",
            "default": "report-execution",
            "examples": [
              "report-execution"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The unique ID for the report execution.",
            "examples": [
              "a1b2c3d4-5678-90ab-cdef-1234567890ab"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date this report execution was created at.",
            "examples": [
              "2024-05-30T12:34:56.000Z"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date this report execution was last updated.",
            "examples": [
              "2024-05-30T13:00:00.000Z"
            ]
          },
          "status": {
            "description": "The status of the report execution.",
            "examples": [
              "succeeded"
            ],
            "type": "string",
            "enum": [
              "dispatched",
              "failed",
              "pending",
              "processing",
              "succeeded"
            ],
            "title": "ReportExecutionStatus",
            "x-speakeasy-unknown-values": "allow"
          },
          "context": {
            "$ref": "#/components/schemas/ReportExecutionContext",
            "description": "The context for the report execution."
          },
          "report": {
            "$ref": "#/components/schemas/ReportSummary",
            "description": "The report this execution belongs to."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "created_at",
          "updated_at",
          "status",
          "context",
          "report"
        ],
        "title": "ReportExecution"
      },
      "ReportExecutionContext": {
        "properties": {
          "reference_timestamp": {
            "type": "string",
            "format": "date-time",
            "title": "Reference Timestamp",
            "description": "The reference timestamp for the report execution context.",
            "examples": [
              "2024-05-30T12:34:56.000Z"
            ]
          },
          "reference_timezone": {
            "type": "string",
            "title": "Reference Timezone",
            "description": "The reference timezone for the report execution context.",
            "examples": [
              "UTC"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "reference_timestamp",
          "reference_timezone"
        ],
        "title": "ReportExecutionContext"
      },
      "ReportExecutionStatus": {
        "type": "string",
        "enum": [
          "dispatched",
          "failed",
          "pending",
          "processing",
          "succeeded"
        ],
        "title": "ReportExecutionStatus",
        "x-speakeasy-unknown-values": "allow"
      },
      "ReportExecutionSummary": {
        "properties": {
          "type": {
            "type": "string",
            "const": "report-execution",
            "title": "Type",
            "description": "Always `report-execution`.",
            "default": "report-execution",
            "examples": [
              "report-execution"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The unique ID for the report execution.",
            "examples": [
              "a1b2c3d4-5678-90ab-cdef-1234567890ab"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date this report execution was created at.",
            "examples": [
              "2024-05-30T12:34:56.000Z"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date this report execution was last updated.",
            "examples": [
              "2024-05-30T13:00:00.000Z"
            ]
          },
          "status": {
            "description": "The status of the report execution.",
            "examples": [
              "succeeded"
            ],
            "type": "string",
            "enum": [
              "dispatched",
              "failed",
              "pending",
              "processing",
              "succeeded"
            ],
            "title": "ReportExecutionStatus",
            "x-speakeasy-unknown-values": "allow"
          },
          "context": {
            "$ref": "#/components/schemas/ReportExecutionContext",
            "description": "The context for the report execution."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "created_at",
          "updated_at",
          "status",
          "context"
        ],
        "title": "ReportExecutionSummary"
      },
      "ReportExecutionUrl": {
        "properties": {
          "url": {
            "type": "string",
            "title": "Url",
            "description": "A signed URL to download the report execution file.",
            "examples": [
              "https://example.com/download/report.csv?signature=abc123"
            ]
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "title": "Expires At",
            "description": "The date and time when the download URL expires.",
            "examples": [
              "2024-06-01T00:00:00.000Z"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "url",
          "expires_at"
        ],
        "title": "ReportExecutionUrl"
      },
      "ReportExecutionUrlGenerate": {
        "properties": {
          "expires_in": {
            "type": "integer",
            "maximum": 10080,
            "minimum": 1,
            "title": "Expires In",
            "description": "The URL expiration time, in minutes.",
            "default": 5,
            "examples": [
              5
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "ReportExecutionUrlGenerate"
      },
      "ReportExecutions": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ReportExecution"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          },
          "limit": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "description": "The number of items for this page.",
            "default": 20,
            "examples": [
              20
            ]
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "The cursor pointing at the next page of items.",
            "examples": [
              "ZXhhbXBsZTE"
            ]
          },
          "previous_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Cursor",
            "description": "The cursor pointing at the previous page of items.",
            "examples": [
              "Xkjss7asS"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "ReportExecutions"
      },
      "ReportSchedule": {
        "type": "string",
        "enum": [
          "daily",
          "monthly",
          "once",
          "weekly"
        ],
        "title": "ReportSchedule",
        "x-speakeasy-unknown-values": "allow"
      },
      "ReportSpec": {
        "properties": {
          "model": {
            "description": "The report model type.",
            "examples": [
              "transactions",
              "transaction_retries",
              "detailed_settlement"
            ],
            "type": "string",
            "enum": [
              "transactions",
              "transaction_retries",
              "detailed_settlement",
              "accounts_receivables",
              "ai_insights"
            ],
            "title": "ReportSpecModel",
            "x-speakeasy-unknown-values": "allow"
          },
          "params": {
            "additionalProperties": true,
            "type": "object",
            "title": "Params",
            "description": "The parameters for the report model.",
            "examples": [
              {
                "fields": [
                  "id",
                  "status"
                ],
                "filters": {
                  "status": [
                    "succeeded"
                  ]
                }
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "model",
          "params"
        ],
        "title": "ReportSpec"
      },
      "ReportSpecModel": {
        "type": "string",
        "enum": [
          "transactions",
          "transaction_retries",
          "detailed_settlement",
          "accounts_receivables",
          "ai_insights"
        ],
        "title": "ReportSpecModel",
        "x-speakeasy-unknown-values": "allow"
      },
      "ReportSummary": {
        "properties": {
          "type": {
            "type": "string",
            "const": "report",
            "title": "Type",
            "description": "Always `report`.",
            "default": "report",
            "examples": [
              "report"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The unique ID for the report.",
            "examples": [
              "a1b2c3d4-5678-90ab-cdef-1234567890ab"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "The merchant account ID this report belongs to.",
            "examples": [
              "merchant-account-12345"
            ]
          },
          "name": {
            "type": "string",
            "maxLength": 100,
            "minLength": 1,
            "title": "Name",
            "description": "The name of the report.",
            "examples": [
              "Monthly Transaction Report"
            ]
          },
          "creator_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Creator Id",
            "description": "The ID of the user who created the report.",
            "examples": [
              "d290f1ee-6c54-4b01-90e6-d701748f0851"
            ]
          },
          "creator_display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Creator Display Name",
            "description": "The display name of the report creator.",
            "examples": [
              "Jane Doe"
            ]
          },
          "creator_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "user",
                  "private_key"
                ],
                "title": "ReportCreatorType",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The type of the report creator.",
            "examples": [
              "user"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "merchant_account_id",
          "name"
        ],
        "title": "ReportSummary"
      },
      "ReportUpdate": {
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Name",
            "description": "The name of the report.",
            "examples": [
              "Monthly Transaction Report"
            ]
          },
          "description": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Description",
            "description": "A description of the report.",
            "examples": [
              "Monthly transaction summary for May 2024."
            ]
          },
          "schedule_enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Schedule Enabled",
            "description": "Whether the report schedule is enabled.",
            "examples": [
              true
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "ReportUpdate"
      },
      "Reports": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/Report"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          },
          "limit": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "description": "The number of items for this page.",
            "default": 20,
            "examples": [
              20
            ]
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "The cursor pointing at the next page of items.",
            "examples": [
              "ZXhhbXBsZTE"
            ]
          },
          "previous_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Cursor",
            "description": "The cursor pointing at the previous page of items.",
            "examples": [
              "Xkjss7asS"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "Reports"
      },
      "RequiredAddressFields": {
        "properties": {
          "organization": {
            "type": "boolean",
            "title": "Organization",
            "description": "Defines if the `organization` field for a buyer's address is required.",
            "default": false,
            "examples": [
              true
            ]
          },
          "house_number_or_name": {
            "type": "boolean",
            "title": "House Number Or Name",
            "description": "Defines if the `house_number_or_name` field for a buyer's address is required.",
            "default": false,
            "examples": [
              true
            ]
          },
          "line1": {
            "type": "boolean",
            "title": "Line1",
            "description": "Defines if the `line1` field for a buyer's address is required.",
            "default": false,
            "examples": [
              true
            ]
          },
          "line2": {
            "type": "boolean",
            "title": "Line2",
            "description": "Defines if the `line2` field for a buyer's address is required.",
            "default": false,
            "examples": [
              true
            ]
          },
          "city": {
            "type": "boolean",
            "title": "City",
            "description": "Defines if the `city` field for a buyer's address is required.",
            "default": false,
            "examples": [
              true
            ]
          },
          "postal_code": {
            "type": "boolean",
            "title": "Postal Code",
            "description": "Defines if the `postal_code` field for a buyer's address is required.",
            "default": false,
            "examples": [
              true
            ]
          },
          "state": {
            "type": "boolean",
            "title": "State",
            "description": "Defines if the `state` field for a buyer's address is required.",
            "default": false,
            "examples": [
              true
            ]
          },
          "state_code": {
            "type": "boolean",
            "title": "State Code",
            "description": "Defines if the `state_code` field for a buyer's address is required.",
            "default": false,
            "examples": [
              true
            ]
          },
          "country": {
            "type": "boolean",
            "title": "Country",
            "description": "Defines if the `country` field for a buyer's address is required.",
            "default": false,
            "examples": [
              true
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "RequiredAddressFields"
      },
      "RequiredCheckoutFields": {
        "properties": {
          "required_fields": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": true,
            "title": "Required Fields",
            "description": "A list of transaction fields that are required to process a payment for this service.",
            "examples": [
              [
                "address.line1",
                "address.country",
                "address.city",
                "address.postal_code"
              ]
            ]
          },
          "conditions": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Conditions",
            "description": "The conditions under which these fields are required",
            "examples": [
              {
                "country": [
                  "IN"
                ]
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "required_fields"
        ],
        "title": "RequiredCheckoutFields",
        "description": "A collection of checkout fields and the conditions under which they are required."
      },
      "RequiredFields": {
        "properties": {
          "first_name": {
            "type": "boolean",
            "title": "First Name",
            "description": "Defines if the `first_name` field for a buyer is required.",
            "default": false,
            "examples": [
              true
            ]
          },
          "last_name": {
            "type": "boolean",
            "title": "Last Name",
            "description": "Defines if the `last_name` field for a buyer is required.",
            "default": false,
            "examples": [
              true
            ]
          },
          "email_address": {
            "type": "boolean",
            "title": "Email Address",
            "description": "Defines if the `email_address` field for a buyer is required.",
            "default": false,
            "examples": [
              true
            ]
          },
          "phone_number": {
            "type": "boolean",
            "title": "Phone Number",
            "description": "Defines if the `phone_number` field for a buyer is required.",
            "default": false,
            "examples": [
              true
            ]
          },
          "tax_id": {
            "type": "boolean",
            "title": "Tax Id",
            "description": "Defines if the `tax_id` field for a buyer is required.",
            "default": false,
            "examples": [
              true
            ]
          },
          "address": {
            "$ref": "#/components/schemas/RequiredAddressFields",
            "description": "Defines if the `address` fields required for the buyer."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "address"
        ],
        "title": "RequiredFields"
      },
      "Role": {
        "properties": {
          "type": {
            "type": "string",
            "const": "role",
            "title": "Type",
            "description": "Always `role`.",
            "default": "role",
            "examples": [
              "role"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The unique ID for the role.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "name": {
            "type": "string",
            "title": "Name",
            "description": "The human-readable name of the role.",
            "examples": [
              "Administrator"
            ]
          },
          "slug": {
            "type": "string",
            "title": "Slug",
            "description": "The unique, human-readable identifier for the role.",
            "examples": [
              "administrator"
            ]
          },
          "description": {
            "type": "string",
            "title": "Description",
            "description": "A description of the access this role grants.",
            "examples": [
              "Full read and write access."
            ]
          },
          "permissions": {
            "$ref": "#/components/schemas/PermissionSet",
            "description": "The permissions granted by this role."
          },
          "assignable_to": {
            "items": {
              "type": "string",
              "enum": [
                "user",
                "api-key-pair"
              ],
              "title": "RoleAssigneeType",
              "x-speakeasy-unknown-values": "allow"
            },
            "type": "array",
            "title": "Assignable To",
            "description": "The types of resource this role can be assigned to."
          },
          "applies_to": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Applies To",
            "description": "The slugs of the roles this role is an add-on of. Empty when this role is not an add-on."
          },
          "is_standalone_assignable": {
            "type": "boolean",
            "title": "Is Standalone Assignable",
            "description": "Whether this role can be assigned on its own, without being combined with another role."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "name",
          "slug",
          "description",
          "permissions",
          "assignable_to",
          "applies_to",
          "is_standalone_assignable"
        ],
        "title": "Role"
      },
      "RoleAssigneeType": {
        "type": "string",
        "enum": [
          "user",
          "api-key-pair"
        ],
        "title": "RoleAssigneeType",
        "x-speakeasy-unknown-values": "allow"
      },
      "SEPABankPaymentMethodCreate": {
        "properties": {
          "method": {
            "type": "string",
            "const": "bank",
            "title": "Method",
            "description": "Always `bank`.",
            "default": "bank",
            "examples": [
              "bank"
            ]
          },
          "account_holder": {
            "$ref": "#/components/schemas/BankAccountHolder",
            "description": "The account holder for this bank account"
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": "The ID of the buyer to attach the method to.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "buyer_external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer External Identifier",
            "description": "The merchant reference for this payment method.",
            "examples": [
              "payment-method-12345"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant identifier for this payment method.",
            "examples": [
              "payment-method-12345"
            ]
          },
          "scheme": {
            "type": "string",
            "const": "sepa",
            "title": "Scheme",
            "description": "Always `sepa`.",
            "default": "sepa",
            "examples": [
              "sepa"
            ]
          },
          "account_number": {
            "type": "string",
            "title": "Account Number",
            "description": "The IBAN for this SEPA bank account",
            "examples": [
              "ES1234567891234"
            ]
          },
          "routing_number": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Routing Number",
            "description": "The BIC for this SEPA bank account",
            "examples": [
              "ABC123456"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "account_holder",
          "account_number"
        ],
        "title": "SEPABankPaymentMethodCreate",
        "description": "SEPA Bank Payment Method\n\nBank Payment Method for SEPA bank accounts."
      },
      "Settlement": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The unique identifier for the record.",
            "examples": [
              "b1e2c3d4-5678-1234-9abc-1234567890ab"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "The merchant account this record belongs to.",
            "examples": [
              "default"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date and time the record was created, in ISO 8601 format.",
            "examples": [
              "2024-06-01T12:00:00.000Z"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date and time the record was last updated, in ISO 8601 format.",
            "examples": [
              "2024-06-01T12:00:00.000Z"
            ]
          },
          "posted_at": {
            "type": "string",
            "format": "date-time",
            "title": "Posted At",
            "description": "The date and time the record was posted, in ISO 8601 format.",
            "examples": [
              "2024-06-01T12:00:00.000Z"
            ]
          },
          "ingested_at": {
            "type": "string",
            "format": "date-time",
            "title": "Ingested At",
            "description": "The date and time the record was ingested, in ISO 8601 format.",
            "examples": [
              "2024-06-01T12:00:00.000Z"
            ]
          },
          "currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "title": "Currency",
            "description": "ISO 4217 currency code.",
            "examples": [
              "EUR",
              "GBP",
              "USD"
            ]
          },
          "amount": {
            "type": "integer",
            "title": "Amount",
            "description": "The total amount in the smallest currency unit (e.g. cents).",
            "examples": [
              1100
            ]
          },
          "exchange_rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exchange Rate",
            "description": "The exchange rate, if applicable.",
            "examples": [
              1
            ]
          },
          "commission": {
            "type": "integer",
            "title": "Commission",
            "description": "The commission amount deducted in the smallest currency unit.",
            "examples": [
              100
            ]
          },
          "interchange": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Interchange",
            "description": "The interchange fee, if applicable, in the smallest currency unit.",
            "examples": [
              50
            ]
          },
          "markup": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Markup",
            "description": "The markup fee, if applicable, in the smallest currency unit.",
            "examples": [
              10
            ]
          },
          "scheme_fee": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scheme Fee",
            "description": "The scheme fee, if applicable, in the smallest currency unit.",
            "examples": [
              5
            ]
          },
          "payment_service_report_id": {
            "type": "string",
            "format": "uuid",
            "title": "Payment Service Report Id",
            "description": "The report ID from the payment service.",
            "examples": [
              "a1b2c3d4-5678-1234-9abc-1234567890ab"
            ]
          },
          "payment_service_report_file_ids": {
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "type": "array",
            "title": "Payment Service Report File Ids",
            "description": "List of file IDs for the payment service report.",
            "examples": [
              [
                "f1e2d3c4-5678-1234-9abc-1234567890ab"
              ]
            ]
          },
          "transaction_id": {
            "type": "string",
            "format": "uuid",
            "title": "Transaction Id",
            "description": "The transaction this record is associated with.",
            "examples": [
              "7099948d-7286-47e4-aad8-b68f7eb44591"
            ]
          },
          "type": {
            "type": "string",
            "const": "settlement",
            "title": "Type",
            "description": "Always `settlement`.",
            "default": "settlement",
            "examples": [
              "settlement"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "merchant_account_id",
          "created_at",
          "updated_at",
          "posted_at",
          "ingested_at",
          "currency",
          "amount",
          "commission",
          "payment_service_report_id",
          "payment_service_report_file_ids",
          "transaction_id"
        ],
        "title": "Settlement",
        "description": "A settlement record for a transaction."
      },
      "Settlements": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/Settlement"
            },
            "type": "array",
            "title": "Items",
            "description": "The list of settlement objects."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "Settlements",
        "description": "A list of settlement records for a transaction."
      },
      "ShippingDetails": {
        "properties": {
          "first_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "First Name",
            "description": "The first name(s) or given name for the buyer.",
            "examples": [
              "John"
            ]
          },
          "last_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Name",
            "description": "The last name, or family name, of the buyer.",
            "examples": [
              "Doe"
            ]
          },
          "email_address": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 320,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Email Address",
            "description": "The email address for the buyer.",
            "examples": [
              "john@example.com"
            ]
          },
          "phone_number": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\+[1-9]\\d{1,14}$",
                "examples": [
                  "+14155552671",
                  "+442071838750"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Phone Number",
            "description": "The phone number for the buyer which should be formatted according to the E164 number standard.",
            "examples": [
              "+1234567890"
            ]
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Address"
              },
              {
                "type": "null"
              }
            ],
            "description": "The billing address for the buyer."
          },
          "id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id",
            "description": "The ID for the shipping details.",
            "examples": [
              "bf8c36ad-02d9-4904-b0f9-a230b149e341"
            ]
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": "The ID for the buyer.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "type": {
            "type": "string",
            "const": "shipping-details",
            "title": "Type",
            "description": "Always `shipping-details`.",
            "default": "shipping-details",
            "examples": [
              "shipping-details"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "ShippingDetails"
      },
      "ShippingDetailsCreate": {
        "properties": {
          "first_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "First Name",
            "description": "The first name(s) or given name for the buyer.",
            "examples": [
              "John"
            ]
          },
          "last_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Name",
            "description": "The last name, or family name, of the buyer.",
            "examples": [
              "Doe"
            ]
          },
          "email_address": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 320,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Email Address",
            "description": "The email address for the buyer.",
            "examples": [
              "john@example.com"
            ]
          },
          "phone_number": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\+[1-9]\\d{1,14}$",
                "examples": [
                  "+14155552671",
                  "+442071838750"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Phone Number",
            "description": "The phone number for the buyer which should be formatted according to the E164 number standard.",
            "examples": [
              "+1234567890"
            ]
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Address"
              },
              {
                "type": "null"
              }
            ],
            "description": "The billing address for the buyer."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "ShippingDetailsCreate"
      },
      "ShippingDetailsList": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ShippingDetails"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          }
        },
        "type": "object",
        "required": [
          "items"
        ],
        "title": "ShippingDetailsList"
      },
      "ShippingDetailsUpdate": {
        "properties": {
          "first_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "First Name",
            "description": "The first name(s) or given name for the buyer.",
            "examples": [
              "John"
            ]
          },
          "last_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 255,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Name",
            "description": "The last name, or family name, of the buyer.",
            "examples": [
              "Doe"
            ]
          },
          "email_address": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 320,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Email Address",
            "description": "The email address for the buyer.",
            "examples": [
              "john@example.com"
            ]
          },
          "phone_number": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\+[1-9]\\d{1,14}$",
                "examples": [
                  "+14155552671",
                  "+442071838750"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Phone Number",
            "description": "The phone number for the buyer which should be formatted according to the E164 number standard.",
            "examples": [
              "+1234567890"
            ]
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Address"
              },
              {
                "type": "null"
              }
            ],
            "description": "The billing address for the buyer."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "ShippingDetailsUpdate"
      },
      "StatementDescriptor": {
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 22,
                "minLength": 5
              },
              {
                "type": "null"
              }
            ],
            "title": "Name",
            "description": "Reflects your doing business as (DBA) name.",
            "examples": [
              "ACME"
            ]
          },
          "description": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 22,
                "minLength": 5
              },
              {
                "type": "null"
              }
            ],
            "title": "Description",
            "description": "A short description about the purchase.",
            "examples": [
              "ACME San Jose Electronics"
            ]
          },
          "city": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "City",
            "description": "The merchant's city to be displayed in a statement descriptor.",
            "examples": [
              "San Jose"
            ]
          },
          "country": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "examples": [
                  "DE",
                  "GB",
                  "US"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Country",
            "description": "The 2-letter ISO country code of the merchant to be displayed in a statement descriptor.",
            "examples": [
              "US"
            ]
          },
          "phone_number": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\+[1-9]\\d{1,14}$",
                "examples": [
                  "+14155552671",
                  "+442071838750"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Phone Number",
            "description": "The value in the phone number field of a customer's statement which should be formatted according to the E164 number standard.",
            "examples": [
              "+1234567890"
            ]
          },
          "url": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Url",
            "description": "The merchant's URL to be displayed in a statement descriptor.",
            "examples": [
              "www.example.com"
            ]
          },
          "postal_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 50,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Postal Code",
            "description": "The merchant's postal code or zip code.",
            "examples": [
              "94560"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "StatementDescriptor",
        "description": "Information to show the user on their payments statement"
      },
      "TaxId": {
        "properties": {
          "value": {
            "type": "string",
            "maxLength": 50,
            "minLength": 1,
            "title": "Value",
            "description": "The tax ID for the buyer.",
            "examples": [
              "12345678931"
            ]
          },
          "kind": {
            "description": "The kind of tax ID",
            "examples": [
              "us.ein"
            ],
            "type": "string",
            "enum": [
              "ae.trn",
              "au.abn",
              "ar.dni",
              "ar.cuil",
              "ar.cuit",
              "br.cnpj",
              "br.cpf",
              "ca.bn",
              "ca.gst_hst",
              "ca.pst_bc",
              "ca.pst_mb",
              "ca.pst_sk",
              "ca.qst",
              "ch.vat",
              "cl.tin",
              "co.itin",
              "co.nit",
              "co.cc",
              "co.ce",
              "co.de",
              "co.rc",
              "co.ti",
              "co.passport",
              "es.cif",
              "eu.vat",
              "gb.vat",
              "hk.br",
              "id.nik",
              "id.npwp",
              "in.gst",
              "in.pan",
              "jp.cn",
              "jp.rn",
              "kr.brn",
              "li.uid",
              "mx.curp",
              "mx.rfc",
              "my.frp",
              "my.itn",
              "my.nric",
              "my.sst",
              "no.vat",
              "nz.gst",
              "pe.ruc",
              "ph.tin",
              "ru.inn",
              "ru.kpp",
              "sa.vat",
              "sg.gst",
              "sg.uen",
              "th.id",
              "th.vat",
              "tw.vat",
              "us.ein",
              "za.vat",
              "bo.ci",
              "uy.rut",
              "uy.ci"
            ],
            "title": "TaxIdKind",
            "x-speakeasy-unknown-values": "allow"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "value",
          "kind"
        ],
        "title": "TaxId"
      },
      "TaxIdKind": {
        "type": "string",
        "enum": [
          "ae.trn",
          "au.abn",
          "ar.dni",
          "ar.cuil",
          "ar.cuit",
          "br.cnpj",
          "br.cpf",
          "ca.bn",
          "ca.gst_hst",
          "ca.pst_bc",
          "ca.pst_mb",
          "ca.pst_sk",
          "ca.qst",
          "ch.vat",
          "cl.tin",
          "co.itin",
          "co.nit",
          "co.cc",
          "co.ce",
          "co.de",
          "co.rc",
          "co.ti",
          "co.passport",
          "es.cif",
          "eu.vat",
          "gb.vat",
          "hk.br",
          "id.nik",
          "id.npwp",
          "in.gst",
          "in.pan",
          "jp.cn",
          "jp.rn",
          "kr.brn",
          "li.uid",
          "mx.curp",
          "mx.rfc",
          "my.frp",
          "my.itn",
          "my.nric",
          "my.sst",
          "no.vat",
          "nz.gst",
          "pe.ruc",
          "ph.tin",
          "ru.inn",
          "ru.kpp",
          "sa.vat",
          "sg.gst",
          "sg.uen",
          "th.id",
          "th.vat",
          "tw.vat",
          "us.ein",
          "za.vat",
          "bo.ci",
          "uy.rut",
          "uy.ci"
        ],
        "title": "TaxIdKind",
        "x-speakeasy-unknown-values": "allow"
      },
      "ThreeDSecure": {
        "properties": {
          "amount": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount",
            "description": "The amount to be used for 3DS authentication. Optionally set this value to authenticate a greater amount than the transaction amount."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "ThreeDSecure"
      },
      "ThreeDSecureDataV1": {
        "properties": {
          "cavv": {
            "type": "string",
            "title": "Cavv",
            "description": "The cardholder authentication value or AAV.",
            "examples": [
              "3q2+78r+ur7erb7vyv66vv8="
            ]
          },
          "eci": {
            "type": "string",
            "maxLength": 2,
            "minLength": 1,
            "pattern": "^0?\\d$",
            "title": "Eci",
            "description": "The ecommerce indicator for the 3DS transaction.",
            "examples": [
              "05"
            ]
          },
          "version": {
            "type": "string",
            "pattern": "^[12](\\.\\d+){0,2}$",
            "title": "Version",
            "description": "The version of 3-D Secure that was used.",
            "examples": [
              "2.1.0"
            ]
          },
          "directory_response": {
            "type": "string",
            "maxLength": 1,
            "title": "Directory Response",
            "description": "For 3-D Secure version 1, the enrolment response. For 3-D Secure version 2 and above, the transaction status from the `ARes`.",
            "examples": [
              "C"
            ]
          },
          "scheme": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "accel",
                  "amex",
                  "bancontact",
                  "carte-bancaire",
                  "cirrus",
                  "culiance",
                  "dankort",
                  "diners-club",
                  "discover",
                  "eftpos-australia",
                  "elo",
                  "hipercard",
                  "jcb",
                  "maestro",
                  "mastercard",
                  "mir",
                  "nyce",
                  "other",
                  "pulse",
                  "qcard",
                  "rupay",
                  "star",
                  "uatp",
                  "unionpay",
                  "visa"
                ],
                "title": "CardScheme",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The scheme/brand of the card that is used for 3-D Secure.",
            "examples": [
              "visa"
            ]
          },
          "authentication_response": {
            "type": "string",
            "maxLength": 1,
            "title": "Authentication Response",
            "description": " The response for the 3DS authentication call.",
            "examples": [
              "Y"
            ]
          },
          "cavv_algorithm": {
            "type": "string",
            "maxLength": 1,
            "title": "Cavv Algorithm",
            "description": "The CAVV algorithm used.",
            "examples": [
              "A"
            ]
          },
          "xid": {
            "type": "string",
            "title": "Xid",
            "description": "The transaction identifier.",
            "examples": [
              "12345"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "cavv",
          "eci",
          "version",
          "directory_response",
          "authentication_response",
          "cavv_algorithm",
          "xid"
        ],
        "title": "ThreeDSecureDataV1"
      },
      "ThreeDSecureDataV2": {
        "properties": {
          "cavv": {
            "type": "string",
            "title": "Cavv",
            "description": "The cardholder authentication value or AAV.",
            "examples": [
              "3q2+78r+ur7erb7vyv66vv8="
            ]
          },
          "eci": {
            "type": "string",
            "maxLength": 2,
            "minLength": 1,
            "pattern": "^0?\\d$",
            "title": "Eci",
            "description": "The ecommerce indicator for the 3DS transaction.",
            "examples": [
              "05"
            ]
          },
          "version": {
            "type": "string",
            "pattern": "^[12](\\.\\d+){0,2}$",
            "title": "Version",
            "description": "The version of 3-D Secure that was used.",
            "examples": [
              "2.1.0"
            ]
          },
          "directory_response": {
            "type": "string",
            "maxLength": 1,
            "title": "Directory Response",
            "description": "For 3-D Secure version 1, the enrolment response. For 3-D Secure version 2 and above, the transaction status from the `ARes`.",
            "examples": [
              "C"
            ]
          },
          "scheme": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "accel",
                  "amex",
                  "bancontact",
                  "carte-bancaire",
                  "cirrus",
                  "culiance",
                  "dankort",
                  "diners-club",
                  "discover",
                  "eftpos-australia",
                  "elo",
                  "hipercard",
                  "jcb",
                  "maestro",
                  "mastercard",
                  "mir",
                  "nyce",
                  "other",
                  "pulse",
                  "qcard",
                  "rupay",
                  "star",
                  "uatp",
                  "unionpay",
                  "visa"
                ],
                "title": "CardScheme",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The scheme/brand of the card that is used for 3-D Secure.",
            "examples": [
              "visa"
            ]
          },
          "authentication_response": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Authentication Response",
            "description": "The transaction status after a the 3DS challenge. This will be null in case of a frictionless 3DS flow.",
            "examples": [
              "Y"
            ]
          },
          "directory_transaction_id": {
            "type": "string",
            "title": "Directory Transaction Id",
            "description": "The transaction identifier.",
            "examples": [
              "c4e59ceb-a382-4d6a-bc87-385d591fa09d"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "cavv",
          "eci",
          "version",
          "directory_response",
          "directory_transaction_id"
        ],
        "title": "ThreeDSecureDataV2"
      },
      "ThreeDSecureError": {
        "properties": {
          "code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 3,
                "minLength": 3
              },
              {
                "type": "null"
              }
            ],
            "title": "Code",
            "description": "The error code.",
            "examples": [
              "305"
            ]
          },
          "description": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2048
              },
              {
                "type": "null"
              }
            ],
            "title": "Description",
            "description": "The error description.",
            "examples": [
              "Invalid ThreeDSCompInd"
            ]
          },
          "detail": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2048
              },
              {
                "type": "null"
              }
            ],
            "title": "Detail",
            "description": "Detail about the 3DS error.",
            "examples": [
              "The threeDSCompInd must be 'Y' when successful"
            ]
          },
          "component": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Component",
            "description": "Code indicating the 3-D Secure component that identified the error.",
            "examples": [
              "C"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "ThreeDSecureError"
      },
      "ThreeDSecureMethod": {
        "type": "string",
        "enum": [
          "challenge",
          "frictionless"
        ],
        "title": "ThreeDSecureMethod",
        "x-speakeasy-unknown-values": "allow"
      },
      "ThreeDSecureScenario": {
        "properties": {
          "type": {
            "type": "string",
            "const": "three-d-secure-scenario",
            "title": "Type",
            "description": "Always `three-d-secure-scenario`.",
            "default": "three-d-secure-scenario",
            "examples": [
              "three-d-secure-scenario"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "Unique identifier for the 3DS scenario",
            "examples": [
              "550e8400-e29b-41d4-a716-446655440000"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "ID of the associated merchant account",
            "examples": [
              "merchant-account-12345"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date and time when this 3DS scenario was first created in our system.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date and time when this 3DS scenario was last updated in our system.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "conditions": {
            "$ref": "#/components/schemas/ThreeDSecureScenarioConditions",
            "description": "Conditions for the scenario.",
            "examples": [
              {
                "amount": 100,
                "card_number": "4242424242424242",
                "email_address": "john@example.com",
                "external_identifier": "buyer-12345",
                "first_name": "John",
                "last_name": "Luhn"
              }
            ]
          },
          "outcome": {
            "$ref": "#/components/schemas/ThreeDSecureScenarioOutcome",
            "description": "Outcome for the scenario.",
            "examples": [
              {
                "authentication": {
                  "transaction_status": "C"
                },
                "result": {
                  "transaction_status": "Y"
                },
                "version": "2.3.1"
              },
              {
                "authentication": {
                  "transaction_status": "N"
                },
                "version": "2.3.1"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "merchant_account_id",
          "created_at",
          "updated_at",
          "conditions",
          "outcome"
        ],
        "title": "ThreeDSecureScenario"
      },
      "ThreeDSecureScenarioConditions": {
        "properties": {
          "first_name": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "First Name",
            "description": "First name of the buyer to match.",
            "examples": [
              "John"
            ]
          },
          "last_name": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Name",
            "description": "Last name of the buyer to match.",
            "examples": [
              "Luhn"
            ]
          },
          "email_address": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Email Address",
            "description": "Email address of the buyer to match.",
            "examples": [
              "john@example.com"
            ]
          },
          "amount": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount",
            "description": "Amount of the transaction to match.",
            "examples": [
              100
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "External identifier to match.",
            "examples": [
              "buyer-12345"
            ]
          },
          "card_number": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Card Number",
            "description": "Card number to match.",
            "examples": [
              "4242424242424242"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "ThreeDSecureScenarioConditions"
      },
      "ThreeDSecureScenarioCreate": {
        "properties": {
          "conditions": {
            "$ref": "#/components/schemas/ThreeDSecureScenarioConditions",
            "description": "Conditions for the scenario.",
            "examples": [
              {
                "amount": 100,
                "card_number": "4242424242424242",
                "email_address": "john@example.com",
                "external_identifier": "buyer-12345",
                "first_name": "John",
                "last_name": "Luhn"
              }
            ]
          },
          "outcome": {
            "$ref": "#/components/schemas/ThreeDSecureScenarioOutcome",
            "description": "Outcome for the scenario.",
            "examples": [
              {
                "authentication": {
                  "transaction_status": "C"
                },
                "result": {
                  "transaction_status": "Y"
                },
                "version": "2.3.1"
              },
              {
                "authentication": {
                  "transaction_status": "N"
                },
                "version": "2.3.1"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "conditions",
          "outcome"
        ],
        "title": "ThreeDSecureScenarioCreate"
      },
      "ThreeDSecureScenarioOutcome": {
        "properties": {
          "version": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[12](\\.\\d+){0,2}$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version",
            "description": "The version of 3DS which will be simulated.",
            "examples": [
              "2.2.0",
              "2.3.1"
            ]
          },
          "authentication": {
            "$ref": "#/components/schemas/ThreeDSecureScenarioOutcomeAuthentication",
            "description": "3DS authentication value.",
            "examples": [
              {
                "transaction_status": "C"
              }
            ]
          },
          "result": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ThreeDSecureScenarioOutcomeResult"
              },
              {
                "type": "null"
              }
            ],
            "description": "3DS result value. Required if authentication status is \"C\".",
            "examples": [
              {
                "transaction_status": "Y"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "authentication"
        ],
        "title": "ThreeDSecureScenarioOutcome"
      },
      "ThreeDSecureScenarioOutcomeAuthentication": {
        "properties": {
          "transaction_status": {
            "type": "string",
            "enum": [
              "Y",
              "N",
              "A",
              "R",
              "U",
              "C",
              "timeout"
            ],
            "title": "Transaction Status",
            "description": "3DS transaction status.",
            "examples": [
              "Y",
              "N",
              "A",
              "R",
              "U",
              "C",
              "timeout"
            ],
            "x-speakeasy-unknown-values": "allow"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "transaction_status"
        ],
        "title": "ThreeDSecureScenarioOutcomeAuthentication"
      },
      "ThreeDSecureScenarioOutcomeResult": {
        "properties": {
          "transaction_status": {
            "type": "string",
            "enum": [
              "Y",
              "N",
              "timeout"
            ],
            "title": "Transaction Status",
            "description": "3DS result.",
            "examples": [
              "Y",
              "N",
              "timeout"
            ],
            "x-speakeasy-unknown-values": "allow"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "transaction_status"
        ],
        "title": "ThreeDSecureScenarioOutcomeResult"
      },
      "ThreeDSecureScenarioUpdate": {
        "properties": {
          "conditions": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ThreeDSecureScenarioConditions"
              },
              {
                "type": "null"
              }
            ],
            "description": "Conditions for the scenario.",
            "examples": [
              {
                "amount": 100,
                "card_number": "4242424242424242",
                "email_address": "john@example.com",
                "external_identifier": "buyer-12345",
                "first_name": "John",
                "last_name": "Luhn"
              }
            ]
          },
          "outcome": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ThreeDSecureScenarioOutcome"
              },
              {
                "type": "null"
              }
            ],
            "description": "Outcome for the scenario.",
            "examples": [
              {
                "authentication": {
                  "transaction_status": "C"
                },
                "result": {
                  "transaction_status": "Y"
                },
                "version": "2.3.1"
              },
              {
                "authentication": {
                  "transaction_status": "N"
                },
                "version": "2.3.1"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "ThreeDSecureScenarioUpdate"
      },
      "ThreeDSecureScenarios": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ThreeDSecureScenario"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          },
          "limit": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "description": "The number of items for this page.",
            "default": 20,
            "examples": [
              20
            ]
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "The cursor pointing at the next page of items.",
            "examples": [
              "ZXhhbXBsZTE"
            ]
          },
          "previous_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Cursor",
            "description": "The cursor pointing at the previous page of items.",
            "examples": [
              "Xkjss7asS"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "ThreeDSecureScenarios"
      },
      "ThreeDSecureStatus": {
        "type": "string",
        "enum": [
          "setup_error",
          "error",
          "declined",
          "cancelled",
          "complete"
        ],
        "title": "ThreeDSecureStatus",
        "x-speakeasy-unknown-values": "allow"
      },
      "ThreeDSecureV2": {
        "properties": {
          "version": {
            "type": "string",
            "pattern": "^[12](\\.\\d+){0,2}$",
            "title": "Version"
          },
          "authentication_response": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Authentication Response"
          },
          "directory_response": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Directory Response"
          },
          "directory_transaction_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Directory Transaction Id"
          },
          "transaction_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Transaction Reason"
          },
          "cavv": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cavv"
          },
          "eci": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2,
                "minLength": 1,
                "pattern": "^0?\\d$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Eci"
          },
          "cardholder_info": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cardholder Info"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "version"
        ],
        "title": "ThreeDSecureV2"
      },
      "TokenPaymentMethodCreate": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the payment method.",
            "examples": [
              "ef9496d8-53a5-4aad-8ca2-00eb68334389"
            ]
          },
          "method": {
            "type": "string",
            "const": "id",
            "title": "Method",
            "description": "Always `id`.",
            "default": "id",
            "examples": [
              "id"
            ]
          },
          "security_code": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4,
                "minLength": 3,
                "pattern": "^\\d+$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Security Code",
            "description": "The 3 or 4 digit security code often found on the card. This often referred to as the CVV or CVD.",
            "examples": [
              "123"
            ]
          },
          "redirect_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "pattern": "^data:application/json;base64,.*$",
                "examples": [
                  "data:application/json;base64,eyJ0YXJnZXQiOiAib3BlbmVyIiwgImNoYW5uZWwiOiAiY2hhbm5lbCIsICJvcmlnaW5fdXJsIjogImh0dHBzOi8vZ3I0dnkuYXBwIn0="
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Redirect Url",
            "description": "The URL to redirect a user back to after they approve the transaction in the browser.",
            "examples": [
              "https://example.com"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id"
        ],
        "title": "TokenPaymentMethodCreate",
        "description": "Create a transaction with the ID (token) of a stored payment method (and an optional URL for approval)"
      },
      "Transaction": {
        "properties": {
          "type": {
            "type": "string",
            "const": "transaction",
            "title": "Type",
            "description": "Always `transaction`.",
            "default": "transaction",
            "examples": [
              "transaction"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the transaction.",
            "examples": [
              "7099948d-7286-47e4-aad8-b68f7eb44591"
            ]
          },
          "reconciliation_id": {
            "type": "string",
            "title": "Reconciliation Id",
            "description": "The base62 encoded transaction ID. This represents a shorter version of this transaction's `id` which is sent to payment services, anti-fraud services, and other connectors. You can use this ID to reconcile a payment service's transaction against our system. This ID is sent instead of the transaction ID because not all services support 36 digit identifiers.",
            "examples": [
              "default"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "The ID of the merchant account this transaction belongs to.",
            "examples": [
              "default"
            ]
          },
          "currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "title": "Currency",
            "description": "The currency code for this transaction.",
            "examples": [
              "EUR",
              "GBP",
              "USD"
            ]
          },
          "amount": {
            "type": "integer",
            "title": "Amount",
            "description": "The total amount for this transaction across all funding sources including gift cards.",
            "examples": [
              1299
            ]
          },
          "status": {
            "description": "The status of the transaction for the `payment_method`. The status may change over time as asynchronous processing events occur.",
            "examples": [
              "authorization_succeeded"
            ],
            "type": "string",
            "enum": [
              "processing",
              "authorization_succeeded",
              "authorization_declined",
              "authorization_failed",
              "authorization_voided",
              "authorization_void_pending",
              "capture_succeeded",
              "capture_pending",
              "buyer_approval_pending"
            ],
            "title": "TransactionStatus",
            "x-speakeasy-unknown-values": "allow"
          },
          "authorized_amount": {
            "type": "integer",
            "title": "Authorized Amount",
            "description": "The amount for this transaction that has been authorized for the `payment_method`. This can be less than the `amount` if gift cards were used.",
            "examples": [
              1299
            ]
          },
          "captured_amount": {
            "type": "integer",
            "title": "Captured Amount",
            "description": "The total amount captured for this transaction, in the smallest currency unit (for example, cents or pence). This can be the full value of the `authorized_amount` or less.",
            "examples": [
              1299
            ]
          },
          "refunded_amount": {
            "type": "integer",
            "title": "Refunded Amount",
            "description": "The total amount refunded for this transaction, in the smallest currency unit (for example, cents or pence). This can be the full value of the `captured_amount` or less.",
            "examples": [
              1299
            ]
          },
          "settled_currency": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{3}$",
                "examples": [
                  "EUR",
                  "GBP",
                  "USD"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Settled Currency",
            "description": "The ISO 4217 currency code of this transaction's settlement.",
            "examples": [
              "USD"
            ]
          },
          "settled_amount": {
            "type": "integer",
            "title": "Settled Amount",
            "description": "The net amount settled for this transaction, in the smallest currency unit (for example, cents or pence).",
            "examples": [
              1100
            ]
          },
          "settled": {
            "type": "boolean",
            "title": "Settled",
            "description": "Indicates whether this transaction has been settled.",
            "examples": [
              true
            ]
          },
          "country": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "examples": [
                  "DE",
                  "GB",
                  "US"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Country",
            "description": "The 2-letter ISO 3166-1 alpha-2 country code for the transaction. Used to filter payment services for processing.",
            "examples": [
              "US"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "An external identifier that can be used to match the transaction against your own records.",
            "examples": [
              "transaction-12345"
            ]
          },
          "intent": {
            "description": "The original `intent` used when the transaction was created.",
            "examples": [
              "capture"
            ],
            "type": "string",
            "enum": [
              "authorize",
              "capture"
            ],
            "title": "TransactionIntent",
            "x-speakeasy-unknown-values": "allow"
          },
          "payment_method": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TransactionPaymentMethod"
              },
              {
                "type": "null"
              }
            ],
            "description": "The payment method used for this transaction."
          },
          "method": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "abitab",
                  "affirm",
                  "afterpay",
                  "alipay",
                  "alipayhk",
                  "applepay",
                  "arcuspaynetwork",
                  "bacs",
                  "bancontact",
                  "bank",
                  "bcp",
                  "becs",
                  "bitpay",
                  "blik",
                  "ach",
                  "boleto",
                  "boost",
                  "breb",
                  "capitec",
                  "card",
                  "cashapp",
                  "cashappafterpay",
                  "chaseorbital",
                  "clearpay",
                  "click-to-pay",
                  "custom_push",
                  "custom_redirect",
                  "custom_tokenize",
                  "dana",
                  "dcb",
                  "dlocal",
                  "duitnow",
                  "ebanx",
                  "eckoh",
                  "efecty",
                  "eps",
                  "everydaypay",
                  "gcash",
                  "gem",
                  "gemds",
                  "gift-card",
                  "giropay",
                  "givingblock",
                  "gocardless",
                  "googlepay",
                  "googlepay_pan_only",
                  "gopay",
                  "grabpay",
                  "ideal",
                  "interac",
                  "kakaopay",
                  "kcp",
                  "khipu",
                  "klarna",
                  "konbini",
                  "latitude",
                  "latitudeds",
                  "laybuy",
                  "linepay",
                  "linkaja",
                  "maybankqrpay",
                  "mercadopago",
                  "multibanco",
                  "multipago",
                  "nequi",
                  "netbanking",
                  "network-token",
                  "nupay",
                  "oney_10x",
                  "oney_12x",
                  "oney_3x",
                  "oney_4x",
                  "oney_6x",
                  "onlinebankingcz",
                  "onelink",
                  "ovo",
                  "oxxo",
                  "p24",
                  "pagoefectivo",
                  "paybybank",
                  "payid",
                  "paymaya",
                  "paysquad",
                  "paypal",
                  "paypalpaylater",
                  "paypay",
                  "payto",
                  "payvalida",
                  "paze",
                  "picpay",
                  "pix",
                  "plaid",
                  "pse",
                  "rabbitlinepay",
                  "razorpay",
                  "rapipago",
                  "redpagos",
                  "scalapay",
                  "sepa",
                  "servipag",
                  "seveneleven",
                  "sezzle",
                  "shopeepay",
                  "singteldash",
                  "smartpay",
                  "sofort",
                  "spei",
                  "stitch",
                  "swish",
                  "stripe",
                  "stripedd",
                  "stripetoken",
                  "tapi",
                  "tapifintechs",
                  "thaiqr",
                  "touchngo",
                  "truemoney",
                  "trustly",
                  "trustlyeurope",
                  "upi",
                  "venmo",
                  "vipps",
                  "waave",
                  "webpay",
                  "wechat",
                  "wero",
                  "yape",
                  "zippay"
                ],
                "title": "Method",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The method used for the transaction.",
            "examples": [
              "card"
            ]
          },
          "instrument_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "pan",
                  "card_token",
                  "redirect",
                  "redirect_token",
                  "googlepay",
                  "applepay",
                  "network_token",
                  "plaid",
                  "bank"
                ],
                "title": "InstrumentType",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The name of the instrument used to process the transaction.",
            "examples": [
              "pan"
            ]
          },
          "error_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code",
            "description": "The standardized error code set by Gr4vy.",
            "examples": [
              "missing_redirect_url"
            ]
          },
          "payment_service": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TransactionPaymentService"
              },
              {
                "type": "null"
              }
            ],
            "description": "The payment service used for this transaction."
          },
          "pending_review": {
            "type": "boolean",
            "title": "Pending Review",
            "description": "Whether a manual anti fraud review is pending with an anti fraud service.",
            "default": false,
            "examples": [
              false
            ]
          },
          "buyer": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TransactionBuyer"
              },
              {
                "type": "null"
              }
            ],
            "description": "The buyer used for this transaction."
          },
          "raw_response_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Raw Response Code",
            "description": "This is the response code received from the payment service. This can be set to any value and is not standardized across different payment services.",
            "examples": [
              "E104"
            ]
          },
          "raw_response_description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Raw Response Description",
            "description": " This is the response description received from the payment service. This can be set to any value and is not standardized across different payment services.",
            "examples": [
              "Missing redirect URL"
            ]
          },
          "shipping_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ShippingDetails"
              },
              {
                "type": "null"
              }
            ],
            "description": "The shipping details associated with the transaction."
          },
          "checkout_session_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Checkout Session Id",
            "description": "The identifier for the checkout session this transaction is associated with.",
            "examples": [
              "4137b1cf-39ac-42a8-bad6-1c680d5dab6b"
            ]
          },
          "gift_card_redemptions": {
            "items": {
              "$ref": "#/components/schemas/GiftCardRedemption"
            },
            "type": "array",
            "title": "Gift Card Redemptions",
            "description": "The gift cards redeemed for this transaction."
          },
          "gift_card_service": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/GiftCardService"
              },
              {
                "type": "null"
              }
            ],
            "description": "The gift card service used for this transaction."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date and time when the transaction was created, in ISO 8601 format.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date and time when the transaction was last updated, in ISO 8601 format.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "disputed": {
            "type": "boolean",
            "title": "Disputed",
            "description": "Indicates whether this transaction has been disputed.",
            "examples": [
              true
            ]
          },
          "reauthorized_from_transaction_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reauthorized From Transaction Id",
            "description": "The identifier of the transaction from which this transaction was reauthorized.",
            "examples": [
              "4137b1cf-39ac-42a8-bad6-1c680d5dab6b"
            ]
          },
          "airline": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Airline"
              },
              {
                "type": "null"
              }
            ],
            "description": "Contains information about an airline travel, if applicable."
          },
          "auth_response_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Auth Response Code",
            "description": "This is the response description received from the processor.",
            "examples": [
              "00"
            ]
          },
          "avs_response_code": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "match",
                  "no_match",
                  "partial_match_address",
                  "partial_match_postcode",
                  "partial_match_name",
                  "unavailable"
                ],
                "title": "AVSResponseCode",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The response code received from the payment service for the Address Verification Check (AVS). This code is mapped to a standardized Gr4vy AVS response code.",
            "examples": [
              "match"
            ]
          },
          "cvv_response_code": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "match",
                  "no_match",
                  "unavailable",
                  "not_provided"
                ],
                "title": "CVVResponseCode",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The response code received from the payment service for the Card Verification Value (CVV). This code is mapped to a standardized Gr4vy CVV response code.",
            "examples": [
              "match"
            ]
          },
          "anti_fraud_decision": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "accept",
                  "error",
                  "exception",
                  "reject",
                  "review",
                  "skipped",
                  "pending"
                ],
                "title": "AntiFraudDecision",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The mapped decision received from the anti-fraud service. In case of a review decision this field is not updated once the review is resolved.",
            "examples": [
              "accept"
            ]
          },
          "payment_source": {
            "description": "The way payment method information made it to this transaction.",
            "examples": [
              "ecommerce"
            ],
            "type": "string",
            "enum": [
              "ecommerce",
              "moto",
              "recurring",
              "installment",
              "card_on_file"
            ],
            "title": "TransactionPaymentSource",
            "x-speakeasy-unknown-values": "allow"
          },
          "merchant_initiated": {
            "type": "boolean",
            "title": "Merchant Initiated",
            "description": "Indicates whether the transaction was initiated by the merchant or the customer.",
            "examples": [
              true
            ]
          },
          "is_subsequent_payment": {
            "type": "boolean",
            "title": "Is Subsequent Payment",
            "description": "Indicates whether the transaction represents a subsequent payment or an initial one.",
            "examples": [
              false
            ]
          },
          "cart_items": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/CartItem"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cart Items",
            "description": "An array of cart items that represents the line items of a transaction."
          },
          "statement_descriptor": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StatementDescriptor"
              },
              {
                "type": "null"
              }
            ],
            "description": "The statement descriptor is the text to be shown on the buyer's statements."
          },
          "scheme_transaction_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scheme Transaction Id",
            "description": "An identifier for the transaction used by the scheme itself, when available.",
            "examples": [
              "123456789012345"
            ]
          },
          "transaction_link_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Transaction Link Id",
            "description": "A transaction link identifier for the transaction used by the scheme itself, when available.",
            "examples": [
              "123456789012345"
            ]
          },
          "three_d_secure": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TransactionThreeDSecureSummary"
              },
              {
                "type": "null"
              }
            ],
            "description": "The 3-D Secure data that was sent to the payment service for the transaction."
          },
          "payment_service_transaction_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Service Transaction Id",
            "description": "The payment service's unique ID for the transaction.",
            "examples": [
              "tx-12345"
            ]
          },
          "additional_identifiers": {
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "type": "object",
            "title": "Additional Identifiers",
            "description": "A list of additional identifiers that we may keep track of to manage this transaction. This may include the authorization ID, capture ID, and processor ID, as well as an undefined list of additional identifiers.",
            "examples": [
              {
                "payment_service_authorization_id": "auth-12345",
                "payment_service_capture_id": "capture-12345"
              }
            ]
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Metadata",
            "description": "Additional information about the transaction stored as key-value pairs.",
            "examples": [
              {
                "cohort": "cohort-12345",
                "order": "order-12345"
              }
            ]
          },
          "authorized_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Authorized At",
            "description": "The date this transaction was authorized at.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "captured_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Captured At",
            "description": "The date this transaction was captured at.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "voided_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Voided At",
            "description": "The date this transaction was voided at.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "canceled_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Canceled At",
            "description": "The date this transaction was canceled at.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "approval_expires_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Approval Expires At",
            "description": "The date this transaction's approval URL will expire at.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "buyer_approval_timedout_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Approval Timedout At",
            "description": "The date this transaction's approval timed out at.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "intent_outcome": {
            "description": "The outcome of the original intent of a transaction. This allows you to understand if the intent of the transaction (e.g. `capture` or `authorize`) has been achieved when dealing with multiple payment instruments.",
            "examples": [
              "succeeded"
            ],
            "type": "string",
            "enum": [
              "pending",
              "succeeded",
              "failed"
            ],
            "title": "TransactionIntentOutcome",
            "x-speakeasy-unknown-values": "allow"
          },
          "multi_tender": {
            "type": "boolean",
            "title": "Multi Tender",
            "description": "The outcome of the original intent of a transaction. This allows you to understand if the intent of the transaction (e.g. `capture` or `authorize`) has been achieved when dealing with multiple payment instruments.",
            "examples": [
              true
            ]
          },
          "account_funding_transaction": {
            "type": "boolean",
            "title": "Account Funding Transaction",
            "description": "Marks the transaction as an AFT. Requires the payment service to support this feature, and might `recipient` and `buyer` data",
            "examples": [
              true
            ]
          },
          "recipient": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Recipient"
              },
              {
                "type": "null"
              }
            ],
            "description": "The recipient of any account to account funding. For use with AFTs."
          },
          "merchant_advice_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Advice Code",
            "description": "An optional merchant advice code which provides insight into the type of transaction or reason why the payment failed.",
            "examples": [
              "02",
              "21"
            ]
          },
          "installment_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Installment Count",
            "description": "The number of installments for this transaction, if applicable.",
            "examples": [
              3
            ]
          },
          "session_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Token",
            "description": "A session token that can be used to fetch session data for direct client integrations.",
            "examples": [
              "j3CZf9Eg6nUygMAVA6PXsVWGHiccj"
            ]
          },
          "tax_amount": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Tax Amount",
            "description": "The sales tax amount for this transaction, represented as a monetary amount in the smallest currency unit for the given currency, for example `1299` cents to create an authorization for `$12.99`",
            "examples": [
              1299
            ]
          },
          "merchant_tax_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Tax Id",
            "description": "Merchant tax ID (for example, EIN or VAT number)."
          },
          "purchase_order_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Purchase Order Number",
            "description": "Invoice number or Purchase Order number."
          },
          "customer_reference_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Customer Reference Number",
            "description": "Customer code or reference."
          },
          "amount_includes_tax": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount Includes Tax",
            "description": "Whether the tax is included in the amount.",
            "examples": [
              false
            ]
          },
          "supplier_order_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Supplier Order Number",
            "description": "The merchant's unique identifier for the sales order or invoice."
          },
          "duty_amount": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Duty Amount",
            "description": "Total charges for import/export duties.",
            "examples": [
              1299
            ]
          },
          "shipping_amount": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Shipping Amount",
            "description": "Total shipping amount.",
            "examples": [
              1299
            ]
          },
          "iso_response_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iso Response Code",
            "description": "This is the ISO8583 response code code received from the payment service.",
            "examples": [
              "0110"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "reconciliation_id",
          "merchant_account_id",
          "currency",
          "amount",
          "status",
          "authorized_amount",
          "captured_amount",
          "refunded_amount",
          "settled_amount",
          "settled",
          "intent",
          "gift_card_redemptions",
          "created_at",
          "updated_at",
          "disputed",
          "payment_source",
          "merchant_initiated",
          "is_subsequent_payment",
          "intent_outcome",
          "multi_tender",
          "account_funding_transaction"
        ],
        "title": "Transaction",
        "description": "A full transaction resource."
      },
      "TransactionAction": {
        "properties": {
          "type": {
            "type": "string",
            "const": "action",
            "title": "Type",
            "description": "Always `action`.",
            "default": "action",
            "examples": [
              "action"
            ]
          },
          "id": {
            "description": "The action that was triggered.",
            "examples": [
              "route-transaction"
            ],
            "type": "string",
            "enum": [
              "select-payment-options",
              "route-transaction",
              "decline-early",
              "skip-3ds"
            ],
            "title": "FlowAction",
            "x-speakeasy-unknown-values": "allow"
          },
          "flow": {
            "description": "The flow that the action belongs to.",
            "examples": [
              "card-transaction"
            ],
            "type": "string",
            "enum": [
              "checkout",
              "card-transaction",
              "non-card-transaction",
              "redirect-transaction"
            ],
            "title": "Flow",
            "x-speakeasy-unknown-values": "allow"
          },
          "rule_id": {
            "type": "string",
            "format": "uuid",
            "title": "Rule Id",
            "description": "The ID of the rule that triggered this action.",
            "examples": [
              "f133a3b7-e67e-4d83-bcd3-3e438fedf348"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date this action was created at.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "outcome": {
            "additionalProperties": true,
            "type": "object",
            "title": "Outcome",
            "description": "The outcome of the action.",
            "examples": [
              {
                "result": [
                  {
                    "instrument": "pan",
                    "payment_service_id": "ce26a7d7-fec0-4d47-8efa-044a32b09bc6",
                    "transformations": []
                  }
                ],
                "type": "card-routing",
                "version": 2
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "flow",
          "rule_id",
          "created_at",
          "outcome"
        ],
        "title": "TransactionAction"
      },
      "TransactionActions": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/TransactionAction"
            },
            "type": "array",
            "title": "Items",
            "description": "The list of actions triggered for a transaction."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "TransactionActions"
      },
      "TransactionAuthorizationIncrement": {
        "properties": {
          "type": {
            "type": "string",
            "const": "transaction-authorization-increment",
            "title": "Type",
            "description": "Always `transaction-authorization-increment`.",
            "default": "transaction-authorization-increment",
            "examples": [
              "transaction-authorization-increment"
            ]
          },
          "status": {
            "description": "The status of the incremental authorization.",
            "examples": [
              "succeeded"
            ],
            "type": "string",
            "enum": [
              "succeeded",
              "failed"
            ],
            "title": "IncrementalAuthorizationStatus",
            "x-speakeasy-unknown-values": "allow"
          },
          "code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Code",
            "description": "The standardized error code set by Gr4vy.",
            "examples": [
              "service_error"
            ]
          },
          "raw_response_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Raw Response Code",
            "description": "This is the response code received from the payment service. This can be set to any value and is not standardized across different payment services.",
            "examples": [
              "E104"
            ]
          },
          "raw_response_description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Raw Response Description",
            "description": "This is the response description received from the payment service. This can be set to any value and is not standardized across different payment services.",
            "examples": [
              "Internal error"
            ]
          },
          "transaction": {
            "$ref": "#/components/schemas/Transaction",
            "description": "The transaction associated to this incremental authorization."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "status",
          "code",
          "raw_response_code",
          "raw_response_description",
          "transaction"
        ],
        "title": "TransactionAuthorizationIncrement"
      },
      "TransactionAuthorizationIncrementCreate": {
        "properties": {
          "amount": {
            "type": "integer",
            "maximum": 99999999,
            "minimum": 0,
            "title": "Amount",
            "description": "The amount by which to increment the authorization, in the smallest currency unit of the transaction's currency. For example, `1299` cents to increment the authorization by `$12.99`.",
            "examples": [
              1299
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "amount"
        ],
        "title": "TransactionAuthorizationIncrementCreate"
      },
      "TransactionBuyer": {
        "properties": {
          "type": {
            "type": "string",
            "const": "buyer",
            "title": "Type",
            "description": "Always `buyer`.",
            "default": "buyer",
            "examples": [
              "buyer"
            ]
          },
          "id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id",
            "description": "The ID for the buyer.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "reconciliation_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reconciliation Id",
            "description": "The base62 encoded buyer ID. This represents a shorter version of this buyer's `id` which is sent to payment services, anti-fraud services, and other connectors. You can use this ID to reconcile a payment service's buyer against our system.",
            "examples": [
              "7jZXl4gBUNl0CnaLEnfXbt"
            ]
          },
          "display_name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name",
            "description": "The display name for the buyer.",
            "examples": [
              "John Doe"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The merchant identifier for this buyer.",
            "examples": [
              "buyer-12345"
            ]
          },
          "billing_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BillingDetails"
              },
              {
                "type": "null"
              }
            ],
            "description": "The billing name, address, email, and other fields for this buyer."
          },
          "account_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Account Number",
            "description": "The buyer account number."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "TransactionBuyer"
      },
      "TransactionCancel": {
        "properties": {
          "type": {
            "type": "string",
            "const": "transaction-cancel",
            "title": "Type",
            "description": "Always `transaction-cancel`.",
            "default": "transaction-cancel",
            "examples": [
              "transaction-cancel"
            ]
          },
          "status": {
            "description": "The status of the cancel call.",
            "examples": [
              "succeeded"
            ],
            "type": "string",
            "enum": [
              "succeeded",
              "pending",
              "failed"
            ],
            "title": "CancelStatus",
            "x-speakeasy-unknown-values": "allow"
          },
          "code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Code",
            "description": "The standardized error code set by Gr4vy.",
            "examples": [
              "service_error"
            ]
          },
          "raw_response_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Raw Response Code",
            "description": "This is the response code received from the payment service. This can be set to any value and is not standardized across different payment services.",
            "examples": [
              "E104"
            ]
          },
          "raw_response_description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Raw Response Description",
            "description": "This is the response description received from the payment service. This can be set to any value and is not standardized across different payment services.",
            "examples": [
              "Internal error"
            ]
          },
          "transaction": {
            "$ref": "#/components/schemas/Transaction",
            "description": "The transaction associated to this cancel."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "status",
          "code",
          "raw_response_code",
          "raw_response_description",
          "transaction"
        ],
        "title": "TransactionCancel"
      },
      "TransactionCapture": {
        "properties": {
          "type": {
            "type": "string",
            "const": "transaction-capture",
            "title": "Type",
            "description": "Always `transaction-capture`.",
            "default": "transaction-capture",
            "examples": [
              "transaction-capture"
            ]
          },
          "status": {
            "description": "The status of the capture call.",
            "examples": [
              "succeeded"
            ],
            "type": "string",
            "enum": [
              "succeeded",
              "pending",
              "declined",
              "failed"
            ],
            "title": "CaptureStatus",
            "x-speakeasy-unknown-values": "allow"
          },
          "code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Code",
            "description": "The standardized error code set by Gr4vy.",
            "examples": [
              "service_error"
            ]
          },
          "raw_response_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Raw Response Code",
            "description": "This is the response code received from the payment service. This can be set to any value and is not standardized across different payment services.",
            "examples": [
              "E104"
            ]
          },
          "raw_response_description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Raw Response Description",
            "description": "This is the response description received from the payment service. This can be set to any value and is not standardized across different payment services.",
            "examples": [
              "Internal error"
            ]
          },
          "transaction": {
            "$ref": "#/components/schemas/Transaction",
            "description": "The transaction associated to this capture."
          },
          "capture_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Capture Id",
            "description": "The ID of the capture resource created for this capture.",
            "examples": [
              "77a76f7e-d2de-4bbc-ada9-d6a0015e6bd5"
            ]
          },
          "payment_service_capture_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Service Capture Id",
            "description": "The payment service's unique ID for the capture.",
            "examples": [
              "capture-12345"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "The external identifier for the capture.",
            "examples": [
              "capture-12345"
            ]
          },
          "billing_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BillingDetails"
              },
              {
                "type": "null"
              }
            ],
            "description": "The billing details associated with the capture."
          },
          "shipping_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ShippingDetails"
              },
              {
                "type": "null"
              }
            ],
            "description": "The shipping details associated with the catpure."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "status",
          "code",
          "raw_response_code",
          "raw_response_description",
          "transaction"
        ],
        "title": "TransactionCapture"
      },
      "TransactionCaptureCreate": {
        "properties": {
          "amount": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount",
            "description": "The amount to capture, in the smallest currency unit (e.g., cents). This must be less than or equal to the authorized amount, unless over-capture is available.",
            "examples": [
              1299
            ]
          },
          "airline": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Airline"
              },
              {
                "type": "null"
              }
            ],
            "description": "The airline data to submit to the payment service during the capture call."
          },
          "cart_items": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/CartItem"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cart Items",
            "description": "An array of cart items that represents the line items of this capture."
          },
          "final": {
            "type": "boolean",
            "title": "Final",
            "description": "Whether this is marked as the final capture for the associated transaction. Must be `true` or omitted when multi-capture is not enabled; a value of `false` is only valid when multi-capture is available on the connection.",
            "default": true,
            "examples": [
              true
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "An external identifier that can be used to match the capture against your own records.",
            "examples": [
              "capture-12345"
            ]
          },
          "reauthorize_if_authorization_expired": {
            "type": "boolean",
            "title": "Reauthorize If Authorization Expired",
            "description": "Whether this capture request should re-authorize the transaction if it has expired.",
            "default": false,
            "examples": [
              true,
              false
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "TransactionCaptureCreate",
        "description": "Request body for capturing an authorized transaction."
      },
      "TransactionCreate": {
        "properties": {
          "amount": {
            "type": "integer",
            "maximum": 99999999,
            "minimum": 0,
            "title": "Amount",
            "description": "The monetary amount for this transaction, in the smallest currency unit for the given currency, for example `1299` cents to create an authorization for `$12.99`. If the `intent` is set to `capture`, an amount greater than zero must be supplied. All gift card amounts are subtracted from this amount before the remainder is charged to the provided `payment_method`.",
            "examples": [
              1299
            ]
          },
          "currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "title": "Currency",
            "description": "A supported ISO 4217 currency code. For redirect requests, this value must match the one specified for `currency` in `payment_method`.",
            "examples": [
              "EUR",
              "GBP",
              "USD"
            ]
          },
          "country": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "examples": [
                  "DE",
                  "GB",
                  "US"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Country",
            "description": "The 2-letter ISO code of the country where the transaction is processed. This is also used to filter the payment services that can process the transaction. If this value is provided for redirect requests and it's not `null`, it must match the one specified for `country` in `payment_method`. Otherwise, the value specified for `country` in `payment_method` will be assumed implicitly.",
            "examples": [
              "US"
            ]
          },
          "payment_method": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CardWithUrlPaymentMethodCreate"
              },
              {
                "$ref": "#/components/schemas/RedirectPaymentMethodCreate"
              },
              {
                "$ref": "#/components/schemas/TokenPaymentMethodCreate"
              },
              {
                "$ref": "#/components/schemas/ApplePayPaymentMethodCreate"
              },
              {
                "$ref": "#/components/schemas/ClickToPayPaymentMethodCreate"
              },
              {
                "$ref": "#/components/schemas/ClickToPayFPANPaymentMethodCreate"
              },
              {
                "$ref": "#/components/schemas/GooglePayPaymentMethodCreate"
              },
              {
                "$ref": "#/components/schemas/GooglePayFPANPaymentMethodCreate"
              },
              {
                "$ref": "#/components/schemas/PazePaymentMethodCreate"
              },
              {
                "$ref": "#/components/schemas/NetworkTokenPaymentMethodCreate"
              },
              {
                "$ref": "#/components/schemas/PlaidPaymentMethodCreate"
              },
              {
                "$ref": "#/components/schemas/BaseBankPaymentMethodCreate"
              },
              {
                "$ref": "#/components/schemas/CheckoutSessionWithUrlPaymentMethodCreate"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Method",
            "description": "The optional payment method to use for this transaction. This field is required if no `gift_cards` have been added."
          },
          "buyer": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/GuestBuyer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Guest buyer details provided inline rather than creating a buyer resource beforehand and using the `buyer_id` or `buyer_external_identifier` keys. No buyer resource will be created on Gr4vy when used."
          },
          "buyer_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer Id",
            "description": "The ID of the buyer to associate this payment method to. If this field is provided then the `buyer_external_identifier` field needs to be unset. If a stored payment method or gift card is provided, then the buyer for that payment method needs to match the buyer for this field.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "buyer_external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Buyer External Identifier",
            "description": "The `external_identifier` of the buyer to associate this payment method to. If this field is provided then the `buyer_id` field needs to be unset. If a stored payment method or gift card is provided, then the buyer for that payment method needs to match the buyer for this field.",
            "examples": [
              "buyer-12345"
            ]
          },
          "gift_cards": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/GiftCardTransactionCreate"
                    },
                    {
                      "$ref": "#/components/schemas/GiftCardTokenTransactionCreate"
                    }
                  ]
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gift Cards",
            "description": "The optional gift card(s) to use for this transaction. At least one gift card is required if no other `payment_method` has been added. By default, only a maximum limit of 10 gift cards may be used in a single transaction. Please contact our team to change this limit."
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "An external identifier that can be used to match the transaction against your own records.",
            "examples": [
              "transaction-12345"
            ]
          },
          "intent": {
            "description": "Defines the intent of this API call. This determines the desired initial state of the transaction.\n\n* `authorize` - (Default) Optionally approves and then authorizes a transaction but does not capture the funds.\n* `capture` - Optionally approves and then authorizes and captures the funds of the transaction.",
            "default": "authorize",
            "examples": [
              "authorize"
            ],
            "type": "string",
            "enum": [
              "authorize",
              "capture"
            ],
            "title": "TransactionIntent",
            "x-speakeasy-unknown-values": "allow"
          },
          "store": {
            "type": "boolean",
            "title": "Store",
            "description": " Whether or not to also try and store the payment method with us so that it can be used again for future use. This is only supported for payment methods that support this feature. There are also a few restrictions on how the flag may be set:\n\n* The flag has to be set to `true` when the `payment_source` is set to `recurring` or `installment`, and `merchant_initiated` is set to `false`.\n* The flag has to be set to `false` (or not set) when using a previously vaulted payment method.",
            "default": false,
            "examples": [
              true
            ]
          },
          "three_d_secure_data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ThreeDSecureDataV1"
              },
              {
                "$ref": "#/components/schemas/ThreeDSecureDataV2"
              },
              {
                "type": "null"
              }
            ],
            "title": "Three D Secure Data",
            "description": "Pass through 3-D Secure data to support external 3-D Secure authorisation. If using an external 3-D Secure provider, you should not pass a `redirect_url` in the `payment_method` object for a transaction."
          },
          "three_d_secure": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ThreeDSecure"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional 3-D Secure values to use during the authentication flow."
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Metadata",
            "description": "Any additional information about the transaction that you would like to store as key-value pairs. This data is passed to payment service providers that support it.",
            "examples": [
              {
                "cohort": "cohort-12345",
                "order": "order-12345"
              }
            ]
          },
          "is_subsequent_payment": {
            "type": "boolean",
            "title": "Is Subsequent Payment",
            "description": "Indicates whether the transaction represents a subsequent payment coming from a setup recurring payment. Please note there are some restrictions on how this flag may be used.\n\nThe flag can only be `false` (or not set) when the transaction meets one of the following criteria:\n\n* It is not `merchant_initiated`.\n* `payment_source` is set to `card_on_file`.\n\nThe flag can only be set to `true` when the transaction meets one of the following criteria:\n* It is not `merchant_initiated`.\n* `payment_source` is set to `recurring` or `installment` and `merchant_initiated` is set to `true`.\n* `payment_source` is set to `card_on_file`.",
            "default": false,
            "examples": [
              true
            ]
          },
          "merchant_initiated": {
            "type": "boolean",
            "title": "Merchant Initiated",
            "description": "Indicates whether the transaction was initiated by the merchant (true) or customer (false).",
            "default": false,
            "examples": [
              true
            ]
          },
          "payment_source": {
            "description": "The way payment method information made it to this transaction.",
            "default": "ecommerce",
            "examples": [
              "ecommerce"
            ],
            "type": "string",
            "enum": [
              "ecommerce",
              "moto",
              "recurring",
              "installment",
              "card_on_file"
            ],
            "title": "TransactionPaymentSource",
            "x-speakeasy-unknown-values": "allow"
          },
          "airline": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Airline"
              },
              {
                "type": "null"
              }
            ],
            "description": "The airline addendum data which describes the airline booking associated with this transaction."
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description",
            "description": "An optional description for the transaction. Forwarded to the payment processor where supported. Unlike `statement_descriptor`, this field has no character limit and does not appear on the buyer's bank statement.",
            "examples": [
              "subscription-abc-123"
            ]
          },
          "cart_items": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/CartItem"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cart Items",
            "description": "An array of cart items that represents the line items of a transaction."
          },
          "statement_descriptor": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StatementDescriptor"
              },
              {
                "type": "null"
              }
            ],
            "description": "Details about the payment and the merchant which may end up on the (bank) statement for the payment."
          },
          "previous_scheme_transaction_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Scheme Transaction Id",
            "description": "A scheme's transaction identifier to use in connecting a merchant initiated transaction to a previous customer initiated transaction. If not provided, and a qualifying customer initiated transaction has been previously made with the stored payment method, then Gr4vy will populate this value with the identifier returned for that transaction. This field is also know as the Visa Transaction Identifier, or Mastercard Trace ID.",
            "examples": [
              "123456789012345"
            ]
          },
          "previous_transaction_link_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Transaction Link Id",
            "description": "A scheme's transaction link identifier to use in connecting a merchant initiated transaction to a previous customer initiated transaction. If not provided, and a qualifying customer initiated transaction has been previously made with the stored payment method, then Gr4vy will populate this value with the identifier returned for that transaction. This field is also know as the Mastercard Transaction Link ID (TLID).",
            "examples": [
              "123456789012345"
            ]
          },
          "browser_info": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BrowserInfo"
              },
              {
                "type": "null"
              }
            ],
            "description": "Information about the browser used by the buyer. This can be used by anti-fraud services."
          },
          "shipping_details_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Shipping Details Id",
            "description": "The unique identifier of a set of shipping details stored for the buyer. If provided, the created transaction will include a copy of the details at the point of transaction creation; i.e. it will not be affected by later changes to the detail in the database.",
            "examples": [
              "bf8c36ad-02d9-4904-b0f9-a230b149e341"
            ]
          },
          "connection_options": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TransactionConnectionOptions"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Options",
            "description": "Allows for passing optional configuration per connection to take advantage of connection specific features. When provided, the data is only passed to the target connection type to prevent sharing configuration across connections. Please note that each of the keys this object are in kebab-case, for example `cybersource-anti-fraud` as they represent the ID of the connector. All the other keys will be snake case, for example `merchant_defined_data` or camel case to match an external API that the connector uses."
          },
          "anti_fraud_fingerprint": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Anti Fraud Fingerprint",
            "description": "This field represents the fingerprint data to be passed to the active anti-fraud service.",
            "examples": [
              "yGeBAFYgFmM="
            ]
          },
          "payment_service_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Service Id",
            "description": "The unique identifier of an existing payment service. When provided, the created transaction will be processed by the given payment service and any routing rules will be skipped.",
            "examples": [
              "fffd152a-9532-4087-9a4f-de58754210f0"
            ]
          },
          "account_funding_transaction": {
            "type": "boolean",
            "title": "Account Funding Transaction",
            "description": "Marks the transaction as an AFT. Requires the payment service to support this feature, and might `recipient` and `buyer` data",
            "default": false,
            "examples": [
              true
            ]
          },
          "allow_partial_authorization": {
            "type": "boolean",
            "title": "Allow Partial Authorization",
            "description": "Defines if the transaction will allow for a partial authorization.",
            "default": false
          },
          "recipient": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Recipient"
              },
              {
                "type": "null"
              }
            ],
            "description": "The recipient of any account to account funding. For use with AFTs."
          },
          "installment_count": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 100,
                "minimum": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Installment Count",
            "description": "The number of installments a buyer is required to make."
          },
          "tax_amount": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Tax Amount",
            "description": "The sales tax amount for this transaction, represented as a monetary amount in the smallest currency unit for the given currency, for example `1299` cents to create an authorization for `$12.99`",
            "examples": [
              1299
            ]
          },
          "merchant_tax_id": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Tax Id",
            "description": "Merchant tax ID (for example, EIN or VAT number)."
          },
          "purchase_order_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Purchase Order Number",
            "description": "Invoice number or Purchase Order number."
          },
          "customer_reference_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Customer Reference Number",
            "description": "Customer code or reference."
          },
          "amount_includes_tax": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount Includes Tax",
            "description": "Whether the tax is included in the amount.",
            "examples": [
              false
            ]
          },
          "supplier_order_number": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Supplier Order Number",
            "description": "The merchant's unique identifier for the sales order or invoice."
          },
          "duty_amount": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Duty Amount",
            "description": "Total charges for import/export duties.",
            "examples": [
              1299
            ]
          },
          "shipping_amount": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Shipping Amount",
            "description": "Total shipping amount.",
            "examples": [
              1299
            ]
          },
          "integration_client": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "redirect",
                  "web",
                  "android",
                  "ios"
                ],
                "title": "IntegrationClient",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "Defines the client where the session for this transaction is going to be used. Please refer to the connections documentation for more guidance.",
            "examples": [
              "web"
            ]
          },
          "approval_expires_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Approval Expires At",
            "description": "The date and time when the buyer's approval window for this transaction expires. If not provided, this is automatically computed from the connector's default expiration time. The value cannot exceed the connector's maximum approval window.",
            "examples": [
              "2026-04-01T12:00:00+00:00"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "amount",
          "currency"
        ],
        "title": "TransactionCreate"
      },
      "TransactionEvent": {
        "properties": {
          "type": {
            "type": "string",
            "const": "transaction-event",
            "title": "Type",
            "description": "Always `transaction-event`.",
            "default": "transaction-event",
            "examples": [
              "transaction-event"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the event.",
            "examples": [
              "f133a3b7-e67e-4d83-bcd3-3e438fedf348"
            ]
          },
          "name": {
            "type": "string",
            "enum": [
              "transaction-updated-status",
              "transaction-sync-event",
              "transaction-sync-failed-event",
              "transaction-modified-event",
              "transaction-api-request",
              "transaction-api-response",
              "bin-lookup-request",
              "three-d-secure-success",
              "three-d-secure-request-error",
              "three-d-secure-preparation-request",
              "three-d-secure-authentication-request",
              "three-d-secure-result-request",
              "anti-fraud-decision",
              "anti-fraud-decision-error",
              "anti-fraud-decision-skipped",
              "anti-fraud-webhook",
              "anti-fraud-transaction-status-update",
              "anti-fraud-transaction-status-update-error",
              "anti-fraud-decision-update",
              "anti-fraud-decision-update-error",
              "gift-card-redemption-succeeded",
              "gift-card-redemption-failed",
              "gift-card-refund-succeeded",
              "gift-card-refund-failed",
              "gift-card-reversal-succeeded",
              "reauthorization-attempted",
              "reauthorization-created",
              "payment-connector-response-transaction-authorization-succeeded",
              "payment-connector-response-transaction-capture-succeeded",
              "payment-connector-response-transaction-authorization-failed",
              "payment-connector-response-transaction-declined",
              "payment-connector-response-transaction-capture-failed",
              "payment-connector-response-transaction-capture-declined",
              "payment-connector-response-transaction-cancel-succeeded",
              "payment-connector-response-transaction-cancel-pending",
              "payment-connector-response-transaction-cancel-failed",
              "payment-connector-response-transaction-void-succeeded",
              "payment-connector-response-transaction-authorization-increment-succeeded",
              "payment-connector-response-transaction-authorization-increment-failed",
              "payment-connector-response-transaction-void-declined",
              "payment-connector-response-transaction-void-failed",
              "payment-connector-external-transaction-request",
              "payment-connector-report-transaction-settled",
              "payment-connector-report-refund-settled",
              "payment-connector-report-chargeback-posted",
              "payment-connector-report-chargeback-reversal-posted",
              "payment-connector-transaction-webhook-processed",
              "digital-wallet-apple-pay-token-decrypted",
              "digital-wallet-google-pay-token-decrypted",
              "digital-wallet-click-to-pay-token-decrypted",
              "digital-wallet-paze-token-decrypted",
              "network-token-provision-succeeded",
              "network-token-provision-failed",
              "network-token-cryptogram-provision-succeeded",
              "network-token-cryptogram-provision-failed",
              "the-giving-block-transaction-conversion-succeeded",
              "real-time-account-update",
              "plaid-request-event"
            ],
            "title": "Name",
            "description": "The specific event name.",
            "examples": [
              "transaction-api-request"
            ],
            "x-speakeasy-unknown-values": "allow"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date this event was created at.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "context": {
            "$ref": "#/components/schemas/TransactionEventContext",
            "description": "An untyped dictionary with all the additional context for this event."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "name",
          "created_at",
          "context"
        ],
        "title": "TransactionEvent"
      },
      "TransactionEventContext": {
        "properties": {},
        "additionalProperties": true,
        "type": "object",
        "title": "TransactionEventContext"
      },
      "TransactionEvents": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/TransactionEvent"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          },
          "limit": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "description": "The number of items for this page.",
            "default": 20,
            "examples": [
              20
            ]
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "The cursor pointing at the next page of items.",
            "examples": [
              "ZXhhbXBsZTE"
            ]
          },
          "previous_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Cursor",
            "description": "The cursor pointing at the previous page of items.",
            "examples": [
              "Xkjss7asS"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "TransactionEvents"
      },
      "TransactionGiftCard": {
        "properties": {
          "type": {
            "type": "string",
            "const": "gift-card",
            "title": "Type",
            "description": "Always `gift-card`.",
            "default": "gift-card",
            "examples": [
              "gift-card"
            ]
          },
          "id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id",
            "description": "The ID for the gift card.",
            "examples": [
              "356d56e5-fe16-42ae-97ee-8d55d846ae2e"
            ]
          },
          "bin": {
            "type": "string",
            "title": "Bin",
            "description": "The first 6 digits of the full gift card number.",
            "examples": [
              "412345"
            ]
          },
          "sub_bin": {
            "type": "string",
            "title": "Sub Bin",
            "description": "The 3 digits after the `bin` of the full gift card number.",
            "examples": [
              "554"
            ]
          },
          "last4": {
            "type": "string",
            "title": "Last4",
            "description": "The last 4 digits for the gift card.",
            "examples": [
              "1234"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "bin",
          "sub_bin",
          "last4"
        ],
        "title": "TransactionGiftCard"
      },
      "TransactionIntent": {
        "type": "string",
        "enum": [
          "authorize",
          "capture"
        ],
        "title": "TransactionIntent",
        "x-speakeasy-unknown-values": "allow"
      },
      "TransactionIntentOutcome": {
        "type": "string",
        "enum": [
          "pending",
          "succeeded",
          "failed"
        ],
        "title": "TransactionIntentOutcome",
        "x-speakeasy-unknown-values": "allow"
      },
      "TransactionPaymentMethod": {
        "properties": {
          "type": {
            "type": "string",
            "const": "payment-method",
            "title": "Type",
            "description": "Always `payment-method`.",
            "default": "payment-method",
            "examples": [
              "payment-method"
            ]
          },
          "approval_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Approval Url",
            "description": "The optional URL that the buyer needs to be redirected to to further authorize their payment.",
            "examples": [
              "https://gr4vy.app/redirect/12345"
            ]
          },
          "country": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "examples": [
                  "DE",
                  "GB",
                  "US"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Country",
            "description": "The 2-letter ISO code of the country this payment method can be used for. If this value is null the payment method may be used in multiple countries.",
            "examples": [
              "US"
            ]
          },
          "currency": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{3}$",
                "examples": [
                  "EUR",
                  "GBP",
                  "USD"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Currency",
            "description": "The ISO-4217 currency code that this payment method can be used for. If this value is null the payment method may be used for multiple currencies.",
            "examples": [
              "USD"
            ]
          },
          "details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PaymentMethodDetailsCard"
              },
              {
                "type": "null"
              }
            ],
            "description": "Details for credit or debit card payment method."
          },
          "expiration_date": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 5,
                "minLength": 5,
                "pattern": "^\\d{2}/\\d{2}$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expiration Date",
            "description": "The expiration date for the payment method.",
            "examples": [
              "12/30"
            ]
          },
          "fingerprint": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fingerprint",
            "description": "The unique hash derived from the payment method identifier (e.g. card number).",
            "examples": [
              "20eb353620155d2b5fc864cc46a73ea77cb92c725238650839da1813fa987a17"
            ]
          },
          "label": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 320,
                "minLength": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Label",
            "description": "A label for the card or the account. For a paypal payment method this is the user's email address. For a card it is the last 4 digits of the card.",
            "examples": [
              "1234"
            ]
          },
          "last_replaced_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Replaced At",
            "description": "The date and time when this card was last replaced by the account updater.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "method": {
            "description": "The type of this payment method.",
            "examples": [
              "card"
            ],
            "type": "string",
            "enum": [
              "abitab",
              "affirm",
              "afterpay",
              "alipay",
              "alipayhk",
              "applepay",
              "arcuspaynetwork",
              "bacs",
              "bancontact",
              "bank",
              "bcp",
              "becs",
              "bitpay",
              "blik",
              "ach",
              "boleto",
              "boost",
              "breb",
              "capitec",
              "card",
              "cashapp",
              "cashappafterpay",
              "chaseorbital",
              "clearpay",
              "click-to-pay",
              "custom_push",
              "custom_redirect",
              "custom_tokenize",
              "dana",
              "dcb",
              "dlocal",
              "duitnow",
              "ebanx",
              "eckoh",
              "efecty",
              "eps",
              "everydaypay",
              "gcash",
              "gem",
              "gemds",
              "gift-card",
              "giropay",
              "givingblock",
              "gocardless",
              "googlepay",
              "googlepay_pan_only",
              "gopay",
              "grabpay",
              "ideal",
              "interac",
              "kakaopay",
              "kcp",
              "khipu",
              "klarna",
              "konbini",
              "latitude",
              "latitudeds",
              "laybuy",
              "linepay",
              "linkaja",
              "maybankqrpay",
              "mercadopago",
              "multibanco",
              "multipago",
              "nequi",
              "netbanking",
              "network-token",
              "nupay",
              "oney_10x",
              "oney_12x",
              "oney_3x",
              "oney_4x",
              "oney_6x",
              "onlinebankingcz",
              "onelink",
              "ovo",
              "oxxo",
              "p24",
              "pagoefectivo",
              "paybybank",
              "payid",
              "paymaya",
              "paysquad",
              "paypal",
              "paypalpaylater",
              "paypay",
              "payto",
              "payvalida",
              "paze",
              "picpay",
              "pix",
              "plaid",
              "pse",
              "rabbitlinepay",
              "razorpay",
              "rapipago",
              "redpagos",
              "scalapay",
              "sepa",
              "servipag",
              "seveneleven",
              "sezzle",
              "shopeepay",
              "singteldash",
              "smartpay",
              "sofort",
              "spei",
              "stitch",
              "swish",
              "stripe",
              "stripedd",
              "stripetoken",
              "tapi",
              "tapifintechs",
              "thaiqr",
              "touchngo",
              "truemoney",
              "trustly",
              "trustlyeurope",
              "upi",
              "venmo",
              "vipps",
              "waave",
              "webpay",
              "wechat",
              "wero",
              "yape",
              "zippay"
            ],
            "title": "Method",
            "x-speakeasy-unknown-values": "allow"
          },
          "mode": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "card",
                  "redirect",
                  "applepay",
                  "googlepay",
                  "checkout-session",
                  "click-to-pay",
                  "gift-card",
                  "bank",
                  "paze"
                ],
                "title": "Mode",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The mode to use with this payment method.",
            "examples": [
              "card"
            ]
          },
          "scheme": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "accel",
                  "amex",
                  "bancontact",
                  "carte-bancaire",
                  "cirrus",
                  "culiance",
                  "dankort",
                  "diners-club",
                  "discover",
                  "eftpos-australia",
                  "elo",
                  "hipercard",
                  "jcb",
                  "maestro",
                  "mastercard",
                  "mir",
                  "nyce",
                  "other",
                  "pulse",
                  "qcard",
                  "rupay",
                  "star",
                  "uatp",
                  "unionpay",
                  "visa"
                ],
                "title": "CardScheme",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The scheme of the card. Only applies to card payments.",
            "examples": [
              "visa"
            ]
          },
          "id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id",
            "description": "The ID of the payment method.",
            "examples": [
              "852b951c-d7ea-4c98-b09e-4a1c9e97c077"
            ]
          },
          "approval_target": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "new_window",
                  "any"
                ],
                "title": "ApprovalTarget",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The browser target that an approval URL must be opened in. If any or null, then there is no specific requirement.",
            "examples": [
              "any"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "An external identifier that can be used to match the payment method against your own records.",
            "examples": [
              "card-12345"
            ]
          },
          "payment_account_reference": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Account Reference",
            "description": "The payment account reference (PAR) returned by the card scheme. This is a unique reference to the underlying account that has been used to fund this payment method.",
            "examples": [
              "V0010014629724763377327521982"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "method"
        ],
        "title": "TransactionPaymentMethod"
      },
      "TransactionPaymentService": {
        "properties": {
          "type": {
            "type": "string",
            "const": "payment-service",
            "title": "Type",
            "description": "Always `payment-service`.",
            "default": "payment-service",
            "examples": [
              "payment-service"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the payment-service.",
            "examples": [
              "824ff064-7f4b-430b-9801-59aff90d013e"
            ]
          },
          "payment_service_definition_id": {
            "type": "string",
            "maxLength": 50,
            "minLength": 1,
            "title": "Payment Service Definition Id",
            "description": "The definition ID of the service used to process this payment.",
            "examples": [
              "stripe-card"
            ]
          },
          "method": {
            "description": "The payment method that this service handles.",
            "examples": [
              "card"
            ],
            "type": "string",
            "enum": [
              "abitab",
              "affirm",
              "afterpay",
              "alipay",
              "alipayhk",
              "applepay",
              "arcuspaynetwork",
              "bacs",
              "bancontact",
              "bank",
              "bcp",
              "becs",
              "bitpay",
              "blik",
              "ach",
              "boleto",
              "boost",
              "breb",
              "capitec",
              "card",
              "cashapp",
              "cashappafterpay",
              "chaseorbital",
              "clearpay",
              "click-to-pay",
              "custom_push",
              "custom_redirect",
              "custom_tokenize",
              "dana",
              "dcb",
              "dlocal",
              "duitnow",
              "ebanx",
              "eckoh",
              "efecty",
              "eps",
              "everydaypay",
              "gcash",
              "gem",
              "gemds",
              "gift-card",
              "giropay",
              "givingblock",
              "gocardless",
              "googlepay",
              "googlepay_pan_only",
              "gopay",
              "grabpay",
              "ideal",
              "interac",
              "kakaopay",
              "kcp",
              "khipu",
              "klarna",
              "konbini",
              "latitude",
              "latitudeds",
              "laybuy",
              "linepay",
              "linkaja",
              "maybankqrpay",
              "mercadopago",
              "multibanco",
              "multipago",
              "nequi",
              "netbanking",
              "network-token",
              "nupay",
              "oney_10x",
              "oney_12x",
              "oney_3x",
              "oney_4x",
              "oney_6x",
              "onlinebankingcz",
              "onelink",
              "ovo",
              "oxxo",
              "p24",
              "pagoefectivo",
              "paybybank",
              "payid",
              "paymaya",
              "paysquad",
              "paypal",
              "paypalpaylater",
              "paypay",
              "payto",
              "payvalida",
              "paze",
              "picpay",
              "pix",
              "plaid",
              "pse",
              "rabbitlinepay",
              "razorpay",
              "rapipago",
              "redpagos",
              "scalapay",
              "sepa",
              "servipag",
              "seveneleven",
              "sezzle",
              "shopeepay",
              "singteldash",
              "smartpay",
              "sofort",
              "spei",
              "stitch",
              "swish",
              "stripe",
              "stripedd",
              "stripetoken",
              "tapi",
              "tapifintechs",
              "thaiqr",
              "touchngo",
              "truemoney",
              "trustly",
              "trustlyeurope",
              "upi",
              "venmo",
              "vipps",
              "waave",
              "webpay",
              "wechat",
              "wero",
              "yape",
              "zippay"
            ],
            "title": "Method",
            "x-speakeasy-unknown-values": "allow"
          },
          "display_name": {
            "type": "string",
            "title": "Display Name",
            "description": "The display name for the payment service.",
            "examples": [
              "Stripe USA"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "payment_service_definition_id",
          "method",
          "display_name"
        ],
        "title": "TransactionPaymentService"
      },
      "TransactionPaymentSource": {
        "type": "string",
        "enum": [
          "ecommerce",
          "moto",
          "recurring",
          "installment",
          "card_on_file"
        ],
        "title": "TransactionPaymentSource",
        "description": "The way payment method information made it to this transaction.",
        "x-speakeasy-unknown-values": "allow"
      },
      "TransactionRefundAllCreate": {
        "properties": {
          "reason": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason",
            "description": "An optional reason to attach extra context to the refund requests.",
            "examples": [
              "Refund due to user request."
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "An external identifier that can be used to match the refunds against your own records.",
            "examples": [
              "refund-12345"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "TransactionRefundAllCreate"
      },
      "TransactionRefundCreate": {
        "properties": {
          "amount": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 99999999,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount",
            "description": "The amount to refund, in the smallest currency unit (e.g., cents). If omitted, a full refund will be requested.",
            "examples": [
              1299
            ]
          },
          "target_type": {
            "description": "The target type to refund for. This can be used to target a gift card to refund to instead of the main payment method.",
            "default": "payment-method",
            "examples": [
              "payment-method"
            ],
            "type": "string",
            "enum": [
              "payment-method",
              "gift-card-redemption"
            ],
            "title": "RefundTargetType",
            "x-speakeasy-unknown-values": "allow"
          },
          "target_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Target Id",
            "description": "The optional ID of the instrument to refund for. This is only required when the `target_type` is set to `gift-card-redemption`.",
            "examples": [
              "7a6c366d-9205-45ab-8021-0d9ee37f20f2"
            ]
          },
          "reason": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason",
            "description": "An optional reason to attach extra context to the refund request.",
            "examples": [
              "Refund due to user request."
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "An external identifier that can be used to match the refund against your own records.",
            "examples": [
              "refund-12345"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "TransactionRefundCreate"
      },
      "TransactionRetriesReportSpec": {
        "properties": {
          "model": {
            "type": "string",
            "const": "transaction_retries",
            "title": "Model",
            "description": "The report model type.",
            "default": "transaction_retries",
            "examples": [
              "transaction_retries"
            ]
          },
          "params": {
            "additionalProperties": true,
            "type": "object",
            "title": "Params",
            "description": "The parameters for the transaction retries report model.",
            "examples": [
              {
                "filters": {
                  "created_at": {
                    "end": "2024-05-31T23:59:59Z",
                    "start": "2024-05-01T00:00:00Z"
                  }
                }
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "params"
        ],
        "title": "TransactionRetriesReportSpec"
      },
      "TransactionStatus": {
        "type": "string",
        "enum": [
          "processing",
          "authorization_succeeded",
          "authorization_declined",
          "authorization_failed",
          "authorization_voided",
          "authorization_void_pending",
          "capture_succeeded",
          "capture_pending",
          "buyer_approval_pending"
        ],
        "title": "TransactionStatus",
        "x-speakeasy-unknown-values": "allow"
      },
      "TransactionSummaries": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/TransactionSummary"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          },
          "limit": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "description": "The number of items for this page.",
            "default": 20,
            "examples": [
              20
            ]
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "The cursor pointing at the next page of items.",
            "examples": [
              "ZXhhbXBsZTE"
            ]
          },
          "previous_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Cursor",
            "description": "The cursor pointing at the previous page of items.",
            "examples": [
              "Xkjss7asS"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "TransactionSummaries"
      },
      "TransactionSummary": {
        "properties": {
          "type": {
            "type": "string",
            "const": "transaction",
            "title": "Type",
            "description": "Always `transaction`.",
            "default": "transaction",
            "examples": [
              "transaction"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID for the transaction.",
            "examples": [
              "7099948d-7286-47e4-aad8-b68f7eb44591"
            ]
          },
          "reconciliation_id": {
            "type": "string",
            "title": "Reconciliation Id",
            "description": "The base62 encoded transaction ID. This represents a shorter version of this transaction's `id` which is sent to payment services, anti-fraud services, and other connectors. You can use this ID to reconcile a payment service's transaction against our system. This ID is sent instead of the transaction ID because not all services support 36 digit identifiers.",
            "examples": [
              "default"
            ]
          },
          "merchant_account_id": {
            "type": "string",
            "title": "Merchant Account Id",
            "description": "The ID of the merchant account this transaction belongs to.",
            "examples": [
              "default"
            ]
          },
          "currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "title": "Currency",
            "description": "The currency code for this transaction.",
            "examples": [
              "EUR",
              "GBP",
              "USD"
            ]
          },
          "amount": {
            "type": "integer",
            "title": "Amount",
            "description": "The total amount for this transaction across all funding sources including gift cards.",
            "examples": [
              1299
            ]
          },
          "status": {
            "description": "The status of the transaction for the `payment_method`. The status may change over time as asynchronous processing events occur.",
            "examples": [
              "authorization_succeeded"
            ],
            "type": "string",
            "enum": [
              "processing",
              "authorization_succeeded",
              "authorization_declined",
              "authorization_failed",
              "authorization_voided",
              "authorization_void_pending",
              "capture_succeeded",
              "capture_pending",
              "buyer_approval_pending"
            ],
            "title": "TransactionStatus",
            "x-speakeasy-unknown-values": "allow"
          },
          "authorized_amount": {
            "type": "integer",
            "title": "Authorized Amount",
            "description": "The amount for this transaction that has been authorized for the `payment_method`. This can be less than the `amount` if gift cards were used.",
            "examples": [
              1299
            ]
          },
          "captured_amount": {
            "type": "integer",
            "title": "Captured Amount",
            "description": "The total amount captured for this transaction, in the smallest currency unit (for example, cents or pence). This can be the full value of the `authorized_amount` or less.",
            "examples": [
              1299
            ]
          },
          "refunded_amount": {
            "type": "integer",
            "title": "Refunded Amount",
            "description": "The total amount refunded for this transaction, in the smallest currency unit (for example, cents or pence). This can be the full value of the `captured_amount` or less.",
            "examples": [
              1299
            ]
          },
          "settled_currency": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{3}$",
                "examples": [
                  "EUR",
                  "GBP",
                  "USD"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Settled Currency",
            "description": "The ISO 4217 currency code of this transaction's settlement.",
            "examples": [
              "USD"
            ]
          },
          "settled_amount": {
            "type": "integer",
            "title": "Settled Amount",
            "description": "The net amount settled for this transaction, in the smallest currency unit (for example, cents or pence).",
            "examples": [
              1100
            ]
          },
          "settled": {
            "type": "boolean",
            "title": "Settled",
            "description": "Indicates whether this transaction has been settled.",
            "examples": [
              true
            ]
          },
          "country": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "examples": [
                  "DE",
                  "GB",
                  "US"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Country",
            "description": "The 2-letter ISO 3166-1 alpha-2 country code for the transaction. Used to filter payment services for processing.",
            "examples": [
              "US"
            ]
          },
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "An external identifier that can be used to match the transaction against your own records.",
            "examples": [
              "transaction-12345"
            ]
          },
          "intent": {
            "description": "The original `intent` used when the transaction was created.",
            "examples": [
              "capture"
            ],
            "type": "string",
            "enum": [
              "authorize",
              "capture"
            ],
            "title": "TransactionIntent",
            "x-speakeasy-unknown-values": "allow"
          },
          "payment_method": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TransactionPaymentMethod"
              },
              {
                "type": "null"
              }
            ],
            "description": "The payment method used for this transaction."
          },
          "method": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "abitab",
                  "affirm",
                  "afterpay",
                  "alipay",
                  "alipayhk",
                  "applepay",
                  "arcuspaynetwork",
                  "bacs",
                  "bancontact",
                  "bank",
                  "bcp",
                  "becs",
                  "bitpay",
                  "blik",
                  "ach",
                  "boleto",
                  "boost",
                  "breb",
                  "capitec",
                  "card",
                  "cashapp",
                  "cashappafterpay",
                  "chaseorbital",
                  "clearpay",
                  "click-to-pay",
                  "custom_push",
                  "custom_redirect",
                  "custom_tokenize",
                  "dana",
                  "dcb",
                  "dlocal",
                  "duitnow",
                  "ebanx",
                  "eckoh",
                  "efecty",
                  "eps",
                  "everydaypay",
                  "gcash",
                  "gem",
                  "gemds",
                  "gift-card",
                  "giropay",
                  "givingblock",
                  "gocardless",
                  "googlepay",
                  "googlepay_pan_only",
                  "gopay",
                  "grabpay",
                  "ideal",
                  "interac",
                  "kakaopay",
                  "kcp",
                  "khipu",
                  "klarna",
                  "konbini",
                  "latitude",
                  "latitudeds",
                  "laybuy",
                  "linepay",
                  "linkaja",
                  "maybankqrpay",
                  "mercadopago",
                  "multibanco",
                  "multipago",
                  "nequi",
                  "netbanking",
                  "network-token",
                  "nupay",
                  "oney_10x",
                  "oney_12x",
                  "oney_3x",
                  "oney_4x",
                  "oney_6x",
                  "onlinebankingcz",
                  "onelink",
                  "ovo",
                  "oxxo",
                  "p24",
                  "pagoefectivo",
                  "paybybank",
                  "payid",
                  "paymaya",
                  "paysquad",
                  "paypal",
                  "paypalpaylater",
                  "paypay",
                  "payto",
                  "payvalida",
                  "paze",
                  "picpay",
                  "pix",
                  "plaid",
                  "pse",
                  "rabbitlinepay",
                  "razorpay",
                  "rapipago",
                  "redpagos",
                  "scalapay",
                  "sepa",
                  "servipag",
                  "seveneleven",
                  "sezzle",
                  "shopeepay",
                  "singteldash",
                  "smartpay",
                  "sofort",
                  "spei",
                  "stitch",
                  "swish",
                  "stripe",
                  "stripedd",
                  "stripetoken",
                  "tapi",
                  "tapifintechs",
                  "thaiqr",
                  "touchngo",
                  "truemoney",
                  "trustly",
                  "trustlyeurope",
                  "upi",
                  "venmo",
                  "vipps",
                  "waave",
                  "webpay",
                  "wechat",
                  "wero",
                  "yape",
                  "zippay"
                ],
                "title": "Method",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The method used for the transaction.",
            "examples": [
              "card"
            ]
          },
          "instrument_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "pan",
                  "card_token",
                  "redirect",
                  "redirect_token",
                  "googlepay",
                  "applepay",
                  "network_token",
                  "plaid",
                  "bank"
                ],
                "title": "InstrumentType",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The name of the instrument used to process the transaction.",
            "examples": [
              "pan"
            ]
          },
          "error_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code",
            "description": "The standardized error code set by Gr4vy.",
            "examples": [
              "missing_redirect_url"
            ]
          },
          "payment_service": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TransactionPaymentService"
              },
              {
                "type": "null"
              }
            ],
            "description": "The payment service used for this transaction."
          },
          "pending_review": {
            "type": "boolean",
            "title": "Pending Review",
            "description": "Whether a manual anti fraud review is pending with an anti fraud service.",
            "default": false,
            "examples": [
              false
            ]
          },
          "buyer": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TransactionBuyer"
              },
              {
                "type": "null"
              }
            ],
            "description": "The buyer used for this transaction."
          },
          "raw_response_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Raw Response Code",
            "description": "This is the response code received from the payment service. This can be set to any value and is not standardized across different payment services.",
            "examples": [
              "E104"
            ]
          },
          "raw_response_description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Raw Response Description",
            "description": " This is the response description received from the payment service. This can be set to any value and is not standardized across different payment services.",
            "examples": [
              "Missing redirect URL"
            ]
          },
          "shipping_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ShippingDetails"
              },
              {
                "type": "null"
              }
            ],
            "description": "The shipping details associated with the transaction."
          },
          "checkout_session_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Checkout Session Id",
            "description": "The identifier for the checkout session this transaction is associated with.",
            "examples": [
              "4137b1cf-39ac-42a8-bad6-1c680d5dab6b"
            ]
          },
          "gift_card_redemptions": {
            "items": {
              "$ref": "#/components/schemas/GiftCardRedemption"
            },
            "type": "array",
            "title": "Gift Card Redemptions",
            "description": "The gift cards redeemed for this transaction."
          },
          "gift_card_service": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/GiftCardService"
              },
              {
                "type": "null"
              }
            ],
            "description": "The gift card service used for this transaction."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "The date and time when the transaction was created, in ISO 8601 format.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At",
            "description": "The date and time when the transaction was last updated, in ISO 8601 format.",
            "examples": [
              "2013-07-16T19:23:00.000+00:00"
            ]
          },
          "disputed": {
            "type": "boolean",
            "title": "Disputed",
            "description": "Indicates whether this transaction has been disputed.",
            "examples": [
              true
            ]
          },
          "reauthorized_from_transaction_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reauthorized From Transaction Id",
            "description": "The identifier of the transaction from which this transaction was reauthorized.",
            "examples": [
              "4137b1cf-39ac-42a8-bad6-1c680d5dab6b"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "reconciliation_id",
          "merchant_account_id",
          "currency",
          "amount",
          "status",
          "authorized_amount",
          "captured_amount",
          "refunded_amount",
          "settled_amount",
          "settled",
          "intent",
          "gift_card_redemptions",
          "created_at",
          "updated_at",
          "disputed"
        ],
        "title": "TransactionSummary",
        "description": "A transaction, summarised"
      },
      "TransactionThreeDSecureSummary": {
        "properties": {
          "version": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[12](\\.\\d+){0,2}$"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version",
            "description": "The version of 3DS used for this transaction.",
            "examples": [
              "2.2.0"
            ]
          },
          "status": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "setup_error",
                  "error",
                  "declined",
                  "cancelled",
                  "complete"
                ],
                "title": "ThreeDSecureStatus",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The status of the 3DS challenge for this transaction.",
            "examples": [
              "complete"
            ]
          },
          "method": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "challenge",
                  "frictionless"
                ],
                "title": "ThreeDSecureMethod",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "description": "The method used for 3DS authentication for this transaction.",
            "examples": [
              "challenge"
            ]
          },
          "response_data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ThreeDSecureDataV1"
              },
              {
                "$ref": "#/components/schemas/ThreeDSecureV2"
              },
              {
                "type": "null"
              }
            ],
            "title": "Response Data",
            "description": "The 3DS data sent to the payment service for this transaction. This will only be populated if external 3DS data was passed in directly as part of the transaction API call, or if our 3DS server returned a status code of `Y` or `A`. In case of a failure to authenticate (status `N`, `R`, or `U`) this field will not be populated. To see full details about the 3DS calls please use our transaction events API."
          },
          "error_data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ThreeDSecureError"
              },
              {
                "type": "null"
              }
            ],
            "description": "The error data received from our 3DS server. This will not be populated if the customer failed the authentication with a status code of `N`, `R`, or `U`. To see full details about the 3DS calls in those situations please use our transaction events API."
          },
          "amount": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Amount",
            "description": "The amount used for 3DS authentication."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "TransactionThreeDSecureSummary"
      },
      "TransactionUpdate": {
        "properties": {
          "external_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "External Identifier",
            "description": "An external identifier that can be used to match the transaction against your own records.",
            "examples": [
              "transaction-12345"
            ]
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Metadata",
            "description": "Additional information about the transaction stored as key-value pairs. If provided, the whole value will be overridden.",
            "examples": [
              {
                "cohort": "cohort-12345",
                "order": "order-12345"
              }
            ]
          },
          "connection_options": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TransactionConnectionOptions"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Options",
            "description": "Allows for passing optional configuration per connection to take advantage of connection specific features. When provided, the data is only passed to the target connection type to prevent sharing configuration across connections. Please note that each of the keys this object are in kebab-case, for example `cybersource-anti-fraud` as they represent the ID of the connector. All the other keys will be snake case, for example `merchant_defined_data` or camel case to match an external API that the connector uses. If provided, the whole value will be overridden."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "TransactionUpdate"
      },
      "TransactionVoid": {
        "properties": {
          "type": {
            "type": "string",
            "const": "transaction-void",
            "title": "Type",
            "description": "Always `transaction-void`.",
            "default": "transaction-void",
            "examples": [
              "transaction-void"
            ]
          },
          "status": {
            "description": "The status of the void call.",
            "examples": [
              "succeeded"
            ],
            "type": "string",
            "enum": [
              "succeeded",
              "pending",
              "declined",
              "failed"
            ],
            "title": "VoidStatus",
            "x-speakeasy-unknown-values": "allow"
          },
          "code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Code",
            "description": "The standardized error code set by Gr4vy.",
            "examples": [
              "service_error"
            ]
          },
          "raw_response_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Raw Response Code",
            "description": "This is the response code received from the payment service. This can be set to any value and is not standardized across different payment services.",
            "examples": [
              "E104"
            ]
          },
          "raw_response_description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Raw Response Description",
            "description": "This is the response description received from the payment service. This can be set to any value and is not standardized across different payment services.",
            "examples": [
              "Internal error"
            ]
          },
          "transaction": {
            "$ref": "#/components/schemas/Transaction",
            "description": "The transaction associated to this void."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "status",
          "code",
          "raw_response_code",
          "raw_response_description",
          "transaction"
        ],
        "title": "TransactionVoid"
      },
      "TransactionsReportSpec": {
        "properties": {
          "model": {
            "type": "string",
            "const": "transactions",
            "title": "Model",
            "description": "The report model type.",
            "default": "transactions",
            "examples": [
              "transactions"
            ]
          },
          "params": {
            "additionalProperties": true,
            "type": "object",
            "title": "Params",
            "description": "The parameters for the transactions report model.",
            "examples": [
              {
                "fields": [
                  "id",
                  "status"
                ],
                "filters": {
                  "status": [
                    "succeeded"
                  ]
                }
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "params"
        ],
        "title": "TransactionsReportSpec"
      },
      "UpdateTransactionSessionRequest": {
        "properties": {
          "payload": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payload",
            "description": "Payload that may be required to update a payment provider's client session, depending on the connector.",
            "examples": [
              {
                "key": "value"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "UpdateTransactionSessionRequest"
      },
      "UpdateTransactionSessionResponse": {
        "properties": {
          "session_data": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Data",
            "description": "Session data required to launch a payment provider client SDK",
            "examples": [
              {
                "key": "value"
              }
            ]
          },
          "default_completion_url": {
            "type": "string",
            "title": "Default Completion Url",
            "description": "To be used by the merchant when the client SDK does not provide one at the end of the flow",
            "examples": [
              "https://www.test.gr4vy.app/transactions/1234/complete"
            ]
          },
          "integration_client": {
            "description": "The integration clients",
            "examples": [
              "redirect",
              "web",
              "android",
              "ios"
            ],
            "type": "string",
            "enum": [
              "redirect",
              "web",
              "android",
              "ios"
            ],
            "title": "IntegrationClient",
            "x-speakeasy-unknown-values": "allow"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "session_data",
          "default_completion_url",
          "integration_client"
        ],
        "title": "UpdateTransactionSessionResponse"
      },
      "UserStatus": {
        "type": "string",
        "enum": [
          "active",
          "pending",
          "deleted"
        ],
        "title": "UserStatus",
        "x-speakeasy-unknown-values": "allow"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          },
          "input": {
            "title": "Input"
          },
          "ctx": {
            "type": "object",
            "title": "Context"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      },
      "VerifyCredentials": {
        "properties": {
          "payment_service_definition_id": {
            "type": "string",
            "title": "Payment Service Definition Id",
            "description": "The ID of the payment service definition to verify the fields against",
            "examples": [
              "stripe-card"
            ]
          },
          "payment_service_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Service Id",
            "description": "The optional ID of the configured payment service. New fields will be merged with any existing fields already stored before they are verified.",
            "examples": [
              "fffd152a-9532-4087-9a4f-de58754210f0"
            ]
          },
          "fields": {
            "items": {
              "$ref": "#/components/schemas/Field"
            },
            "type": "array",
            "title": "Fields",
            "description": "The fields and their values, or a set of updated fields to merge with existing values."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "payment_service_definition_id",
          "fields"
        ],
        "title": "VerifyCredentials"
      },
      "VoidStatus": {
        "type": "string",
        "enum": [
          "succeeded",
          "pending",
          "declined",
          "failed"
        ],
        "title": "VoidStatus",
        "x-speakeasy-unknown-values": "allow"
      },
      "VoidableField": {
        "properties": {
          "key": {
            "type": "string",
            "maxLength": 50,
            "minLength": 1,
            "title": "Key"
          },
          "value": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 10000,
                "minLength": 1
              },
              {
                "type": "string",
                "const": ""
              }
            ],
            "title": "Value"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "key",
          "value"
        ],
        "title": "VoidableField"
      },
      "WalletPaymentOptionContext": {
        "properties": {
          "merchant_name": {
            "type": "string",
            "title": "Merchant Name"
          },
          "supported_schemes": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Supported Schemes"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "merchant_name",
          "supported_schemes"
        ],
        "title": "WalletPaymentOptionContext"
      },
      "WebhookSubscription": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID of the webhook subscription",
            "examples": [
              "ef9496d8-53a5-4aad-8ca2-00eb68334389"
            ]
          },
          "type": {
            "type": "string",
            "const": "webhook-subscription",
            "title": "Type",
            "description": "Type of resource for webhook subscriptions.",
            "default": "webhook-subscription",
            "examples": [
              "webhook-subscription"
            ]
          },
          "merchant_account_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merchant Account Id",
            "description": "The merchant account to which this subscription is associated. When null this represents an instance level webhook.",
            "examples": [
              "default",
              null
            ]
          },
          "active": {
            "type": "boolean",
            "title": "Active",
            "description": "Flag to determine whether this subscription should be sent webhook payloads.",
            "examples": [
              true,
              false
            ]
          },
          "url": {
            "type": "string",
            "title": "Url",
            "description": "URL to send webhook payloads.",
            "examples": [
              "https://www.gr4vy.com/webhooks"
            ]
          },
          "authentication": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BasicAuthentication"
              },
              {
                "$ref": "#/components/schemas/CredentialsOAuthAuthentication"
              },
              {
                "$ref": "#/components/schemas/PasswordOAuthAuthentication"
              },
              {
                "type": "null"
              }
            ],
            "title": "Authentication",
            "description": "Optional authentication configuration for webhook requests.",
            "examples": [
              {
                "kind": "basic",
                "password": "********",
                "username": "gr4vy"
              },
              {
                "client_id": "1234abcd",
                "client_secret": "********",
                "kind": "oauth_password",
                "password": "********",
                "token_url": "https://www.gr4vy.com/oauth/token",
                "username": "gr4vy"
              },
              {
                "client_id": "1234abcd",
                "client_secret": "********",
                "kind": "oauth_client_credentials",
                "token_url": "https://www.gr4vy.com/oauth/token"
              }
            ]
          },
          "secret": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Secret",
            "description": "The active secret value.",
            "examples": [
              "234567890abcdef1234567890abcdef"
            ]
          },
          "rotating": {
            "type": "boolean",
            "title": "Rotating",
            "description": "Flag to determine whether the subscription has a secret rotation in progress or not.",
            "examples": [
              false,
              true
            ]
          },
          "creator": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/api__common_schemas__Creator"
              },
              {
                "type": "null"
              }
            ],
            "description": "The user that created this resource",
            "examples": [
              {
                "email_address": "jhon.doe@gr4vy.com",
                "id": "07e70d14-a0c0-4ff5-bd4a-509959af0e4d",
                "name": "Jhon Doe"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "active",
          "url",
          "rotating"
        ],
        "title": "WebhookSubscription"
      },
      "WebhookSubscriptionCreate": {
        "properties": {
          "active": {
            "type": "boolean",
            "title": "Active",
            "description": "Flag to determine whether this subscription should be sent webhook payloads.",
            "default": true,
            "examples": [
              true,
              false
            ]
          },
          "url": {
            "type": "string",
            "title": "Url",
            "description": "URL to send webhook payloads.",
            "examples": [
              "https://www.gr4vy.com/webhooks"
            ]
          },
          "authentication": {
            "anyOf": [
              {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/BasicAuthenticationCreate"
                  },
                  {
                    "$ref": "#/components/schemas/CredentialsOAuthAuthenticationCreate"
                  },
                  {
                    "$ref": "#/components/schemas/PasswordOAuthAuthenticationCreate"
                  }
                ],
                "discriminator": {
                  "propertyName": "kind",
                  "mapping": {
                    "basic": "#/components/schemas/BasicAuthenticationCreate",
                    "oauth_client_credentials": "#/components/schemas/CredentialsOAuthAuthenticationCreate",
                    "oauth_password": "#/components/schemas/PasswordOAuthAuthenticationCreate"
                  }
                }
              },
              {
                "type": "null"
              }
            ],
            "title": "Authentication",
            "description": "Optional authentication configuration for webhook requests.",
            "examples": [
              {
                "kind": "basic",
                "password": "super-strong-password",
                "username": "gr4vy"
              },
              {
                "client_id": "1234abcd",
                "client_secret": "sec_123_abc",
                "kind": "oauth_password",
                "password": "super-strong-password",
                "token_url": "https://www.gr4vy.com/oauth/token",
                "username": "gr4vy"
              },
              {
                "client_id": "1234abcd",
                "client_secret": "sec_123_abc",
                "kind": "oauth_client_credentials",
                "token_url": "https://www.gr4vy.com/oauth/token"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "url"
        ],
        "title": "WebhookSubscriptionCreate"
      },
      "WebhookSubscriptionRotateSecret": {
        "properties": {
          "delta": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Delta",
            "description": "Delta time in minutes to expire existing secret if any. If not set or set to zero it will expire immediately.",
            "examples": [
              1440,
              null
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "WebhookSubscriptionRotateSecret"
      },
      "WebhookSubscriptionUpdate": {
        "properties": {
          "active": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Active",
            "description": "Flag to determine whether this subscription should be sent webhook payloads.",
            "examples": [
              true,
              false
            ]
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url",
            "description": "URL to send webhook payloads.",
            "examples": [
              "https://www.gr4vy.com/webhooks"
            ]
          },
          "authentication": {
            "anyOf": [
              {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/BasicAuthenticationCreate"
                  },
                  {
                    "$ref": "#/components/schemas/CredentialsOAuthAuthenticationCreate"
                  },
                  {
                    "$ref": "#/components/schemas/PasswordOAuthAuthenticationCreate"
                  }
                ],
                "discriminator": {
                  "propertyName": "kind",
                  "mapping": {
                    "basic": "#/components/schemas/BasicAuthenticationCreate",
                    "oauth_client_credentials": "#/components/schemas/CredentialsOAuthAuthenticationCreate",
                    "oauth_password": "#/components/schemas/PasswordOAuthAuthenticationCreate"
                  }
                }
              },
              {
                "type": "null"
              }
            ],
            "title": "Authentication",
            "description": "Optional authentication configuration for webhook requests.",
            "examples": [
              {
                "kind": "basic",
                "password": "super-strong-password",
                "username": "gr4vy"
              },
              {
                "client_id": "1234abcd",
                "client_secret": "sec_123_abc",
                "kind": "oauth_password",
                "password": "super-strong-password",
                "token_url": "https://www.gr4vy.com/oauth/token",
                "username": "gr4vy"
              },
              {
                "client_id": "1234abcd",
                "client_secret": "sec_123_abc",
                "kind": "oauth_client_credentials",
                "token_url": "https://www.gr4vy.com/oauth/token"
              }
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "WebhookSubscriptionUpdate"
      },
      "WebhookSubscriptions": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/WebhookSubscription"
            },
            "type": "array",
            "title": "Items",
            "description": "A list of items returned for this request."
          },
          "limit": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Limit",
            "description": "The number of items for this page.",
            "default": 20,
            "examples": [
              20
            ]
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "The cursor pointing at the next page of items.",
            "examples": [
              "ZXhhbXBsZTE"
            ]
          },
          "previous_cursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Previous Cursor",
            "description": "The cursor pointing at the previous page of items.",
            "examples": [
              "Xkjss7asS"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "items"
        ],
        "title": "WebhookSubscriptions"
      },
      "api__common_schemas__Creator": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "email_address": {
            "type": "string",
            "title": "Email Address"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "name",
          "email_address"
        ],
        "title": "Creator"
      },
      "api__routers__api_key_pairs__schemas__Creator": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id",
            "description": "The ID of the user or API key pair that created the API key pair.",
            "examples": [
              "fe26475d-ec3e-4884-9553-f7356683f7f9"
            ]
          },
          "name": {
            "type": "string",
            "title": "Name",
            "description": "The name of the user or API key pair that created the API key pair.",
            "examples": [
              "John Doe"
            ]
          },
          "email_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email Address",
            "description": "The email address of the user that created the API key pair, when it was created by a dashboard user.",
            "examples": [
              "john.doe@example.com"
            ]
          },
          "thumbprint": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Thumbprint",
            "description": "The thumbprint of the API key pair that created the API key pair, when it was created by another API key.",
            "examples": [
              "6zsbrjs0Cp4M4Ebz8sfHqUKGiG9Sd0lF2sfKp5-w-nk"
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "id",
          "name"
        ],
        "title": "Creator"
      },
      "AccountUpdaterOptions": {
        "additionalProperties": false,
        "properties": {
          "response_code": {
            "anyOf": [
              {
                "const": "updated",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The type of response to simulate.",
            "examples": [
              "updated"
            ],
            "title": "Response Code"
          },
          "account_number": {
            "anyOf": [
              {
                "maxLength": 18,
                "minLength": 12,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "When the `response_code` is set to `updated`, the payment method's account number will be updated to this value.",
            "examples": [
              "4242424242424242"
            ],
            "title": "Account Number"
          },
          "expiration_month": {
            "anyOf": [
              {
                "maxLength": 2,
                "minLength": 2,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "When the `response_code` is set to `updated`, the payment method's expiration month will be updated to this value.",
            "examples": [
              "12"
            ],
            "title": "Expiration Month"
          },
          "expiration_year": {
            "anyOf": [
              {
                "maxLength": 4,
                "minLength": 4,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "When the `response_code` is set to `updated`, the payment method's expiration year will be updated to this value.",
            "examples": [
              "2030"
            ],
            "title": "Expiration Year"
          },
          "error_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The type of error code to simulate.",
            "examples": [
              "error"
            ],
            "title": "Error Code"
          }
        },
        "title": "AccountUpdaterOptions",
        "type": "object"
      },
      "AdyenAutoRescueSepaScenariosEnum": {
        "enum": [
          "AutoRescueSuccessfulFirst",
          "AutoRescueSuccessfulSecond",
          "AutoRescueFailed"
        ],
        "title": "AdyenAutoRescueSepaScenariosEnum",
        "type": "string",
        "x-speakeasy-unknown-values": "allow"
      },
      "AdyenCardAutoRescueScenariosEnum": {
        "enum": [
          "AutoRescueSuccessfulFirst",
          "AutoRescueSuccessfulSecond",
          "AutoRescueFailed",
          "AutoRescueFraud"
        ],
        "title": "AdyenCardAutoRescueScenariosEnum",
        "type": "string",
        "x-speakeasy-unknown-values": "allow"
      },
      "AdyenCardOptions": {
        "additionalProperties": false,
        "properties": {
          "autoRescue": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Set to `true` to enable Auto Rescue for a transaction. Use the `maxDaysToRescue` to specify a rescue window.",
            "examples": [
              true
            ],
            "title": "Autorescue"
          },
          "maxDaysToRescue": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The rescue window for a transaction, in days, when `autoRescue` is set to `true`. You can specify a value between 1 and 48. For cards, the default is one calendar month. For SEPA, the default is 42 days.",
            "examples": [
              20
            ],
            "title": "Maxdaystorescue"
          },
          "additionalData": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes additional data to the Adyen API when creating a transaction.",
            "examples": [
              {
                "subMerchantID": "12345"
              }
            ],
            "title": "Additionaldata"
          },
          "autoRescueScenario": {
            "anyOf": [
              {
                "enum": [
                  "AutoRescueSuccessfulFirst",
                  "AutoRescueSuccessfulSecond",
                  "AutoRescueFailed",
                  "AutoRescueFraud"
                ],
                "title": "AdyenCardAutoRescueScenariosEnum",
                "type": "string",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The rescue scenario to simulate for a transaction, when `autoRescue` is set to `true`.",
            "examples": [
              "AutoRescueSuccessfulFirst"
            ]
          },
          "window_origin": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The origin of the window where the payment is initiated, used for 3D Secure authentication.",
            "examples": [
              "https://example.com"
            ],
            "title": "Window Origin"
          },
          "splits": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdyenSplitsOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes information of splitting payment amounts to the Adyen API."
          },
          "merchantRiskIndicator": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `merchantRiskIndicator` data to Adyen.",
            "title": "Merchantriskindicator"
          },
          "accountInfo": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `accountInfo` data to Adyen.",
            "title": "Accountinfo"
          },
          "riskData": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `riskData.customFields` to Adyen.",
            "title": "Riskdata"
          },
          "threeDSRequestorChallengeInd": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `threeDS2RequestData.threeDSRequestorChallengeInd` to Adyen.",
            "title": "Threedsrequestorchallengeind"
          },
          "attemptAuthentication": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `authenticationData.attemptAuthentication` to Adyen.",
            "title": "Attemptauthentication"
          }
        },
        "title": "AdyenCardOptions",
        "type": "object"
      },
      "AdyenOptions": {
        "additionalProperties": false,
        "properties": {
          "additionalData": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes additional data to the Adyen API when creating a transaction.",
            "examples": [
              {
                "subMerchantID": "12345"
              }
            ],
            "title": "Additionaldata"
          }
        },
        "title": "AdyenOptions",
        "type": "object"
      },
      "AdyenPixOptions": {
        "additionalProperties": false,
        "properties": {
          "additionalData": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes additional data to the Adyen API when creating a transaction.",
            "examples": [
              {
                "subMerchantID": "12345"
              }
            ],
            "title": "Additionaldata"
          },
          "pixRecurring": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdyenPixRecurringOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `pixRecurring` data to Adyen"
          }
        },
        "title": "AdyenPixOptions",
        "type": "object"
      },
      "AdyenPixRecurringAmount": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Amount in the smallest currency unit for the given currency",
            "examples": [
              1299
            ],
            "title": "Value"
          },
          "currency": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "ISO 4217 currency code",
            "examples": [
              "BRL"
            ],
            "title": "Currency"
          }
        },
        "title": "AdyenPixRecurringAmount",
        "type": "object"
      },
      "AdyenPixRecurringOptions": {
        "additionalProperties": false,
        "properties": {
          "frequency": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The frequency at which the shopper will be charged. Possible values: weekly, monthly, quarterly, half-yearly, and yearly.",
            "examples": [
              "monthly"
            ],
            "title": "Frequency"
          },
          "recurringAmount": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdyenPixRecurringAmount"
              },
              {
                "type": "null"
              }
            ],
            "description": "For a billing plan where the payment amount is fixed, the currency and value for each recurring payment"
          },
          "startsAt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Start date of the billing plan, in YYYY-MM-DD format.",
            "examples": [
              "2026-01-01"
            ],
            "title": "Startsat"
          },
          "endsAt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "End date of the billing plan, in YYYY-MM-DD format. The end date must align with the frequency and the start date of the billing plan. If left blank, the subscription will continue indefinitely unless it is cancelled by the shopper.",
            "examples": [
              "2026-12-31"
            ],
            "title": "Endsat"
          },
          "recurringStatement": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The text that that will be shown on the shopper's bank statement for the recurring payments. We recommend to add a descriptive text about the subscription to let your shoppers recognize your recurring payments.",
            "examples": [
              "My recurring subscription"
            ],
            "title": "Recurringstatement"
          }
        },
        "required": [
          "recurringAmount"
        ],
        "title": "AdyenPixRecurringOptions",
        "type": "object"
      },
      "AdyenSepaOptions": {
        "additionalProperties": false,
        "properties": {
          "autoRescue": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Set to `true` to enable Auto Rescue for a transaction. Use the `maxDaysToRescue` to specify a rescue window.",
            "examples": [
              true
            ],
            "title": "Autorescue"
          },
          "maxDaysToRescue": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The rescue window for a transaction, in days, when `autoRescue` is set to `true`. You can specify a value between 1 and 48. For cards, the default is one calendar month. For SEPA, the default is 42 days.",
            "examples": [
              20
            ],
            "title": "Maxdaystorescue"
          },
          "additionalData": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes additional data to the Adyen API when creating a transaction.",
            "examples": [
              {
                "subMerchantID": "12345"
              }
            ],
            "title": "Additionaldata"
          },
          "autoRescueSepaScenario": {
            "anyOf": [
              {
                "enum": [
                  "AutoRescueSuccessfulFirst",
                  "AutoRescueSuccessfulSecond",
                  "AutoRescueFailed"
                ],
                "title": "AdyenAutoRescueSepaScenariosEnum",
                "type": "string",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The rescue scenario to simulate for a transaction, when `autoRescue` is set to `true`.",
            "examples": [
              "AutoRescueSuccessfulFirst"
            ]
          },
          "ownerName": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The name on the SEPA bank account.",
            "examples": [
              "A. Schneider"
            ],
            "title": "Ownername"
          }
        },
        "title": "AdyenSepaOptions",
        "type": "object"
      },
      "AdyenSplitsOptions": {
        "additionalProperties": false,
        "properties": {
          "authorization": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Split payment values to pass to the Adyen API on payment authorization. See [the Adyen docs](https://docs.adyen.com/platforms/online-payments/split-transactions/split-payments-at-authorization/) for details on the format and contents of the list.",
            "title": "Authorization"
          },
          "capture": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Split payment values to pass to the Adyen API on payment capture. See [the Adyen docs](https://docs.adyen.com/platforms/online-payments/split-transactions/split-payments-at-capture/) for details on the format and contents of the list.",
            "title": "Capture"
          },
          "refund": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Split payment values to pass to the Adyen API on payment refund. See [the Adyen docs](https://docs.adyen.com/platforms/online-payments/split-transactions/split-refunds/) for details on the format and contents of the list.",
            "title": "Refund"
          }
        },
        "title": "AdyenSplitsOptions",
        "type": "object"
      },
      "AffirmItineraryOptions": {
        "additionalProperties": false,
        "properties": {
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The type of itinerary object.",
            "examples": [
              "flight"
            ],
            "title": "Type"
          },
          "sku": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The booking/itinerary number (if applicable).",
            "examples": [
              "ABC123"
            ],
            "title": "Sku"
          },
          "display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Readable description of the itinerary item.",
            "examples": [
              "MIA-DCA-2019-12-11T12:07"
            ],
            "title": "Display Name"
          },
          "venue": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The name of the venue where the event is hosted.",
            "examples": [
              "Petco Park"
            ],
            "title": "Venue"
          },
          "location": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The address object that can be parsed.",
            "examples": [
              "925 Collins Avenue, Miami Beach, FL, 33140, US"
            ],
            "title": "Location"
          },
          "date_start": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The start date of this itinerary item.",
            "examples": [
              "2019-12-05"
            ],
            "title": "Date Start"
          },
          "management": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The corporation.",
            "examples": [
              "Marriott"
            ],
            "title": "Management"
          }
        },
        "title": "AffirmItineraryOptions",
        "type": "object"
      },
      "AffirmOptions": {
        "additionalProperties": false,
        "properties": {
          "discounts": {
            "anyOf": [
              {
                "additionalProperties": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes additional discounts to the Affirm widget.",
            "examples": [
              {
                "PRESDAY10": {
                  "discount_amount": 1000,
                  "discount_display_name": "President's Day 10% off"
                },
                "RETURN5": {
                  "discount_amount": 500,
                  "discount_display_name": "Returning customer 5% discount"
                }
              }
            ],
            "title": "Discounts"
          },
          "itinerary": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AffirmItineraryOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes itinerary data to the Affirm API."
          }
        },
        "title": "AffirmOptions",
        "type": "object"
      },
      "BraintreeDynamicDataFieldsOptions": {
        "additionalProperties": false,
        "properties": {
          "three_ds_auth_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes the 3DS status to the Braintree API using `customFields` with the key set to the value of `three_ds_auth_status`",
            "examples": [
              "threeDStatus"
            ],
            "title": "Three Ds Auth Status"
          },
          "purchase_order_number": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes the `transaction.purchaseOrderNumber` field when creating a new transaction.",
            "examples": [
              "po-12345"
            ],
            "title": "Purchase Order Number"
          },
          "vault_payment_method_criteria": {
            "anyOf": [
              {
                "enum": [
                  "ALWAYS",
                  "ON_SUCCESSFUL_TRANSACTION"
                ],
                "type": "string",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes the `vaultPaymentMethodCriteria` field when creating a new transaction.",
            "examples": [
              "ON_SUCCESSFUL_TRANSACTION"
            ],
            "title": "Vault Payment Method Criteria"
          }
        },
        "title": "BraintreeDynamicDataFieldsOptions",
        "type": "object"
      },
      "BraintreeOptions": {
        "additionalProperties": false,
        "properties": {
          "discount_amount": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes a discount amount to be applied to the transaction when using Braintree.",
            "examples": [
              1000
            ],
            "title": "Discount Amount"
          },
          "custom_fields": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `customFields` to the Braintree API when creating a new payment. Custom fields allow you to customize your checkout experience by collecting specific information about your customers and their purchases.",
            "examples": [
              {
                "checkout": "primary"
              }
            ],
            "title": "Custom Fields"
          },
          "dynamic_data_fields": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BraintreeDynamicDataFieldsOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Additional dynamic fields to pass to the Braintree API"
          }
        },
        "title": "BraintreeOptions",
        "type": "object"
      },
      "ChaseOptions": {
        "additionalProperties": false,
        "properties": {
          "comments": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom order comment",
            "title": "Comments"
          }
        },
        "title": "ChaseOptions",
        "type": "object"
      },
      "CybersourceAntiFraudOptions": {
        "additionalProperties": false,
        "properties": {
          "merchant_defined_data": {
            "anyOf": [
              {
                "additionalProperties": {
                  "maxLength": 5000,
                  "minLength": 0,
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "A list of merchant defined data to be passed to the Cybersource Decision Manager API. Each key needs to be a numeric string.",
            "examples": [
              {
                "1": "data"
              }
            ],
            "title": "Merchant Defined Data"
          },
          "meta_key_merchant_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The merchant ID to use for this transaction. This requires a meta key to be set up for use with Cybersource Decision Manager, and this overrides the connector configuration.",
            "examples": [
              "merchant-1234"
            ],
            "title": "Meta Key Merchant Id"
          },
          "shipping_method": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The shipping method for this transaction.",
            "examples": [
              "sameday"
            ],
            "title": "Shipping Method"
          }
        },
        "title": "CybersourceAntiFraudOptions",
        "type": "object"
      },
      "CybersourceOptions": {
        "additionalProperties": false,
        "properties": {
          "meta_key_merchant_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The merchant ID to use for this transaction. This requires a meta key to be set up for use with Cybersource, and this overrides the connector configuration.",
            "examples": [
              "merchant-1234"
            ],
            "title": "Meta Key Merchant Id"
          },
          "merchant_defined_information": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "A list of merchant defined data to be passed to the Cybersource. Each key needs to be a numeric string.",
            "examples": [
              {
                "1": "data"
              }
            ],
            "title": "Merchant Defined Information"
          },
          "ship_to_method": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The shipping method for this transaction.",
            "examples": [
              "sameday"
            ],
            "title": "Ship To Method"
          },
          "comments": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Brief description of the order or any comment you wish to add to the order.",
            "examples": [
              "This order is for a new customer"
            ],
            "title": "Comments"
          }
        },
        "title": "CybersourceOptions",
        "type": "object"
      },
      "DlocalCardOptions": {
        "additionalProperties": false,
        "properties": {
          "three_dsecure_force": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Indicates whether to force dlocal hosted 3D Secure authentication for the card transaction.",
            "examples": [
              true
            ],
            "title": "Three Dsecure Force"
          }
        },
        "title": "DlocalCardOptions",
        "type": "object"
      },
      "DlocalOptions": {
        "additionalProperties": false,
        "properties": {
          "wallet": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DlocalWalletOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `wallet` data to the dLocal API for those connectors that need it."
          }
        },
        "title": "DlocalOptions",
        "type": "object"
      },
      "DlocalPIXOptions": {
        "additionalProperties": false,
        "properties": {
          "subscription": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DlocalPIXSubscriptionOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `subscription` data to the dLocal API for those connectors that need it."
          },
          "scheduled_date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Defines scheduled payment start date. Must be provided in ISO 8601 format `(YYYY-MM-DD`). If not specified, The default is 2 days in the future.",
            "examples": [
              "2030-12-01"
            ],
            "title": "Scheduled Date"
          }
        },
        "title": "DlocalPIXOptions",
        "type": "object"
      },
      "DlocalPIXSubscriptionAmountOptions": {
        "additionalProperties": false,
        "properties": {
          "type": {
            "description": "Indicates the amount type unit for the subscription. Allowed values are: `FIXED`, `VARIABLE`.",
            "enum": [
              "FIXED",
              "VARIABLE"
            ],
            "examples": [
              "FIXED"
            ],
            "title": "Type",
            "type": "string",
            "x-speakeasy-unknown-values": "allow"
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Fixed subscription amount in local currency. Required only for fixed amount subscriptions depending on the payment method.",
            "examples": [
              "10.00"
            ],
            "title": "Value"
          },
          "min_value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Minimum payer enrollment limit, not minimum recurring charge amount.",
            "examples": [
              "10.00"
            ],
            "title": "Min Value"
          }
        },
        "required": [
          "type",
          "min_value"
        ],
        "title": "DlocalPIXSubscriptionAmountOptions",
        "type": "object"
      },
      "DlocalPIXSubscriptionOptions": {
        "additionalProperties": false,
        "properties": {
          "amount": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DlocalPIXSubscriptionAmountOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `subscription.amount` to the dLocal API for those connectors that need it.",
            "examples": [
              {
                "min_value": "10.00",
                "type": "FIXED",
                "value": "589.01"
              }
            ]
          },
          "frequency": {
            "description": "Indicates the frequency unit for the subscription. Allowed values are: `WEEKLY`, `MONTHLY`, `QUARTERLY`, `SEMI_ANNUAL`, `ANNUAL`.",
            "enum": [
              "WEEKLY",
              "MONTHLY",
              "QUARTERLY",
              "SEMI_ANNUAL",
              "ANNUAL"
            ],
            "examples": [
              "WEEKLY"
            ],
            "title": "Frequency",
            "type": "string",
            "x-speakeasy-unknown-values": "allow"
          },
          "start_date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Defines subscription start date. Must be provided in ISO 8601 format `(YYYY-MM-DD`). If not specified, The default is the current date.",
            "examples": [
              "2030-12-01"
            ],
            "title": "Start Date"
          },
          "end_date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Defines subscription expiration date. Must be provided in ISO 8601 format `(YYYY-MM-DD`). If not provided, the subscription will not expire.",
            "examples": [
              "2030-12-01"
            ],
            "title": "End Date"
          }
        },
        "required": [
          "frequency"
        ],
        "title": "DlocalPIXSubscriptionOptions",
        "type": "object"
      },
      "DlocalUPIOptions": {
        "additionalProperties": false,
        "properties": {
          "wallet": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DlocalUPIWalletOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `wallet` data to the dLocal API for those connectors that need it."
          }
        },
        "title": "DlocalUPIOptions",
        "type": "object"
      },
      "DlocalUPIRecurringInfoOptions": {
        "additionalProperties": false,
        "properties": {
          "subscription_frequency_unit": {
            "description": "Indicates the frequency unit for the subscription. Allowed values are: `DAY`, `WEEK`, `MONTH`, `BI_MONTHLY`, `QUARTER`, `SEMI_ANNUALLY`, `YEAR`, `ONDEMAND`.",
            "enum": [
              "MONTH",
              "WEEK",
              "BI_MONTHLY",
              "ONDEMAND",
              "QUARTER",
              "YEAR",
              "SEMI_ANNUALLY",
              "DAY"
            ],
            "examples": [
              "MONTH"
            ],
            "title": "Subscription Frequency Unit",
            "type": "string",
            "x-speakeasy-unknown-values": "allow"
          },
          "subscription_frequency": {
            "description": "Indicates the frequency for the subscription.",
            "examples": [
              1
            ],
            "title": "Subscription Frequency",
            "type": "integer"
          },
          "subscription_start_at": {
            "description": "Indicates the start date for the subscription in format `YYYYMMDD`.",
            "examples": [
              "20231201"
            ],
            "title": "Subscription Start At",
            "type": "string"
          },
          "subscription_end_at": {
            "description": "Indicates the end date for the subscription in format `YYYYMMDD`.",
            "examples": [
              "20241201"
            ],
            "title": "Subscription End At",
            "type": "string"
          }
        },
        "required": [
          "subscription_frequency_unit",
          "subscription_frequency",
          "subscription_start_at",
          "subscription_end_at"
        ],
        "title": "DlocalUPIRecurringInfoOptions",
        "type": "object"
      },
      "DlocalUPIWalletOptions": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `wallet.name` to the dLocal API for those connectors that need it.",
            "examples": [
              "John Doe"
            ],
            "title": "Name"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `wallet.email` to the dLocal API for those connectors that need it.",
            "examples": [
              "john@example.com"
            ],
            "title": "Email"
          },
          "token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `wallet.token` to the dLocal API for those connectors that need it.",
            "examples": [
              "123456"
            ],
            "title": "Token"
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `wallet.username` to the dLocal API for those connectors that need it.",
            "examples": [
              "johnd"
            ],
            "title": "Username"
          },
          "verify": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `wallet.verify` to the dLocal API for those connectors that need it.",
            "examples": [
              true
            ],
            "title": "Verify"
          },
          "recurring_info": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DlocalUPIRecurringInfoOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `wallet.recurring_info` to the dLocal API for those connectors that need it.",
            "examples": [
              {
                "subscription_end_at": "20241201",
                "subscription_frequency": 1,
                "subscription_frequency_unit": "MONTH",
                "subscription_start_at": "20231201"
              }
            ]
          }
        },
        "title": "DlocalUPIWalletOptions",
        "type": "object"
      },
      "DlocalWalletOptions": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `wallet.name` to the dLocal API for those connectors that need it.",
            "examples": [
              "John Doe"
            ],
            "title": "Name"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `wallet.email` to the dLocal API for those connectors that need it.",
            "examples": [
              "john@example.com"
            ],
            "title": "Email"
          },
          "token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `wallet.token` to the dLocal API for those connectors that need it.",
            "examples": [
              "123456"
            ],
            "title": "Token"
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `wallet.username` to the dLocal API for those connectors that need it.",
            "examples": [
              "johnd"
            ],
            "title": "Username"
          },
          "verify": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes `wallet.verify` to the dLocal API for those connectors that need it.",
            "examples": [
              true
            ],
            "title": "Verify"
          }
        },
        "title": "DlocalWalletOptions",
        "type": "object"
      },
      "EcommpayOptions": {
        "additionalProperties": false,
        "properties": {
          "booking_start_date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The start date of the booking in ISO 8601 format (YYYY-MM-DD). Required for certain MCCs.",
            "examples": [
              "2030-12-01"
            ],
            "title": "Booking Start Date"
          },
          "booking_end_date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The end date of the booking in ISO 8601 format (YYYY-MM-DD). Required for certain MCCs.",
            "examples": [
              "2030-12-10"
            ],
            "title": "Booking End Date"
          }
        },
        "title": "EcommpayOptions",
        "type": "object"
      },
      "FiservInstallmentOptions": {
        "additionalProperties": false,
        "properties": {
          "numberOfInstallments": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes the `order.installmentOptions.numberOfInstallments` field to the Fiserv API.",
            "examples": [
              6
            ],
            "title": "Numberofinstallments"
          },
          "installmentsInterest": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes the `order.installmentOptions.installmentsInterest` field to the Fiserv API.",
            "examples": [
              true
            ],
            "title": "Installmentsinterest"
          },
          "installmentDelayMonths": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes the `order.installmentOptions.installmentDelayMonths` field to the Fiserv API.",
            "examples": [
              1
            ],
            "title": "Installmentdelaymonths"
          },
          "merchantAdviceCodeSupported": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes the `order.installmentOptions.merchantAdviceCodeSupported` field to the Fiserv API.",
            "examples": [
              true
            ],
            "title": "Merchantadvicecodesupported"
          }
        },
        "title": "FiservInstallmentOptions",
        "type": "object"
      },
      "FiservOptions": {
        "additionalProperties": false,
        "properties": {
          "installmentOptions": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/FiservInstallmentOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes installment data to the Fiserv API. This is now also a dedicated feature on the Gr4vy API."
          }
        },
        "title": "FiservOptions",
        "type": "object"
      },
      "ForterAntiFraudOptions": {
        "additionalProperties": false,
        "properties": {
          "delivery_type": {
            "anyOf": [
              {
                "enum": [
                  "DIGITAL",
                  "PHYSICAL",
                  "HYBRID"
                ],
                "type": "string",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The delivery type",
            "examples": [
              "DIGITAL"
            ],
            "title": "Delivery Type"
          },
          "delivery_method": {
            "anyOf": [
              {
                "maxLength": 50,
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The delivery method",
            "title": "Delivery Method"
          },
          "is_guest_buyer": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Defines if this payment is made using guest checkout.",
            "examples": [
              true
            ],
            "title": "Is Guest Buyer"
          },
          "cart_items": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ForterAntiFraudOptionsCartItem"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": [],
            "description": "A list of cart items details to pass to the Forter API.",
            "title": "Cart Items"
          },
          "total_discount": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ForterAntiFraudOptionsDiscount"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Information about the discount applied to this order."
          }
        },
        "title": "ForterAntiFraudOptions",
        "type": "object"
      },
      "ForterAntiFraudOptionsCartItem": {
        "additionalProperties": false,
        "properties": {
          "basic_item_data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ForterAntiFraudOptionsCartItemBasicItemData"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Basic information about the cart item."
          },
          "delivery_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ForterAntiFraudOptionsCartItemDeliveryDetails"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Details about how the item will be delivered."
          },
          "beneficiaries": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ForterAntiFraudOptionsCartItemBeneficiary"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": [],
            "description": "List of beneficiaries who will receive this item.",
            "title": "Beneficiaries"
          }
        },
        "title": "ForterAntiFraudOptionsCartItem",
        "type": "object"
      },
      "ForterAntiFraudOptionsCartItemBasicItemData": {
        "additionalProperties": false,
        "properties": {
          "type": {
            "anyOf": [
              {
                "enum": [
                  "TANGIBLE",
                  "NON_TANGIBLE"
                ],
                "type": "string",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Indicates whether the item is a physical good or a service/digital item.",
            "title": "Type"
          }
        },
        "title": "ForterAntiFraudOptionsCartItemBasicItemData",
        "type": "object"
      },
      "ForterAntiFraudOptionsCartItemBeneficiary": {
        "additionalProperties": false,
        "properties": {
          "personal_details": {
            "$ref": "#/components/schemas/ForterAntiFraudOptionsCartItemBeneficiaryPersonalDetails",
            "description": "Personal details of the beneficiary."
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ForterAntiFraudOptionsCartItemBeneficiaryAddress"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Address information of the beneficiary."
          },
          "phone": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ForterAntiFraudOptionsCartItemBeneficiaryPhone"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": [],
            "description": "Phone numbers associated with the beneficiary.",
            "title": "Phone"
          },
          "comments": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ForterAntiFraudOptionsCartItemBeneficiaryComments"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Comments related to the beneficiary."
          }
        },
        "required": [
          "personal_details"
        ],
        "title": "ForterAntiFraudOptionsCartItemBeneficiary",
        "type": "object"
      },
      "ForterAntiFraudOptionsCartItemBeneficiaryAddress": {
        "additionalProperties": false,
        "properties": {
          "country": {
            "description": "The country code of the beneficiary's address.",
            "examples": [
              "DE",
              "GB",
              "US"
            ],
            "pattern": "^[A-Z]{2}$",
            "title": "Country",
            "type": "string"
          },
          "address1": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "First line of the beneficiary's address.",
            "title": "Address1"
          },
          "address2": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Second line of the beneficiary's address.",
            "title": "Address2"
          },
          "zip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Zip or postal code of the beneficiary's address.",
            "title": "Zip"
          },
          "region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "State or region of the beneficiary's address.",
            "title": "Region"
          },
          "company": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Company name associated with the beneficiary's address.",
            "title": "Company"
          },
          "city": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "City of the beneficiary's address.",
            "title": "City"
          }
        },
        "required": [
          "country"
        ],
        "title": "ForterAntiFraudOptionsCartItemBeneficiaryAddress",
        "type": "object"
      },
      "ForterAntiFraudOptionsCartItemBeneficiaryComments": {
        "additionalProperties": false,
        "properties": {
          "user_comments_to_merchant": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Comments from the user to the merchant.",
            "title": "User Comments To Merchant"
          },
          "message_to_beneficiary": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Message intended for the beneficiary of the item.",
            "title": "Message To Beneficiary"
          },
          "merchant_comments": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Comments from the merchant about this transaction.",
            "title": "Merchant Comments"
          }
        },
        "title": "ForterAntiFraudOptionsCartItemBeneficiaryComments",
        "type": "object"
      },
      "ForterAntiFraudOptionsCartItemBeneficiaryPersonalDetails": {
        "additionalProperties": false,
        "properties": {
          "first_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "First name of the beneficiary.",
            "title": "First Name"
          },
          "last_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Last name of the beneficiary.",
            "title": "Last Name"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Email address of the beneficiary.",
            "title": "Email"
          }
        },
        "title": "ForterAntiFraudOptionsCartItemBeneficiaryPersonalDetails",
        "type": "object"
      },
      "ForterAntiFraudOptionsCartItemBeneficiaryPhone": {
        "additionalProperties": false,
        "properties": {
          "phone": {
            "description": "The phone number of the beneficiary.",
            "title": "Phone",
            "type": "string"
          }
        },
        "required": [
          "phone"
        ],
        "title": "ForterAntiFraudOptionsCartItemBeneficiaryPhone",
        "type": "object"
      },
      "ForterAntiFraudOptionsCartItemDeliveryDetails": {
        "additionalProperties": false,
        "properties": {
          "delivery_type": {
            "anyOf": [
              {
                "enum": [
                  "DIGITAL",
                  "PHYSICAL",
                  "HYBRID"
                ],
                "type": "string",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The type of delivery for this cart item.",
            "title": "Delivery Type"
          },
          "delivery_method": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The method of delivery for this cart item.",
            "title": "Delivery Method"
          }
        },
        "title": "ForterAntiFraudOptionsCartItemDeliveryDetails",
        "type": "object"
      },
      "ForterAntiFraudOptionsDiscount": {
        "additionalProperties": false,
        "properties": {
          "coupon_code_used": {
            "description": "The coupon code applied to the order.",
            "title": "Coupon Code Used",
            "type": "string"
          },
          "discount_type": {
            "description": "The type of discount applied to the order.",
            "title": "Discount Type",
            "type": "string"
          },
          "coupon_discount_amount": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ForterAntiFraudOptionsDiscountCouponDiscountAmount"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Monetary details of the discount amount."
          },
          "coupon_discount_percent": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The percentage discount applied via the coupon.",
            "title": "Coupon Discount Percent"
          }
        },
        "required": [
          "coupon_code_used",
          "discount_type"
        ],
        "title": "ForterAntiFraudOptionsDiscount",
        "type": "object"
      },
      "ForterAntiFraudOptionsDiscountCouponDiscountAmount": {
        "additionalProperties": false,
        "properties": {
          "amount_usd": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The discount amount in USD.",
            "title": "Amount Usd"
          },
          "amount_local_currency": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The discount amount in local currency.",
            "title": "Amount Local Currency"
          },
          "currency": {
            "anyOf": [
              {
                "examples": [
                  "EUR",
                  "GBP",
                  "USD"
                ],
                "pattern": "^[A-Z]{3}$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The currency code for the discount amount.",
            "title": "Currency"
          }
        },
        "title": "ForterAntiFraudOptionsDiscountCouponDiscountAmount",
        "type": "object"
      },
      "GivingBlockOptions": {
        "additionalProperties": false,
        "properties": {
          "defaultCryptocurrency": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The default cryptocurrency to present at checkout. This can be used to ensure the user is presented with the same currency in both your checkout and the Giving Block checkout.",
            "examples": [
              "BTC"
            ],
            "title": "Defaultcryptocurrency"
          }
        },
        "title": "GivingBlockOptions",
        "type": "object"
      },
      "GoCardlessOptions": {
        "additionalProperties": false,
        "properties": {
          "purpose_code": {
            "anyOf": [
              {
                "enum": [
                  "mortgage",
                  "utility",
                  "loan",
                  "dependant_support",
                  "gambling",
                  "retail",
                  "salary",
                  "personal",
                  "government",
                  "pension",
                  "tax",
                  "other"
                ],
                "type": "string",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Specifies the high-level purpose of a mandate and/or payment using a set of pre-defined categories. Required for the PayTo scheme, optional for all others",
            "examples": [
              "mortgage",
              "utility",
              "loan",
              "dependant_support",
              "gambling",
              "retail",
              "salary",
              "personal",
              "government",
              "pension",
              "tax",
              "other"
            ],
            "title": "Purpose Code"
          }
        },
        "title": "GoCardlessOptions",
        "type": "object"
      },
      "KlarnaOptions": {
        "additionalProperties": false,
        "properties": {
          "subscription": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/KlarnaSubscriptionOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Provides subscription information to Klarna."
          },
          "token_only_mode": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "When set to `true`, this will authorize the transaction with Klarna for the purposes of tokenizing the payment method with the transaction details. No funds will be captured and the authorization will be automatically voided. This is useful for up-sell scenarios where you want to tokenize a Klarna payment method for future use.",
            "examples": [
              true
            ],
            "title": "Token Only Mode"
          },
          "authorization_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "An authorization token returned by the Klarna Express Checkout JS SDK after the buyer completes payment in the embedded widget. When provided, the connector skips the HPP redirect and places the Klarna order directly using this token.",
            "examples": [
              "..."
            ],
            "title": "Authorization Token"
          }
        },
        "title": "KlarnaOptions",
        "type": "object"
      },
      "KlarnaSubscriptionOptions": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "The name of the subscription product. The recommended format includes a subscription id and double curly brackets.",
            "examples": [
              "Premium Membership {{{{12394832}}}}"
            ],
            "title": "Name",
            "type": "string"
          },
          "interval": {
            "description": "The cadence unit for the subscription plan.",
            "enum": [
              "DAY",
              "WEEK",
              "MONTH",
              "YEAR"
            ],
            "examples": [
              "DAY",
              "WEEK",
              "MONTH",
              "YEAR"
            ],
            "title": "Interval",
            "type": "string",
            "x-speakeasy-unknown-values": "allow"
          },
          "interval_count": {
            "description": "The number corresponding to the interval unit.",
            "examples": [
              1,
              2,
              3
            ],
            "title": "Interval Count",
            "type": "integer"
          },
          "reference": {
            "description": "Reference to a SKU in the transaction's cart items to link subscription to.",
            "examples": [
              "a0366204-2365-45fd-af60-23d0a59fdea9"
            ],
            "title": "Reference",
            "type": "string"
          }
        },
        "required": [
          "name",
          "interval",
          "interval_count",
          "reference"
        ],
        "title": "KlarnaSubscriptionOptions",
        "type": "object"
      },
      "LatitudeOptions": {
        "additionalProperties": false,
        "properties": {
          "promotion_reference": {
            "anyOf": [
              {
                "maxLength": 128,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The `promotionReference` field passed to the purchase API.",
            "examples": [
              "promotion-123"
            ],
            "title": "Promotion Reference"
          }
        },
        "title": "LatitudeOptions",
        "type": "object"
      },
      "MattildaTapiOptions": {
        "additionalProperties": false,
        "properties": {
          "payment_method_expires_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Defines the date at which the payment will expire if not completed. Must be provided in ISO 8601 format `(YYYY-MM-DD`). If not specified, it defaults to 7 days in the future from the current date.",
            "examples": [
              "2030-12-01"
            ],
            "title": "Payment Method Expires At"
          }
        },
        "title": "MattildaTapiOptions",
        "type": "object"
      },
      "MockCardMerchantAdviceCodeOptions": {
        "additionalProperties": false,
        "properties": {
          "result": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The MAC to return for this request.",
            "title": "Result"
          },
          "account_number": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "When set, the MAC is only returned if the card number matches this account number.",
            "title": "Account Number"
          }
        },
        "required": [
          "account_number"
        ],
        "title": "MockCardMerchantAdviceCodeOptions",
        "type": "object"
      },
      "MockCardOptions": {
        "additionalProperties": false,
        "properties": {
          "merchant_advice_code": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/MockCardMerchantAdviceCodeOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Allows for mocking the merchant advice code."
          },
          "skip_retry": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "When set to true, prevents retries on failed transactions.",
            "title": "Skip Retry"
          }
        },
        "title": "MockCardOptions",
        "type": "object"
      },
      "MonatoSpeiOptions": {
        "additionalProperties": false,
        "properties": {
          "approval_url": {
            "description": "Approval URL that will receive a charge payment method reference.",
            "examples": [
              "https://example.com"
            ],
            "title": "Approval Url",
            "type": "string"
          }
        },
        "required": [
          "approval_url"
        ],
        "title": "MonatoSpeiOptions",
        "type": "object"
      },
      "NuveiAirlineDataOptions": {
        "additionalProperties": false,
        "properties": {
          "seatClass": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The seat class of the booking",
            "examples": [
              "F"
            ],
            "title": "Seatclass"
          },
          "isCardholderTraveling": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Indicates whether the cardholder is also a passenger.",
            "examples": [
              true
            ],
            "title": "Iscardholdertraveling"
          }
        },
        "title": "NuveiAirlineDataOptions",
        "type": "object"
      },
      "NuveiIDealOptions": {
        "additionalProperties": false,
        "properties": {
          "customData": {
            "anyOf": [
              {
                "maxLength": 255,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Additional data to be sent to Nuvei.",
            "examples": [
              "user=123,trusted=false"
            ],
            "title": "Customdata"
          }
        },
        "title": "NuveiIDealOptions",
        "type": "object"
      },
      "NuveiKlarnaOptions": {
        "additionalProperties": false,
        "properties": {
          "customData": {
            "anyOf": [
              {
                "maxLength": 255,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Additional data to be sent to Nuvei.",
            "examples": [
              "user=123,trusted=false"
            ],
            "title": "Customdata"
          }
        },
        "title": "NuveiKlarnaOptions",
        "type": "object"
      },
      "NuveiOptions": {
        "additionalProperties": false,
        "properties": {
          "customData": {
            "anyOf": [
              {
                "maxLength": 255,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "General data about the customer provided by the merchant.",
            "examples": [
              "user=123,trusted=false"
            ],
            "title": "Customdata"
          },
          "airlineData": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/NuveiAirlineDataOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Provides additional airline data for Nuvei payments."
          }
        },
        "title": "NuveiOptions",
        "type": "object"
      },
      "NuveiPSEOptions": {
        "additionalProperties": false,
        "properties": {
          "userType": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Customer type (\"N\" for persona natural, \"J\" for persona jurídica)",
            "examples": [
              "N"
            ],
            "title": "Usertype"
          },
          "userFisNumber": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Customer's document type",
            "examples": [
              "CC"
            ],
            "title": "Userfisnumber"
          },
          "fiscalNumber": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Customer's document number",
            "examples": [
              "CC"
            ],
            "title": "Fiscalnumber"
          },
          "bankCode": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The bank code of the selected bank",
            "examples": [
              "5432"
            ],
            "title": "Bankcode"
          }
        },
        "title": "NuveiPSEOptions",
        "type": "object"
      },
      "OxxoOptions": {
        "additionalProperties": false,
        "properties": {
          "payment_method_expires_at": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Defines a custom expiration time (unix time) after which Oxxo payment requests are cancelled",
            "examples": [
              1750074293
            ],
            "title": "Payment Method Expires At"
          },
          "approval_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Approval URL that will receive a charge payment method reference.",
            "examples": [
              "https://example.com"
            ],
            "title": "Approval Url"
          }
        },
        "title": "OxxoOptions",
        "type": "object"
      },
      "PaypalOptions": {
        "additionalProperties": false,
        "properties": {
          "order_update_callback_config": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PaypalOrderUpdateCallbackConfig"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Configuration for server-side callbacks during the PayPal checkout flow."
          },
          "additional_data": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Additional Set Transaction Context Values (STC) to be sent to PayPal as part of the transaction.",
            "examples": [
              {
                "sender_account_id": "customer-1234"
              }
            ],
            "title": "Additional Data"
          },
          "shipping": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PaypalShippingOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Shipping information to be passed to the PayPal API.",
            "examples": [
              {
                "options": [
                  {
                    "amount": {
                      "currency_code": "USD",
                      "value": "10.00"
                    },
                    "id": "ship_1234",
                    "label": "Free Shipping",
                    "selected": true,
                    "type": "SHIPPING"
                  }
                ]
              }
            ]
          },
          "user_action": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Customizes the PayPal Checkout button text. Use `PAY_NOW` to show a pay now button, or `CONTINUE` to show a continue button for deferred payments.",
            "examples": [
              "PAY_NOW",
              "CONTINUE"
            ],
            "title": "User Action"
          },
          "shipping_preference": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Controls the shipping address display in the PayPal Checkout flow. Use `GET_FROM_FILE` to use the shipping address from the PayPal account, `NO_SHIPPING` to hide shipping address fields, or `SET_PROVIDED_ADDRESS` to use the shipping address provided in the request.",
            "examples": [
              "GET_FROM_FILE",
              "NO_SHIPPING",
              "SET_PROVIDED_ADDRESS"
            ],
            "title": "Shipping Preference"
          },
          "brand_name": {
            "anyOf": [
              {
                "maxLength": 127,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The merchant brand name that appears in the PayPal Checkout flow. Maximum 127 characters.",
            "examples": [
              "Acme Store"
            ],
            "title": "Brand Name"
          },
          "landing_page": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The type of landing page to display on the PayPal Checkout. Use `LOGIN` to show the PayPal login page, `GUEST_CHECKOUT` to show the guest checkout page, or `NO_PREFERENCE` to let PayPal decide.",
            "examples": [
              "LOGIN",
              "GUEST_CHECKOUT",
              "NO_PREFERENCE"
            ],
            "title": "Landing Page"
          },
          "locale": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The BCP 47 locale used to localize the PayPal Checkout page. For example, `en-US` or `fr-FR`.",
            "examples": [
              "en-US",
              "fr-FR"
            ],
            "title": "Locale"
          }
        },
        "title": "PaypalOptions",
        "type": "object"
      },
      "PaypalOrderUpdateCallbackConfig": {
        "additionalProperties": false,
        "properties": {
          "callback_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The URL for the webhook endpoint you provide for PayPal to send you order update events.",
            "examples": [
              "https://example.com/callback"
            ],
            "title": "Callback Url"
          },
          "callback_events": {
            "anyOf": [
              {
                "items": {
                  "enum": [
                    "SHIPPING_ADDRESS",
                    "SHIPPING_OPTIONS"
                  ],
                  "type": "string",
                  "x-speakeasy-unknown-values": "allow"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The events that trigger a callback.",
            "examples": [
              [
                "SHIPPING_ADDRESS",
                "SHIPPING_OPTIONS"
              ]
            ],
            "title": "Callback Events"
          }
        },
        "title": "PaypalOrderUpdateCallbackConfig",
        "type": "object"
      },
      "PaypalShippingOptions": {
        "additionalProperties": false,
        "properties": {
          "options": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/PaypalShippingOptionsItem"
                },
                "maxItems": 10,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Shipping options that the payee or merchant offers to the payer to ship or pick up their items.",
            "title": "Options"
          }
        },
        "title": "PaypalShippingOptions",
        "type": "object"
      },
      "PaypalShippingOptionsItem": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "description": "A unique ID that identifies a payer-selected shipping option.",
            "maxLength": 127,
            "minLength": 1,
            "title": "Id",
            "type": "string"
          },
          "label": {
            "description": "A description that the payer sees, which helps them choose an appropriate shipping option.",
            "examples": [
              "Free Shipping",
              "USPS Priority Shipping",
              "Expédition prioritaire USPS",
              "USPS yōuxiān fā huò"
            ],
            "maxLength": 127,
            "minLength": 1,
            "title": "Label",
            "type": "string"
          },
          "selected": {
            "description": "If the API request sets selected = true, it represents the shipping option that the payee or merchant expects to be pre-selected for the payer when they first view the shipping.options in the PayPal Checkout experience. Only one shipping.option can be set to selected=true.",
            "title": "Selected",
            "type": "boolean"
          },
          "type": {
            "anyOf": [
              {
                "enum": [
                  "SHIPPING",
                  "PICKUP",
                  "PICKUP_IN_STORE",
                  "PICKUP_FROM_PERSON"
                ],
                "type": "string",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "A classification for the method of purchase fulfillment.",
            "examples": [
              "SHIPPING",
              "PICKUP",
              "PICKUP_IN_STORE",
              "PICKUP_FROM_PERSON"
            ],
            "title": "Type"
          },
          "amount": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PaypalShippingOptionsItemAmount"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The shipping cost for the selected option."
          }
        },
        "required": [
          "id",
          "label",
          "selected"
        ],
        "title": "PaypalShippingOptionsItem",
        "type": "object"
      },
      "PaypalShippingOptionsItemAmount": {
        "additionalProperties": false,
        "properties": {
          "currency_code": {
            "description": "The three-character ISO currency code.",
            "examples": [
              "EUR",
              "GBP",
              "USD"
            ],
            "pattern": "^[A-Z]{3}$",
            "title": "Currency Code",
            "type": "string"
          },
          "value": {
            "description": "The amount value, which might include a decimal portion.",
            "examples": [
              "10.00"
            ],
            "maxLength": 32,
            "minLength": 1,
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "currency_code",
          "value"
        ],
        "title": "PaypalShippingOptionsItemAmount",
        "type": "object"
      },
      "PowertranzOptions": {
        "additionalProperties": false,
        "properties": {
          "skipThreeDSecure": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": false,
            "description": "Indicates to PowerTranz whether to skip the 3DS authentication for this transaction.",
            "examples": [
              true
            ],
            "title": "Skipthreedsecure"
          }
        },
        "title": "PowertranzOptions",
        "type": "object"
      },
      "RiskifiedAntiFraudOptions": {
        "additionalProperties": false,
        "properties": {
          "line_items": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/RiskifiedAntiFraudOptionsLineItem"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": [],
            "description": "A list of line items details to override when passing to the Riskified API.",
            "title": "Line Items"
          }
        },
        "title": "RiskifiedAntiFraudOptions",
        "type": "object"
      },
      "RiskifiedAntiFraudOptionsLineItem": {
        "additionalProperties": false,
        "properties": {
          "delivered_to": {
            "anyOf": [
              {
                "enum": [
                  "shipping_address",
                  "store_pickup"
                ],
                "type": "string",
                "x-speakeasy-unknown-values": "allow"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Indicates whether the item will be shipped or picked up.",
            "title": "Delivered To"
          }
        },
        "title": "RiskifiedAntiFraudOptionsLineItem",
        "type": "object"
      },
      "StripeCardOptions": {
        "additionalProperties": false,
        "properties": {
          "stripe_connect": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StripeConnectOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Stripe options to support Stripe Connect"
          },
          "customer_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "A Stripe customer ID (`cus_xxx`) to associate with the PaymentIntent for network token transactions. When provided, Stripe Radar can access the customer's payment history, dispute rate, and account age to improve risk scoring for returning customers.",
            "examples": [
              "cus_UgwySgjyKWrN5o"
            ],
            "title": "Customer Id"
          },
          "error_on_requires_action": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Passes the `error_on_requires_action` option to the Stripe API. Set to true to fail the payment attempt if it transitions into requires_action. Use this parameter for simpler integrations that don't handle customer actions, such as saving cards without authentication.",
            "examples": [
              true
            ],
            "title": "Error On Requires Action"
          }
        },
        "title": "StripeCardOptions",
        "type": "object"
      },
      "StripeConnectOptions": {
        "additionalProperties": false,
        "properties": {
          "stripe_account": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The Stripe Connect account to target using the `Stripe-Account` header.",
            "examples": [
              "act_123456"
            ],
            "title": "Stripe Account"
          },
          "application_fee_amount": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The fee to charge the connected account.",
            "examples": [
              "123"
            ],
            "title": "Application Fee Amount"
          },
          "on_behalf_of": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The Stripe Connect account to target using the `on_behalf_of` request parameter.",
            "examples": [
              "act_123456"
            ],
            "title": "On Behalf Of"
          },
          "transfer_data_destination": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The Stripe Connect account to target using the `transfer_data.destination` request parameter.",
            "examples": [
              "act_123456"
            ],
            "title": "Transfer Data Destination"
          },
          "transfer_group": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "A string that identifies the payment as part of a group.",
            "examples": [
              "ORDER100"
            ],
            "title": "Transfer Group"
          }
        },
        "title": "StripeConnectOptions",
        "type": "object"
      },
      "StripeOptions": {
        "additionalProperties": false,
        "properties": {
          "stripe_connect": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StripeConnectOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Stripe options to support Stripe Connect"
          }
        },
        "title": "StripeOptions",
        "type": "object"
      },
      "TravelHubCustomData": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "The key of the custom data field.",
            "examples": [
              "user_id"
            ],
            "title": "Name",
            "type": "string"
          },
          "value": {
            "description": "The value of the custom data field.",
            "examples": [
              "user-123"
            ],
            "title": "Value",
            "type": "string"
          },
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The type of the custom data field.",
            "title": "Type"
          }
        },
        "required": [
          "name",
          "value"
        ],
        "title": "TravelHubCustomData",
        "type": "object"
      },
      "TravelhubOptions": {
        "additionalProperties": false,
        "properties": {
          "customData": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/TravelHubCustomData"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "A list of `customData` to pass to the TravelHub API.",
            "title": "Customdata"
          },
          "companyName": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Customer company name to pass to the TravelHub API.",
            "title": "Companyname"
          }
        },
        "title": "TravelhubOptions",
        "type": "object"
      },
      "TrustlyOptions": {
        "additionalProperties": false,
        "properties": {
          "refreshSplitToken": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Indicates to Gr4vy whether or not the stored Trustly agreement needs refreshing.",
            "examples": [
              true
            ],
            "title": "Refreshsplittoken"
          }
        },
        "title": "TrustlyOptions",
        "type": "object"
      },
      "WorldpayVapOptions": {
        "additionalProperties": false,
        "properties": {
          "reportGroup": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Overrides the default report group to pass to the Worldpay VAP API.",
            "title": "Reportgroup"
          },
          "orderId": {
            "anyOf": [
              {
                "maxLength": 256,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Overrides the `orderId` passed to the Worldpay VAP API, which defaults to the Gr4vy transaction ID.",
            "examples": [
              "order-123"
            ],
            "title": "Orderid"
          }
        },
        "title": "WorldpayVapOptions",
        "type": "object"
      },
      "WpayEverdaypayOptions": {
        "additionalProperties": false,
        "properties": {
          "merchant_defined_data": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "A dictionary of merchant defined data, to be passed to Wpay for anti-fraud control.",
            "title": "Merchant Defined Data"
          },
          "customerId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The customer ID for the Everyday Rewards account.",
            "title": "Customerid"
          },
          "rewardsAccessToken": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The access token for the Everyday Rewards account.",
            "title": "Rewardsaccesstoken"
          },
          "deviceId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The ID of the device on which the payment is occuring.",
            "title": "Deviceid"
          },
          "postPaymentRedirect": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Whether the transaction should redirect post-payment",
            "examples": [
              true
            ],
            "title": "Postpaymentredirect"
          }
        },
        "title": "WpayEverdaypayOptions",
        "type": "object"
      },
      "WpayPaytoOptions": {
        "additionalProperties": false,
        "properties": {
          "instrument": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/WpayPaytoResourceOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Options to pass to the `instrument` resource in the Wpay PayTo API."
          },
          "payment": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/WpayPaytoResourceOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Options to pass to the `payment` resource in the Wpay PayTo API."
          },
          "refund": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/WpayPaytoResourceOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Options to pass to the `refund` resource in the Wpay PayTo API."
          }
        },
        "title": "WpayPaytoOptions",
        "type": "object"
      },
      "WpayPaytoResourceOptions": {
        "additionalProperties": false,
        "properties": {
          "simulation": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/WpayPaytoSimulationOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Simulate responses for this resource."
          }
        },
        "title": "WpayPaytoResourceOptions",
        "type": "object"
      },
      "WpayPaytoSimulationOptions": {
        "additionalProperties": false,
        "properties": {
          "simulate": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The simulation being requested. Please refer to the developer guide for a list of all available simulations.",
            "title": "Simulate"
          },
          "delay": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The delay in seconds before the requested simulation is executed.",
            "examples": [
              5
            ],
            "title": "Delay"
          }
        },
        "title": "WpayPaytoSimulationOptions",
        "type": "object"
      },
      "TransactionConnectionOptions": {
        "additionalProperties": false,
        "properties": {
          "account-updater": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AccountUpdaterOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `account-updater` connector, allowing for simulating different account updater responses."
          },
          "adyen-ach": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdyenOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `adyen-ach` connector."
          },
          "adyen-afterpay": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdyenOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `adyen-afterpay` connector."
          },
          "adyen-cashappafterpay": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdyenOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `adyen-cashappafterpay` connector."
          },
          "adyen-alipay": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdyenOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `adyen-alipay` connector."
          },
          "adyen-card": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdyenCardOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `adyen-card` connector."
          },
          "adyen-cashapp": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdyenOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `adyen-cashapp` connector."
          },
          "adyen-gcash": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdyenOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `adyen-gcash` connector."
          },
          "adyen-giropay": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdyenOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `adyen-giropay` connector."
          },
          "adyen-ideal": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdyenOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `adyen-ideal` connector."
          },
          "adyen-konbini": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdyenOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `adyen-konbini` connector."
          },
          "adyen-paybybank": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdyenOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `adyen-paybybank` connector."
          },
          "adyen-paypay": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdyenOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `adyen-paypay` connector."
          },
          "adyen-pix": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdyenPixOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `adyen-pix` connector."
          },
          "adyen-sepa": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdyenSepaOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `adyen-sepa` connector."
          },
          "adyen-seveneleven": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdyenOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `adyen-seveneleven` connector."
          },
          "adyen-sofort": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdyenOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `adyen-sofort` connector."
          },
          "adyen-swish": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdyenOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `adyen-swish` connector."
          },
          "adyen-vipps": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdyenOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `adyen-vipps` connector."
          },
          "affirm-affirm": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AffirmOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `affirm-affirm` connector."
          },
          "braintree-card": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BraintreeOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `braintree-card` connector."
          },
          "chaseorbital-card": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ChaseOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `chaseorbital-card` connector."
          },
          "cybersource-anti-fraud": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CybersourceAntiFraudOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `cybersource-anti-fraud` connector."
          },
          "cybersource-card": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CybersourceOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `cybersource-card` connector."
          },
          "cybersource-ideal": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CybersourceOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `cybersource-ideal` connector."
          },
          "cybersource-kcp": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CybersourceOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `cybersource-kcp` connector."
          },
          "dlocal-card": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DlocalCardOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `dlocal-card` connector."
          },
          "dlocal-nequi": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DlocalOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `dlocal-nequi` connector."
          },
          "dlocal-upi": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DlocalUPIOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `dlocal-upi` connector."
          },
          "dlocal-pix": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DlocalPIXOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `dlocal-pix` connector."
          },
          "dlocal-gcash": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DlocalOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `dlocal-gcash` connector."
          },
          "ecommpay-card": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/EcommpayOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `ecommpay-card` connector."
          },
          "klarna-klarna": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/KlarnaOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `klarna-klarna` connector."
          },
          "fiserv-card": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/FiservOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `fiserv-card` connector."
          },
          "forter-anti-fraud": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ForterAntiFraudOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `forter-anti-fraud` connector."
          },
          "gem-gem": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/LatitudeOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `gem-gem` connector."
          },
          "gem-gemds": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/LatitudeOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `gem-gemds` connector."
          },
          "givingblock-givingblock": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/GivingBlockOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `givingblock-givingblock` connector."
          },
          "gocardless-gocardless": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/GoCardlessOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `gocardless-gocardless` connector."
          },
          "latitude-latitude": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/LatitudeOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `latitude-latitude` connector."
          },
          "latitude-latitudeds": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/LatitudeOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `latitude-latitudeds` connector."
          },
          "mattilda-tapi": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/MattildaTapiOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `mattilda-tapi` connector."
          },
          "mattilda-tapifintechs": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/MattildaTapiOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `mattilda-tapifintechs` connector."
          },
          "monato-spei": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/MonatoSpeiOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `monato-spei` connector."
          },
          "mock-card": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/MockCardOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `mock-card` connector."
          },
          "mockds-card": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/MockCardOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `mockds-card` connector."
          },
          "nuvei-card": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/NuveiOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `nuvei-card` connector."
          },
          "nuvei-ideal": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/NuveiIDealOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `nuvei-ideal` connector."
          },
          "nuvei-klarna": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/NuveiKlarnaOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `nuvei-klarna` connector."
          },
          "nuvei-pse": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/NuveiPSEOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `nuvei-pse` connector."
          },
          "oxxo-oxxo": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/OxxoOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `oxxo-oxxo` connector."
          },
          "paypal-paypal": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PaypalOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `paypal-paypal` connector."
          },
          "paypal-paypalpaylater": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PaypalOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `paypal-paypalpaylater` connector."
          },
          "powertranz-card": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PowertranzOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `powertranz-card` connector."
          },
          "riskified-anti-fraud": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RiskifiedAntiFraudOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `riskified-anti-fraud` connector."
          },
          "stripe-affirm": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StripeOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `stripe-affirm` connector."
          },
          "stripe-card": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StripeCardOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `stripe-card` connector."
          },
          "stripe-klarna": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StripeOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `stripe-klarna` connector."
          },
          "stripe-onelink": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StripeOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `stripe-onelink` connector."
          },
          "stripe-stripe": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StripeOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `stripe-stripe` connector."
          },
          "travelhub-card": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TravelhubOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `travelhub-card` connector."
          },
          "trustly-trustly": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TrustlyOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `trustly-trustly` connector."
          },
          "worldpayvap-card": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/WorldpayVapOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `worldpayvap-card` connector."
          },
          "wpay-everydaypay": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/WpayEverdaypayOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `wpay-everydaypay` connector."
          },
          "wpay-payto": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/WpayPaytoOptions"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Custom options to be passed to the `wpay-payto` connector."
          }
        },
        "title": "TransactionConnectionOptions",
        "type": "object"
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "tags": [
    {
      "name": "3DS scenarios",
      "description": "Manage and create 3DS scenarios in sandbox."
    },
    {
      "name": "Account updater",
      "description": "Schedule stored cards for an account update."
    },
    {
      "name": "API key pairs",
      "description": "Manage API key pairs."
    },
    {
      "name": "Audit logs",
      "description": "Query user activity."
    },
    {
      "name": "Buyers",
      "description": "Manage buyers."
    },
    {
      "name": "Buyers - Gift cards",
      "description": "Query gift cards for buyers."
    },
    {
      "name": "Buyers - Payment methods",
      "description": "Query payment methods for buyers."
    },
    {
      "name": "Buyers - Shipping details",
      "description": "Manage shipping details for buyers."
    },
    {
      "name": "Card details",
      "description": "Returns information about a card."
    },
    {
      "name": "Card scheme definitions",
      "description": "List definitions for card schemes."
    },
    {
      "name": "Checkout sessions",
      "description": "Manage checkout sessions."
    },
    {
      "name": "Digital wallets - Sessions",
      "description": "Create sessions for digital wallets like Apple Pay and Google Pay."
    },
    {
      "name": "Digital wallets - Setup",
      "description": "Manage digital wallets like Apple Pay and Google Pay."
    },
    {
      "name": "Gift cards",
      "description": "Manage stored gift cards."
    },
    {
      "name": "Insights",
      "description": "Retrieve Insights data."
    },
    {
      "name": "Insights - Presets",
      "description": "Manage presets for Insights."
    },
    {
      "name": "Merchant accounts",
      "description": "Manage merchant accounts in an instance."
    },
    {
      "name": "Merchant accounts - 3DS configuration",
      "description": "Manage 3DS profiles for merchant accounts."
    },
    {
      "name": "Monitoring",
      "description": "Manage monitoring and alerting."
    },
    {
      "name": "Payment links",
      "description": "Manage payment links."
    },
    {
      "name": "Payment methods",
      "description": "Manage stored payment methods."
    },
    {
      "name": "Payment methods - Definitions",
      "description": "Manage payment method definitions."
    },
    {
      "name": "Payment methods - Network tokens",
      "description": "Manage network tokens for stored payment methods."
    },
    {
      "name": "Payment methods - Payment service tokens",
      "description": "Manage payment service tokens for stored payment methods."
    },
    {
      "name": "Payment options",
      "description": "Fetch a list of payment options to display at checkout."
    },
    {
      "name": "Payment service definitions",
      "description": "Fetch info about the definition of each payment service."
    },
    {
      "name": "Payment services",
      "description": "Manage configured payment services."
    },
    {
      "name": "Payouts",
      "description": "Payout API."
    },
    {
      "name": "Refunds",
      "description": "Manage transaction refunds."
    },
    {
      "name": "Reports",
      "description": "Manage one-off and scheduled reports."
    },
    {
      "name": "Reports - Executions",
      "description": "Manage executions of reports."
    },
    {
      "name": "Roles",
      "description": "List the roles that can be assigned to users and API key pairs."
    },
    {
      "name": "Transactions",
      "description": "Manage transaction."
    },
    {
      "name": "Transactions - Actions",
      "description": "Read Flow actions triggered for a transaction."
    },
    {
      "name": "Transactions - Captures",
      "description": "Read transaction capture data."
    },
    {
      "name": "Transactions - Chargebacks",
      "description": "Read transaction chargeback data."
    },
    {
      "name": "Transactions - Chargeback reversals",
      "description": "Read transaction chargeback reversal data."
    },
    {
      "name": "Transactions - Settlements",
      "description": "Read transaction settlement data."
    },
    {
      "name": "Transactions - Refund settlements",
      "description": "Read transaction refund settlement data."
    },
    {
      "name": "Transactions - Sessions",
      "description": "Manage transaction session data."
    },
    {
      "name": "Webhook subscriptions",
      "description": "Manage webhook subscriptions."
    }
  ],
  "servers": [
    {
      "url": "https://api.sandbox.{id}.gr4vy.app",
      "x-speakeasy-server-id": "sandbox",
      "variables": {
        "id": {
          "default": "example",
          "description": "The subdomain for your Gr4vy instance."
        }
      }
    },
    {
      "url": "https://api.{id}.gr4vy.app",
      "x-speakeasy-server-id": "production",
      "variables": {
        "id": {
          "default": "example",
          "description": "The subdomain for your Gr4vy instance."
        }
      }
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "x-speakeasy-globals": {
    "parameters": [
      {
        "name": "x-gr4vy-merchant-account-id",
        "in": "header",
        "required": false,
        "schema": {
          "type": "string",
          "description": "The ID of the merchant account to use for this request.",
          "examples": [
            "default"
          ],
          "title": "X-Gr4Vy-Merchant-Account-Id"
        },
        "description": "The ID of the merchant account to use for this request.",
        "x-speakeasy-name-override": "merchant_account_id"
      }
    ]
  }
}