{
  "openapi": "3.0.4",
  "info": {
    "title": "V2 (Beta)",
    "description": "Safepay API - API spec. is not final, changes may be introduced",
    "version": "v2"
  },
  "paths": {
    "/v2/checkout/auto": {
      "post": {
        "tags": [
          "Checkout"
        ],
        "description": "Safepay API (Beta - API specification is not final, changes may be introduced)",
        "parameters": [
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Auto.Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Auto.Model"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          }
        }
      }
    },
    "/v2/checkout/marketplace": {
      "post": {
        "tags": [
          "Checkout"
        ],
        "description": "Safepay API (Beta - API specification is not final, changes may be introduced)",
        "parameters": [
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Marketplace.Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Marketplace.Model"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          }
        }
      }
    },
    "/v2/connect": {
      "post": {
        "tags": [
          "Connect"
        ],
        "summary": "Connect flow",
        "description": "Connect flow.\r\n\r\nGenerates a ConnectUrl where the user can be validated and connected to Safepay.\r\n\r\nMissing user information, such as phone number or KYC/KYB this will trigger addtional steps in the flow.\r\n\r\nAfter the flow the user will be redirected to the ReturnUrl if supplied, otherwise the flow will end on a exit page.\r\n\r\nThe user should be redirected to the ConnectUrl to start the flow.",
        "parameters": [
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Initialize.Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Initialize.Model"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          }
        }
      }
    },
    "/v2/connect/{referenceId}": {
      "get": {
        "tags": [
          "Connect"
        ],
        "summary": "Get connect",
        "description": "Get connect.\r\n\r\nGets information from the connect flow based on 'ReferenceId'.\r\n\r\nThis should be used to translate a 'ReferenceId' into a 'SafepayAccountId'.",
        "parameters": [
          {
            "name": "referenceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetConnect.Model"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/connect/{referenceId}/delete": {
      "post": {
        "tags": [
          "Connect"
        ],
        "summary": "Delete a connection for a user",
        "description": "Deletes the connection for the user to tenant",
        "parameters": [
          {
            "name": "referenceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/documents": {
      "post": {
        "tags": [
          "Documents"
        ],
        "summary": "Create document for signing",
        "description": "Create document for signing",
        "parameters": [
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/CreateDocument.Request"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/CreateDocument.Request"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateDocument.Model"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      },
      "get": {
        "tags": [
          "Documents"
        ],
        "summary": "List documents",
        "description": "List documents",
        "parameters": [
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetDocuments.Model"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/documents/{documentId}": {
      "get": {
        "tags": [
          "Documents"
        ],
        "summary": "Get document",
        "description": "Get document",
        "parameters": [
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetDocument.Model"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/documents/{documentId}/sign": {
      "post": {
        "tags": [
          "Documents"
        ],
        "summary": "Sign document",
        "description": "Sign document.\r\n\r\nGenerates a unique URL where the user can sign the document. If supplied the user will be redirect to ReturnUrl after signature flow.",
        "parameters": [
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SignDocument.Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SignDocument.Model"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/documents/{documentId}/download": {
      "get": {
        "tags": [
          "Documents"
        ],
        "summary": "Download document",
        "description": "Download document.\r\n\r\nReturns a URL where the document can be downloaded.\r\n\r\nIf the document is signed, the URL links to the signed document, otherwise it links to the original uploaded document.",
        "parameters": [
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetDocumentSignedOrPreviewUrl.Model"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/documents/{documentId}/delete": {
      "post": {
        "tags": [
          "Documents"
        ],
        "summary": "Delete document",
        "description": "Delete document.\r\n\r\nNotice: This will also delete uploaded documents including signed versions.",
        "parameters": [
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/payments": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Creates a payment for transaction",
        "description": "Creates a new payment and attaches it to a transaction by 'transactionId'\r\n\r\nThe user can be redirected to the Url to start a payment flow",
        "parameters": [
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePayment.Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatePayment.Response"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/payments/{paymentId}/initialize": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Initializes a payment link",
        "description": "Generates a new payment link for 'paymentId'\r\n\r\nThis endpoint can generate direct links til PSD2 and VippsMobilepay payment methods. If no payment method is supplied, the user will be presented with UI for payment selection.\r\n\r\nThe user can be redirected to the Url to start a payment flow",
        "parameters": [
          {
            "name": "paymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InitializePayment.Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InitializePayment.Response"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/transactions": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "List transactions",
        "description": "List transactions",
        "parameters": [
          {
            "name": "Skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Take",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ReferenceId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetTransactions.Model"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/transactions/{transactionId}": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "Get transaction",
        "description": "Get transaction",
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetTransaction.Model"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/transactions/{transactionId}/delete": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "Delete a transaction by 'transactionId'",
        "description": "Delete a transaction by 'transactionId'.\r\n\r\nThis is only allowed for transactions without payments. Look at 'Cancel transaction' to cancel transaction with payments.",
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found"
          },
          "400": {
            "description": "Bad Request"
          }
        }
      }
    },
    "/v2/transactions/{transactionId}/cancel": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "Cancel a transaction by 'transactionId'",
        "description": "Cancel a transaction by 'transactionId'.\r\n\r\nSuccesful payments will be returned/refunded to Payer.",
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReturnPayout.Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/transactions/{transactionId}/payout": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "Succeed a transaction by 'transactionId'",
        "description": "Succeed a transaction by 'transactionId'.\r\n\r\nThe transaction will be marked as Success and payouts defined in transaction will be scheduled for payout.",
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReleasePayout.Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/transactions/{transactionId}/update": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "Update transaction",
        "description": "Updates modifiable transaction properties",
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTransaction.Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/v2/transactions/{transactionId}/reimburse-payer": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "Reimburse a payer for a transaction",
        "description": "Reimburses the payer of a transaction by the specified amount.\r\n\r\nThe payer will be identified from the transaction and reimbursed for the given amount.",
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReimbursePayerEndpoint.Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/v2/transactions/{transactionId}/debt-information": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "Add debt information to a transaction",
        "description": "Adds debt information to a transaction including documentation (PDF), amount, FIK code, and bank account details.\r\n\r\nMaximum file size: 10 MB. Only PDF files are accepted.",
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/AddDebtInformation.Request"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/AddDebtInformation.Request"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/transactions/{transactionId}/debt-information/download": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "Download debt document",
        "description": "Returns a temporary URL to download the debt document associated with a transaction. The URL is valid for 5 minutes.",
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DownloadDebtDocument.Model"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/transactions/{transactionId}/bill-of-sale": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "Add or update bill of sale for a transaction",
        "description": "Add or update the bill of sale for an auto transaction.\r\n\r\nThree modes are supported (checked in order):\r\n- Enable=true: Auto-generate bill of sale from transaction data\r\n- Document: Upload a PDF file directly (max 10 MB)\r\n- Url: Provide URL to external PDF to download\r\n\r\nOnly available for Auto transactions.",
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/AddBillOfSale.Request"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/AddBillOfSale.Request"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/transactions/{transactionId}/change-amount": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "description": "Safepay API (Beta - API specification is not final, changes may be introduced)",
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeAmount.Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/transactions/{transactionId}/add-payee": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "description": "Safepay API (Beta - API specification is not final, changes may be introduced)",
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddPayee.Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/transactions/{transactionId}/add-payer": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "description": "Safepay API (Beta - API specification is not final, changes may be introduced)",
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddPayer.Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/users": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "List users",
        "description": "List users",
        "parameters": [
          {
            "name": "Skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Take",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Public",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetUsers.Model"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/users/{safepayAccountId}": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get user",
        "description": "Get user",
        "parameters": [
          {
            "name": "safepayAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetUser.Model"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/users/{safepayAccountId}/banks": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "List banks",
        "description": "List banks.\r\n\r\nLists the banks available for bank account onboarding",
        "parameters": [
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetBanks.Model"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/users/{safepayAccountId}/bank-accounts": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "List bank accounts connected to user",
        "description": "List bank accounts connected to user                        ",
        "parameters": [
          {
            "name": "safepayAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetBankAccounts.Model"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/users/{safepayAccountId}/bank-accounts/initialize": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Initialize bank account onboarding",
        "description": "Initialize bank account onboarding.\r\n\r\nThis will generate a URL where the user will be validated and able to select bank accounts for the supplied BankId. If ReturnUrl is supplied, the user will be returned after bank account validation.\r\n\r\nThe user should be redirected to the returned URL.",
        "parameters": [
          {
            "name": "safepayAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InitializeBankAccount.Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InitializeBankAccount.Model"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "400": {
            "description": "Bad Request"
          }
        }
      },
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Results for bank account onboarding",
        "description": "Results for bank account onboarding.\r\n\r\nThis should be called this after the user has returned from bank account initialize. The result will include the bank accounts selected by the user.\r\n\r\nUse the BankAccountId to add given bank account to the user via /add endpoint.\r\n\r\nNotice: This is tempoary data, the results will only be available for a short time period.",
        "parameters": [
          {
            "name": "safepayAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InitializeBankAccountResults.Model"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "400": {
            "description": "Bad Request"
          }
        }
      }
    },
    "/v2/users/{safepayAccountId}/bank-accounts/add": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Add bank account",
        "description": "Add bank account.\r\n\r\nUse the 'BankAccountId' from GET /initialize to add the specific bank account.\r\n\r\nNotice: Only the first bank account added will be marked as default.",
        "parameters": [
          {
            "name": "safepayAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddBankAccount.Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found"
          },
          "400": {
            "description": "Bad Request"
          }
        }
      }
    },
    "/v2/users/{safepayAccountId}/bank-accounts/set-default": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Set bank account as default",
        "description": "Set bank account as default.\r\n\r\nDefault bank account will be used for payout.",
        "parameters": [
          {
            "name": "safepayAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetDefaultBankAccount.Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/users/{safepayAccountId}/bank-accounts/delete": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Delete bank account",
        "description": "Delete bank account.\r\n\r\nThis will remove the bank account from the user.\r\n\r\nNotice: There must be at least one bank account connected.",
        "parameters": [
          {
            "name": "safepayAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteBankAccount.Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/v2/webhooks/examples": {
      "get": {
        "tags": [
          "Webhooks"
        ],
        "summary": "List webhook examples",
        "description": "List webhook examples\r\n\r\nExamples of all possible webhooks including payloads.",
        "parameters": [
          {
            "name": "X-Correlation-Id",
            "in": "header",
            "description": "Correlation ID used for logging.",
            "schema": {
              "maxLength": 64,
              "minLength": 20,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetWebhookExamples.Model"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AddBankAccount.Request": {
        "required": [
          "bankAccountId",
          "bankId"
        ],
        "type": "object",
        "properties": {
          "bankId": {
            "type": "string",
            "nullable": true
          },
          "bankAccountId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AddBillOfSale.Request": {
        "type": "object",
        "properties": {
          "enable": {
            "type": "boolean",
            "description": "If true, auto-generate the bill of sale from transaction data.\r\nTakes precedence over Document and Url."
          },
          "document": {
            "type": "string",
            "description": "PDF file to upload. Used if Enable is false and no Document is provided.",
            "format": "binary",
            "nullable": true
          },
          "url": {
            "type": "string",
            "description": "URL to download the bill of sale from. Used if Enable is false and no Document is provided.",
            "nullable": true
          },
          "additionalTerms": {
            "type": "string",
            "description": "Additional terms to include on the generated bill of sale.",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "description": "Amount to show on the bill of sale. If not provided, uses the transaction amount.",
            "format": "double",
            "nullable": true
          },
          "requiredSigners": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AutoInformation.AutoBillOfSale.Signers"
            },
            "description": "Which parties must sign. Defaults to both Payer and Payee.\r\nEmpty array means document is pre-signed.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AddDebtInformation.Request": {
        "required": [
          "amount",
          "documentation"
        ],
        "type": "object",
        "properties": {
          "documentation": {
            "type": "string",
            "format": "binary",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "fikCode": {
            "type": "string",
            "nullable": true
          },
          "bankAccount": {
            "type": "string",
            "nullable": true
          },
          "bankAccountText": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AddPayee.Request": {
        "type": "object",
        "properties": {
          "safepayAccountId": {
            "type": "string",
            "nullable": true
          },
          "referenceId": {
            "type": "string",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AddPayer.Request": {
        "type": "object",
        "properties": {
          "safepayAccountId": {
            "type": "string",
            "nullable": true
          },
          "referenceId": {
            "type": "string",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Auto.Model": {
        "required": [
          "checkoutUrl",
          "connectUrl",
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Safepay Transaction Id",
            "nullable": true
          },
          "connectUrl": {
            "type": "string",
            "nullable": true
          },
          "checkoutUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Auto.Request": {
        "required": [
          "amount"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "double"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "imageUrls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "payeeId": {
            "type": "string",
            "description": "Safepay Account Id for payee",
            "nullable": true
          },
          "payerId": {
            "type": "string",
            "description": "Safepay Account Id for payer",
            "nullable": true
          },
          "payeeReferenceId": {
            "type": "string",
            "nullable": true
          },
          "payerReferenceId": {
            "type": "string",
            "nullable": true
          },
          "payeePhoneNumber": {
            "type": "string",
            "nullable": true
          },
          "payerPhoneNumber": {
            "type": "string",
            "nullable": true
          },
          "splitPayouts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CheckoutBase.Request.RequestSplitPayout"
            },
            "nullable": true
          },
          "payerFixedFee": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "payeeFixedFee": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "referenceId": {
            "type": "string",
            "nullable": true
          },
          "uniquenessKey": {
            "type": "string",
            "nullable": true
          },
          "expectedCompletion": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "autoInformation": {
            "$ref": "#/components/schemas/Auto.Request.RequestAutoInformation"
          }
        },
        "additionalProperties": false
      },
      "Auto.Request.BillOfSale": {
        "type": "object",
        "properties": {
          "enable": {
            "type": "boolean",
            "description": "If true, Bill Of Sale PDF will automatically be generated and Symblepay.API.Endpoints.Checkout.Auto.Request.BillOfSale.Url is ignored"
          },
          "url": {
            "type": "string",
            "description": "URL to Bill of Sale, only used if Symblepay.API.Endpoints.Checkout.Auto.Request.BillOfSale.Enable is false",
            "nullable": true
          },
          "additionalTerms": {
            "type": "string",
            "description": "Additional terms to be displayed on the Bill of Sale PDF",
            "nullable": true
          },
          "documentId": {
            "type": "string",
            "description": "Id for the bill of sale document.",
            "nullable": true
          },
          "requiredSigners": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AutoInformation.AutoBillOfSale.Signers"
            },
            "description": "Specifies which parties are required to sign the Bill of Sale document.\r\nDefaults to both Payer (buyer) and Payee (seller).\r\nIf an empty array is supplied or the value 'none', the document will be marked as signed.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Auto.Request.Debt": {
        "type": "object",
        "properties": {
          "enable": {
            "type": "boolean",
            "description": "If true, Debt collection will be required by payee if not provided"
          }
        },
        "additionalProperties": false
      },
      "Auto.Request.RequestAutoInformation": {
        "type": "object",
        "properties": {
          "brand": {
            "type": "string",
            "nullable": true
          },
          "model": {
            "type": "string",
            "nullable": true
          },
          "year": {
            "type": "string",
            "nullable": true
          },
          "mileage": {
            "type": "string",
            "nullable": true
          },
          "registrationNumber": {
            "type": "string",
            "nullable": true
          },
          "vin": {
            "type": "string",
            "nullable": true
          },
          "retailAmount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "firstRegistration": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "billOfSale": {
            "$ref": "#/components/schemas/Auto.Request.BillOfSale"
          },
          "debt": {
            "$ref": "#/components/schemas/Auto.Request.Debt"
          }
        },
        "additionalProperties": false
      },
      "AutoInformation.AutoBillOfSale.Signers": {
        "enum": [
          "Payer",
          "Payee",
          "None"
        ],
        "type": "string"
      },
      "BankAccountNumber": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/BankAccountType"
          }
        },
        "additionalProperties": false
      },
      "BankAccountType": {
        "enum": [
          "Bban",
          "Iban"
        ],
        "type": "string"
      },
      "ChangeAmount.Request": {
        "required": [
          "amount"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "double"
          },
          "payerFixedFee": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "payeeFixedFee": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "splitPayouts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CheckoutBase.Request.RequestSplitPayout"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CheckoutBase.Request.RequestSplitPayout": {
        "required": [
          "amount",
          "bankReferenceText",
          "safepayAccountId"
        ],
        "type": "object",
        "properties": {
          "safepayAccountId": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "bankReferenceText": {
            "type": "string",
            "nullable": true
          },
          "fikCode": {
            "$ref": "#/components/schemas/FikCode"
          },
          "bankAccount": {
            "$ref": "#/components/schemas/BankAccountNumber"
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateDocument.Model": {
        "required": [
          "documentId"
        ],
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateDocument.Request": {
        "required": [
          "document",
          "title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "document": {
            "type": "string",
            "format": "binary",
            "nullable": true
          },
          "transactionId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreatePayment.Request": {
        "required": [
          "safepayAccountId",
          "transactionId"
        ],
        "type": "object",
        "properties": {
          "safepayAccountId": {
            "type": "string",
            "nullable": true
          },
          "transactionId": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "returnUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreatePayment.Response": {
        "required": [
          "paymentId",
          "paymentUrl"
        ],
        "type": "object",
        "properties": {
          "paymentId": {
            "type": "string",
            "nullable": true
          },
          "paymentUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DeleteBankAccount.Request": {
        "required": [
          "bankAccountId",
          "bankId"
        ],
        "type": "object",
        "properties": {
          "bankId": {
            "type": "string",
            "nullable": true
          },
          "bankAccountId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DownloadDebtDocument.Model": {
        "required": [
          "url"
        ],
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Temporary URL to download the debt document. Valid for 5 minutes.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FikCode": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "identification": {
            "type": "string",
            "nullable": true
          },
          "controlCode": {
            "type": "integer",
            "format": "int32"
          },
          "creditorCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetBankAccounts.Model": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetBankAccounts.Model.UserBankAccount"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetBankAccounts.Model.UserBankAccount": {
        "required": [
          "accountName",
          "accountNumber",
          "bank",
          "bankAccountId",
          "bankId"
        ],
        "type": "object",
        "properties": {
          "bank": {
            "type": "string",
            "nullable": true
          },
          "bankId": {
            "type": "string",
            "nullable": true
          },
          "bankAccountId": {
            "type": "string",
            "nullable": true
          },
          "accountNumber": {
            "type": "string",
            "nullable": true
          },
          "accountName": {
            "type": "string",
            "nullable": true
          },
          "isDefault": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "GetBanks.Model": {
        "required": [
          "banks"
        ],
        "type": "object",
        "properties": {
          "banks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetBanks.Model.BankModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetBanks.Model.BankModel": {
        "required": [
          "bankCentral",
          "bankId",
          "name"
        ],
        "type": "object",
        "properties": {
          "bankId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "bankCentral": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetConnect.Model": {
        "required": [
          "connections",
          "id",
          "safepayAccountId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true,
            "deprecated": true
          },
          "safepayAccountId": {
            "type": "string",
            "nullable": true
          },
          "connections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetConnect.Model.UserReference"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetConnect.Model.UserReference": {
        "required": [
          "referenceId"
        ],
        "type": "object",
        "properties": {
          "referenceId": {
            "type": "string",
            "nullable": true
          },
          "connected": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GetDocument.Model": {
        "required": [
          "documentId"
        ],
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string",
            "description": "Document Id",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "signed": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "signers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetDocument.Model.Signer"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetDocument.Model.Signer": {
        "required": [
          "safepayAccountId"
        ],
        "type": "object",
        "properties": {
          "safepayAccountId": {
            "type": "string",
            "description": "Safepay Account Id",
            "nullable": true
          },
          "referenceId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "signed": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetDocumentSignedOrPreviewUrl.Model": {
        "required": [
          "url"
        ],
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "If signed, URL for signed document is returned otherwise returns URL for document preview. URL is valid for 5 minutes.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetDocuments.Model": {
        "required": [
          "documents"
        ],
        "type": "object",
        "properties": {
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetDocuments.Model.Document"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetDocuments.Model.Document": {
        "required": [
          "documentId"
        ],
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string",
            "description": "Document Id",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "signed": {
            "type": "string",
            "description": "Signed date - when the document was marked as signed",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetTransaction.Model": {
        "required": [
          "checkoutUrl",
          "connectUrl",
          "fees",
          "paymentGuideUrl",
          "status",
          "transactionId"
        ],
        "type": "object",
        "properties": {
          "transactionId": {
            "type": "string",
            "description": "Transaction Id",
            "nullable": true
          },
          "connectUrl": {
            "type": "string",
            "nullable": true
          },
          "checkoutUrl": {
            "type": "string",
            "nullable": true
          },
          "paymentGuideUrl": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "referenceId": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "fees": {
            "$ref": "#/components/schemas/GetTransaction.Model.FeesModel"
          },
          "payee": {
            "$ref": "#/components/schemas/GetTransaction.Model.UserAmountModel"
          },
          "payer": {
            "$ref": "#/components/schemas/GetTransaction.Model.UserAmountModel"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "payments": {
            "$ref": "#/components/schemas/GetTransaction.Model.PaymentsModel"
          },
          "autoInformation": {
            "$ref": "#/components/schemas/GetTransaction.Model.AutoInformationModel"
          },
          "expectedCompletion": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetTransaction.Model.AutoInformationModel": {
        "type": "object",
        "properties": {
          "brand": {
            "type": "string",
            "nullable": true
          },
          "vehicleIdentificationNumber": {
            "type": "string",
            "nullable": true
          },
          "registrationNumber": {
            "type": "string",
            "nullable": true
          },
          "year": {
            "type": "string",
            "nullable": true
          },
          "model": {
            "type": "string",
            "nullable": true
          },
          "retailAmount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "billOfSale": {
            "$ref": "#/components/schemas/GetTransaction.Model.AutoInformationModel.BillOfSaleModel"
          },
          "autoDebt": {
            "$ref": "#/components/schemas/GetTransaction.Model.AutoInformationModel.AutoDebtModel"
          }
        },
        "additionalProperties": false
      },
      "GetTransaction.Model.AutoInformationModel.AutoDebtModel": {
        "type": "object",
        "properties": {
          "enable": {
            "type": "boolean"
          },
          "amount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "amountRegistered": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "creditors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetTransaction.Model.AutoInformationModel.AutoDebtModel.AutoDebtName"
            },
            "nullable": true
          },
          "debtors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetTransaction.Model.AutoInformationModel.AutoDebtModel.AutoDebtName"
            },
            "nullable": true
          },
          "fikCode": {
            "type": "string",
            "nullable": true
          },
          "bankAccount": {
            "type": "string",
            "nullable": true
          },
          "bankAccountText": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetTransaction.Model.AutoInformationModel.AutoDebtModel.AutoDebtName": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetTransaction.Model.AutoInformationModel.BillOfSaleModel": {
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string",
            "nullable": true
          },
          "signers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetTransaction.Model.AutoInformationModel.BillOfSaleModel.SignerModel"
            },
            "nullable": true
          },
          "signed": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetTransaction.Model.AutoInformationModel.BillOfSaleModel.SignerModel": {
        "required": [
          "name",
          "safepayAccountId",
          "signed"
        ],
        "type": "object",
        "properties": {
          "safepayAccountId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "signed": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "GetTransaction.Model.FeesModel": {
        "type": "object",
        "properties": {
          "payee": {
            "type": "number",
            "description": "Fee amount for Payee",
            "format": "double"
          },
          "payer": {
            "type": "number",
            "description": "Fee amount for Payer",
            "format": "double"
          },
          "tenant": {
            "type": "number",
            "format": "double"
          },
          "safepay": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "GetTransaction.Model.PaymentModel": {
        "required": [
          "amount",
          "created",
          "method",
          "payer",
          "paymentId",
          "status"
        ],
        "type": "object",
        "properties": {
          "paymentId": {
            "type": "string",
            "description": "The ID for the payment",
            "nullable": true
          },
          "payer": {
            "$ref": "#/components/schemas/GetTransaction.Model.UserModel"
          },
          "method": {
            "type": "string",
            "description": "The payment method used",
            "nullable": true
          },
          "amount": {
            "$ref": "#/components/schemas/Money"
          },
          "status": {
            "type": "string",
            "description": "The status of the payment",
            "nullable": true
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "authorized": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "failed": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetTransaction.Model.PaymentsModel": {
        "type": "object",
        "properties": {
          "inbound": {
            "$ref": "#/components/schemas/GetTransaction.Model.PaymentsModel.PaymentsDetailsModel"
          }
        },
        "additionalProperties": false
      },
      "GetTransaction.Model.PaymentsModel.PaymentsDetailsModel": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "double"
          },
          "payments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetTransaction.Model.PaymentModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetTransaction.Model.UserAmountModel": {
        "type": "object",
        "properties": {
          "safepayAccountId": {
            "type": "string",
            "description": "Safepay Account Id",
            "nullable": true
          },
          "referenceId": {
            "type": "string",
            "description": "Tenant supplied ReferenceId",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Name of the payee/payer",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number of the payee/payer",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "description": "Payee: Amount for pay out - Payer: Amount to pay",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "GetTransaction.Model.UserModel": {
        "type": "object",
        "properties": {
          "safepayAccountId": {
            "type": "string",
            "description": "Safepay Account Id",
            "nullable": true
          },
          "referenceId": {
            "type": "string",
            "description": "Tenant supplied ReferenceId",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Name of the payee/payer",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number of the payee/payer",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetTransactions.Model": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetTransactions.Model.TransactionModel"
            },
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "GetTransactions.Model.AutoInformationModel": {
        "type": "object",
        "properties": {
          "brand": {
            "type": "string",
            "nullable": true
          },
          "vehicleIdentificationNumber": {
            "type": "string",
            "nullable": true
          },
          "registrationNumber": {
            "type": "string",
            "nullable": true
          },
          "year": {
            "type": "string",
            "nullable": true
          },
          "model": {
            "type": "string",
            "nullable": true
          },
          "billOfSale": {
            "type": "boolean"
          },
          "billOfSaleSigned": {
            "type": "boolean"
          },
          "retailAmount": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetTransactions.Model.PaymentsModel": {
        "type": "object",
        "properties": {
          "inbound": {
            "$ref": "#/components/schemas/GetTransactions.Model.PaymentsModel.PaymentsDetailsModel"
          }
        },
        "additionalProperties": false
      },
      "GetTransactions.Model.PaymentsModel.PaymentsDetailsModel": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "GetTransactions.Model.TransactionModel": {
        "required": [
          "amount",
          "created",
          "status",
          "transactionId"
        ],
        "type": "object",
        "properties": {
          "transactionId": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "referenceId": {
            "type": "string",
            "nullable": true
          },
          "payee": {
            "$ref": "#/components/schemas/GetTransactions.Model.UserModel"
          },
          "payer": {
            "$ref": "#/components/schemas/GetTransactions.Model.UserModel"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "autoInformation": {
            "$ref": "#/components/schemas/GetTransactions.Model.AutoInformationModel"
          },
          "payments": {
            "$ref": "#/components/schemas/GetTransactions.Model.PaymentsModel"
          },
          "expectedCompletion": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetTransactions.Model.UserModel": {
        "type": "object",
        "properties": {
          "safepayAccountId": {
            "type": "string",
            "description": "Safepay Account Id",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetUser.Model": {
        "required": [
          "connections",
          "id",
          "kyc",
          "name",
          "safepayAccountId",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Safepay Account Id",
            "nullable": true,
            "deprecated": true
          },
          "safepayAccountId": {
            "type": "string",
            "nullable": true
          },
          "connections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetUser.Model.UserReference"
            },
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "kyc": {
            "$ref": "#/components/schemas/GetUser.Model.UserKYC"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "nullable": true
          },
          "phoneNumberVerified": {
            "type": "boolean"
          },
          "dateOfBirth": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "cpr": {
            "type": "string",
            "nullable": true
          },
          "cvr": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "description": "'Business' or 'Private' or 'Guest'",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetUser.Model.UserKYC": {
        "type": "object",
        "properties": {
          "level": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetUser.Model.UserReference": {
        "required": [
          "referenceId"
        ],
        "type": "object",
        "properties": {
          "referenceId": {
            "type": "string",
            "nullable": true
          },
          "connected": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GetUsers.Model": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetUsers.Model.UserModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetUsers.Model.UserModel": {
        "required": [
          "created",
          "name",
          "safepayAccountId",
          "type"
        ],
        "type": "object",
        "properties": {
          "safepayAccountId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "nullable": true
          },
          "phoneNumberVerified": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "type": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetWebhookExamples.Model": {
        "required": [
          "transaction",
          "user"
        ],
        "type": "object",
        "properties": {
          "user": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserWebhook"
            },
            "nullable": true
          },
          "transaction": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TransactionWebhook"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Initialize.Model": {
        "required": [
          "connectUrl"
        ],
        "type": "object",
        "properties": {
          "connectUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Initialize.Request": {
        "type": "object",
        "properties": {
          "referenceId": {
            "type": "string",
            "nullable": true
          },
          "bankAccountOnboarding": {
            "type": "boolean"
          },
          "returnUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "InitializeBankAccount.Model": {
        "required": [
          "url"
        ],
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "InitializeBankAccount.Request": {
        "required": [
          "bankId",
          "returnUrl"
        ],
        "type": "object",
        "properties": {
          "bankId": {
            "type": "string",
            "nullable": true
          },
          "returnUrl": {
            "type": "string",
            "nullable": true
          },
          "psd2Type": {
            "$ref": "#/components/schemas/Psd2Type"
          }
        },
        "additionalProperties": false
      },
      "InitializeBankAccountResults.Model": {
        "required": [
          "bankAccounts",
          "bankCentral",
          "bankId",
          "bankName"
        ],
        "type": "object",
        "properties": {
          "bankId": {
            "type": "string",
            "nullable": true
          },
          "bankName": {
            "type": "string",
            "nullable": true
          },
          "bankCentral": {
            "type": "string",
            "nullable": true
          },
          "bankAccounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InitializeBankAccountResults.Model.BankAccountModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "InitializeBankAccountResults.Model.BankAccountModel": {
        "required": [
          "bankAccountId"
        ],
        "type": "object",
        "properties": {
          "bankAccountId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "ownerName": {
            "type": "string",
            "nullable": true
          },
          "bban": {
            "type": "string",
            "nullable": true
          },
          "iban": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "InitializePayment.Request": {
        "type": "object",
        "properties": {
          "paymentMethod": {
            "type": "string",
            "description": "Available methods: psd2, bank, vippsmobilepay",
            "nullable": true
          },
          "bankId": {
            "type": "string",
            "description": "Only for use with payment method: bank",
            "nullable": true
          },
          "bankAccountId": {
            "type": "string",
            "description": "Only for use with payment method: psd2",
            "nullable": true
          },
          "returnUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "InitializePayment.Response": {
        "required": [
          "paymentUrl"
        ],
        "type": "object",
        "properties": {
          "paymentUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Marketplace.Model": {
        "required": [
          "checkoutUrl",
          "connectUrl",
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Safepay Transaction Id",
            "nullable": true
          },
          "connectUrl": {
            "type": "string",
            "nullable": true
          },
          "checkoutUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Marketplace.Request": {
        "required": [
          "amount",
          "payeeId",
          "payerId",
          "title"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "double"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "imageUrls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "payeeReferenceId": {
            "type": "string",
            "nullable": true
          },
          "payerReferenceId": {
            "type": "string",
            "nullable": true
          },
          "payeePhoneNumber": {
            "type": "string",
            "nullable": true
          },
          "payerPhoneNumber": {
            "type": "string",
            "nullable": true
          },
          "splitPayouts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CheckoutBase.Request.RequestSplitPayout"
            },
            "nullable": true
          },
          "payerFixedFee": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "payeeFixedFee": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "referenceId": {
            "type": "string",
            "nullable": true
          },
          "uniquenessKey": {
            "type": "string",
            "nullable": true
          },
          "expectedCompletion": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "payeeId": {
            "type": "string",
            "nullable": true
          },
          "payerId": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Money": {
        "type": "object",
        "properties": {
          "value": {
            "type": "number",
            "format": "double"
          },
          "currency": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Psd2Type": {
        "enum": [
          "Private",
          "Business"
        ],
        "type": "string"
      },
      "ReimbursePayerEndpoint.Request": {
        "required": [
          "amount"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "ReleasePayout.Request": {
        "required": [
          "safepayAccountId"
        ],
        "type": "object",
        "properties": {
          "safepayAccountId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ReturnPayout.Request": {
        "required": [
          "reason",
          "safepayAccountId"
        ],
        "type": "object",
        "properties": {
          "safepayAccountId": {
            "type": "string",
            "nullable": true
          },
          "reason": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SetDefaultBankAccount.Request": {
        "required": [
          "bankAccountId",
          "bankId"
        ],
        "type": "object",
        "properties": {
          "bankId": {
            "type": "string",
            "nullable": true
          },
          "bankAccountId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SignDocument.Model": {
        "required": [
          "url"
        ],
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SignDocument.Request": {
        "required": [
          "safepayAccountId"
        ],
        "type": "object",
        "properties": {
          "safepayAccountId": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "referenceId": {
            "type": "string",
            "nullable": true
          },
          "returnUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TransactionWebhook": {
        "required": [
          "eventDate",
          "eventName",
          "payee",
          "payer",
          "transactionId"
        ],
        "type": "object",
        "properties": {
          "eventName": {
            "type": "string",
            "nullable": true
          },
          "eventDate": {
            "type": "string",
            "format": "date-time"
          },
          "webhookId": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true,
            "deprecated": true
          },
          "transactionId": {
            "type": "string",
            "nullable": true
          },
          "referenceId": {
            "type": "string",
            "nullable": true
          },
          "payee": {
            "$ref": "#/components/schemas/TransactionWebhook.TransactionWebhookUser"
          },
          "payer": {
            "$ref": "#/components/schemas/TransactionWebhook.TransactionWebhookUser"
          }
        },
        "additionalProperties": false
      },
      "TransactionWebhook.TransactionWebhookUser": {
        "required": [
          "safepayAccountId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true,
            "deprecated": true
          },
          "safepayAccountId": {
            "type": "string",
            "nullable": true
          },
          "referenceId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateTransaction.Request": {
        "type": "object",
        "properties": {
          "expectedCompletion": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "retailAmount": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserWebhook": {
        "required": [
          "eventDate",
          "eventName",
          "safepayAccountId"
        ],
        "type": "object",
        "properties": {
          "eventName": {
            "type": "string",
            "nullable": true
          },
          "eventDate": {
            "type": "string",
            "format": "date-time"
          },
          "webhookId": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true,
            "deprecated": true
          },
          "safepayAccountId": {
            "type": "string",
            "nullable": true
          },
          "connections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserWebhook.UserWebhookConnection"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserWebhook.UserWebhookConnection": {
        "required": [
          "referenceId"
        ],
        "type": "object",
        "properties": {
          "referenceId": {
            "type": "string",
            "nullable": true
          },
          "connected": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "Admin ApiKey": {
        "type": "http",
        "description": "Authorization header using the Bearer scheme, e.g., ```Authorization: Bearer {api key}```",
        "scheme": "bearer"
      }
    }
  },
  "security": [
    {
      "Admin ApiKey": [ ]
    }
  ],
  "tags": [
    {
      "name": "Checkout"
    },
    {
      "name": "Connect"
    },
    {
      "name": "Documents"
    },
    {
      "name": "Payments"
    },
    {
      "name": "Transactions"
    },
    {
      "name": "Users"
    },
    {
      "name": "Webhooks"
    }
  ]
}