{
  "openapi": "3.0.4",
  "info": {
    "title": "GFR AI Agents API",
    "description": "A curated set of non-admin endpoints for AI agents acting on behalf of a single GFR user.\r\n\r\n**Authentication**\r\n\r\nRead [/auth.md](/auth.md) first. It explains how an agent registers on behalf of a user\r\n(`POST /agent/identity`, the user approves with a 6-digit code) and receives an access token with the\r\n`gfr.agent` scope, which covers exactly the operations in this document.\r\n1. Send the token on every request as `Authorization: Bearer {token}`.\r\n2. A 401 response carries `WWW-Authenticate: Bearer resource_metadata=\"…\"`, pointing at the\r\n   OAuth Protected Resource Metadata. On 401 get a new access token as described in auth.md and retry once.\r\n3. A 403 with `insufficient_scope` means the endpoint is not available to agents.\r\n\r\n**Conventions**\r\n- All requests and responses are JSON unless an endpoint states otherwise (document uploads use multipart/form-data, downloads return files).\r\n- Dates are formatted `yyyy-MM-dd`; enums are serialized as strings.\r\n- Every endpoint only operates on data owned by the authenticated user (or their partner account). A 401 on a specific resource means the user does not have access to it.\r\n- A renewal order id is the LEI id + `Renewal` + the renewal year.\r\n- Some endpoints are rate limited; on 429 wait a few seconds before retrying.\r\n\r\n**Typical flows**\r\n- Renew an LEI: `GET /api/Lei/GetLeisUserRenewals` → `POST /api/Renewals` → `GET /api/Renewals/GetPaymentStatus`.\r\n- Find invoices: `GET /api/Documents/InvoiceList` → `GET /api/Documents/DownloadInvoice`.",
    "version": "agent-v1"
  },
  "paths": {
    "/acp/checkout_sessions": {
      "post": {
        "tags": [
          "AcpCheckout"
        ],
        "summary": "Create a checkout session for one item: lei_renewal:{leiId}:{years} or lei_registration:{leiId}:{years}.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AcpCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "201": {
            "description": "The session, ready_for_payment or not_ready_for_payment (messages say why)"
          }
        }
      }
    },
    "/acp/checkout_sessions/{id}": {
      "post": {
        "tags": [
          "AcpCheckout"
        ],
        "summary": "Update the session's items.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AcpUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "get": {
        "tags": [
          "AcpCheckout"
        ],
        "summary": "Get the session's current state; an open session is priced again.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acp/checkout_sessions/{id}/complete": {
      "post": {
        "tags": [
          "AcpCheckout"
        ],
        "summary": "Complete the session: pay by invoice (purchase_order_number) or with a shared payment token.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AcpCompleteRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The completed session with its order"
          },
          "405": {
            "description": "The session is already completed or canceled, or has expired"
          }
        }
      }
    },
    "/acp/checkout_sessions/{id}/cancel": {
      "post": {
        "tags": [
          "AcpCheckout"
        ],
        "summary": "Cancel the session. Nothing is ordered before complete, so nothing else changes.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "405": {
            "description": "The session is already completed or canceled, or has expired"
          }
        }
      }
    },
    "/api/Documents/InvoiceList": {
      "get": {
        "tags": [
          "Documents"
        ],
        "summary": "Returns List of invoices by UserID",
        "responses": {
          "200": {
            "description": "The requested Invoices",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceList"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceList"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceList"
                  }
                }
              }
            }
          },
          "401": {
            "description": "User not authorized to access this invoice list"
          },
          "404": {
            "description": "Lei not found"
          }
        }
      }
    },
    "/api/Documents/KYBReferenceDocumentsList": {
      "get": {
        "tags": [
          "Documents"
        ],
        "summary": "Returns List of documents uploaded by the user",
        "parameters": [
          {
            "name": "KYBID",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns list of documents for the KYB",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentFileViewModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentFileViewModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentFileViewModel"
                }
              }
            }
          },
          "401": {
            "description": "User not authorized to access this list"
          },
          "404": {
            "description": "KYB not found / Documents not found"
          }
        }
      }
    },
    "/api/Documents/DownloadInvoice": {
      "get": {
        "tags": [
          "Documents"
        ],
        "summary": "Returns an Invoice by LEI id",
        "parameters": [
          {
            "name": "Id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "InvoiceType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keyRecord",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested Invoice"
          },
          "401": {
            "description": "User not authorized to access this lei"
          },
          "404": {
            "description": "Lei not found"
          }
        }
      }
    },
    "/api/Documents/SubmitReferenceDocuments": {
      "post": {
        "tags": [
          "Documents"
        ],
        "summary": "Saves a list of files to Azure Blob Storage, returns the result",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "LEIID": {
                    "type": "string"
                  },
                  "Files": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "binary"
                    }
                  }
                }
              },
              "encoding": {
                "LEIID": {
                  "style": "form"
                },
                "Files": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Save successful"
          },
          "401": {
            "description": "User not authorized to add documents to this LEI"
          },
          "404": {
            "description": "Any other exception in saving"
          }
        }
      }
    },
    "/api/Documents/SubmitKYBDocument": {
      "post": {
        "tags": [
          "Documents"
        ],
        "summary": "Saves one KYB files to Azure Blob Storage, returns the file name",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "KYBID": {
                    "type": "string"
                  },
                  "File": {
                    "type": "string",
                    "format": "binary"
                  },
                  "DocumentTypeId": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              },
              "encoding": {
                "KYBID": {
                  "style": "form"
                },
                "File": {
                  "style": "form"
                },
                "DocumentTypeId": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Save successful"
          },
          "401": {
            "description": "User not authorized to add documents to this LEI"
          },
          "404": {
            "description": "Any other exception in saving"
          }
        }
      }
    },
    "/api/Documents/DownloadPOATemplateDocument": {
      "get": {
        "tags": [
          "Documents"
        ],
        "summary": "Returns a POA Document template to be signed, by fileName",
        "parameters": [
          {
            "name": "leiID",
            "in": "query",
            "description": "LEI",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "DocumentType",
            "in": "query",
            "description": "POADocument (transfer) or LimitedPOADocument (limited POA)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "LanguageOverride",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested Document"
          },
          "401": {
            "description": "User not authorized to access this document"
          },
          "404": {
            "description": "Document not found"
          }
        }
      }
    },
    "/api/Documents/SubmitReferenceDocument": {
      "post": {
        "tags": [
          "Documents"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "LEIID": {
                    "type": "string"
                  },
                  "File": {
                    "type": "string",
                    "format": "binary"
                  },
                  "DocumentTypeId": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "Blanket": {
                    "type": "boolean"
                  }
                }
              },
              "encoding": {
                "LEIID": {
                  "style": "form"
                },
                "File": {
                  "style": "form"
                },
                "DocumentTypeId": {
                  "style": "form"
                },
                "Blanket": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Eversign/LimitedPOA": {
      "post": {
        "tags": [
          "Eversign"
        ],
        "summary": "Return URL for LimitedPOA for Eversign Doc",
        "requestBody": {
          "description": "EversignReq",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/EversignReq"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EversignReq"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EversignReq"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EversignReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "URL for eversign LimitedPOA returned",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user does not have access to this LimitedPOA"
          }
        }
      }
    },
    "/api/Eversign/TransferPOA": {
      "post": {
        "tags": [
          "Eversign"
        ],
        "summary": "Return URL for TransferPOA for Eversign Doc",
        "requestBody": {
          "description": "EversignRe",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/EversignReq"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EversignReq"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EversignReq"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EversignReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "URL for eversign TransferPOA returned",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user does not have access to this TransferPOA"
          }
        }
      }
    },
    "/api/Eversign/VerifyTransferPOA": {
      "put": {
        "tags": [
          "Eversign"
        ],
        "summary": "Checks with Eversign whether the transfer POA of a pending transfer has been signed online, and if it\r\nhas, records it as PoaCompleted does. Unlike PoaCompleted, which the website calls from Eversign's\r\nredirect, the signature is confirmed with Eversign, so this is safe for agents to call.",
        "requestBody": {
          "description": "EversignReq: only leiId is used",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/EversignReq"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EversignReq"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EversignReq"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EversignReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The LEI's application status after the check: PT while the POA is not signed, ST once it is",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "The user does not have access to this LEI"
          },
          "404": {
            "description": "The LEI does not exist"
          }
        }
      }
    },
    "/api/Eversign/VerifyLimitedPOA": {
      "put": {
        "tags": [
          "Eversign"
        ],
        "summary": "Checks with Eversign whether the limited POA of an LEI application has been signed online (by the user, or\r\nby the authorized signatory it was emailed to), and if it has, records it as PoaCompleted does. Unlike\r\nPoaCompleted, which the website calls from Eversign's redirect, the signature is confirmed with Eversign,\r\nso this is safe for agents to call.",
        "requestBody": {
          "description": "EversignReq: only leiId is used",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/EversignReq"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EversignReq"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EversignReq"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EversignReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "true once the limited POA is signed, false while it is not",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "401": {
            "description": "The user does not have access to this LEI"
          },
          "404": {
            "description": "The LEI does not exist"
          }
        }
      }
    },
    "/api/Heartbeat": {
      "get": {
        "tags": [
          "Heartbeat"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Invoices": {
      "get": {
        "tags": [
          "Invoices"
        ],
        "summary": "Return Invoice based on OrderID",
        "parameters": [
          {
            "name": "OrderID",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nonArchived",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "All invoice returned",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Invoice"
                }
              }
            }
          },
          "401": {
            "description": "The user does not have access to this invoice"
          }
        }
      },
      "put": {
        "tags": [
          "Invoices"
        ],
        "summary": "Updates invoice",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceShort"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Invoice updated"
          },
          "401": {
            "description": "The user does not have access to this invoice"
          }
        }
      },
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "Insert invoice",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceShort"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Invoice Created"
          },
          "401": {
            "description": "The user is not allowed to create an invoice for this LEI"
          },
          "422": {
            "description": "Invoice already in database"
          }
        }
      }
    },
    "/api/Invoices/GetPaymentStatus": {
      "get": {
        "tags": [
          "Invoices"
        ],
        "summary": "Return Invoice based on OrderID",
        "parameters": [
          {
            "name": "OrderID",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "OnlyStatus",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "All invoice returned",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "401": {
            "description": "The user does not have access to this invoice"
          }
        }
      }
    },
    "/api/Kyc/UpdateKYB": {
      "put": {
        "tags": [
          "Kyc"
        ],
        "summary": "Insert a KYB applciation",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KYB"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "KYB Inserted"
          },
          "401": {
            "description": "The user is not allowed to call this API"
          },
          "422": {
            "description": "Invoice already in databasez"
          }
        }
      }
    },
    "/api/Kyc/GetUboByKYB": {
      "get": {
        "tags": [
          "Kyc"
        ],
        "summary": "Return a list of UBOs based on a KYBID",
        "parameters": [
          {
            "name": "KybID",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of UBO",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Ubo"
                  }
                }
              }
            }
          },
          "401": {
            "description": "The user is not allowed to call this API"
          },
          "422": {
            "description": "Invoice already in database"
          }
        }
      }
    },
    "/api/Kyc/InsertUbo": {
      "post": {
        "tags": [
          "Kyc"
        ],
        "summary": "Insert a UBO for a KYB",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ubo"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Record inserted"
          },
          "401": {
            "description": "The user is not allowed to call this API"
          },
          "422": {
            "description": "Invoice already in database"
          }
        }
      }
    },
    "/api/Kyc/UpdateUbo": {
      "put": {
        "tags": [
          "Kyc"
        ],
        "summary": "Update a UBO for a KYB by UBO ID",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ubo"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Record update"
          },
          "401": {
            "description": "The user is not allowed to call this API"
          },
          "422": {
            "description": "Invoice already in database"
          }
        }
      }
    },
    "/api/Kyc/approveLEIKyb": {
      "post": {
        "tags": [
          "Kyc"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveLeiKybRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/LegalForms": {
      "get": {
        "tags": [
          "LegalForms"
        ],
        "summary": "Retrieves a legal form from the database based on the specified parameters such as ELF code,\r\nlocal name, country code, and region code. The search initially prioritizes the ELF code,\r\nand if no match is found, it continues the search based on the local name and filtering by country or region code.",
        "parameters": [
          {
            "name": "elfCode",
            "in": "query",
            "description": "The unique ELF code that identifies the legal form to be retrieved.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "localName",
            "in": "query",
            "description": "The local name of the legal form to be searched for.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "countryCode",
            "in": "query",
            "description": "The ISO country code used to filter the legal forms.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "regionCode",
            "in": "query",
            "description": "The code representing a region within the specified country for additional filtering.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityLegalForm"
                }
              }
            }
          }
        }
      }
    },
    "/api/Lei/GetLEISUser": {
      "get": {
        "tags": [
          "Lei"
        ],
        "summary": "Returns all LEIs for the user",
        "responses": {
          "200": {
            "description": "All available LEIs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LEIShort"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/Lei/GetLeisUserRenewals": {
      "get": {
        "tags": [
          "Lei"
        ],
        "summary": "Returns all LEIs for the user that needs to be renewed",
        "responses": {
          "200": {
            "description": "All LEIS that need renewal",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/Lei/ApproveLEIKyb": {
      "post": {
        "tags": [
          "Lei"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveLeiKybRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Lei/{leiId}": {
      "get": {
        "tags": [
          "Lei"
        ],
        "summary": "Returns an Lei by id",
        "parameters": [
          {
            "name": "leiId",
            "in": "path",
            "description": "The id of the Lei to retrieve",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lei"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Lei"
        ],
        "summary": "Updates an LEI.",
        "parameters": [
          {
            "name": "leiId",
            "in": "path",
            "description": "The id of the LEI to update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Validated",
            "in": "query",
            "description": "Flag indicating if the LEI should be validated.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "description": "The LEI to update. (The Id property will be ignored and the explicitly passed one used)",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Lei"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Lei": {
      "post": {
        "tags": [
          "Lei"
        ],
        "summary": "Creates a new LEI for a given request.",
        "parameters": [
          {
            "name": "Validated",
            "in": "query",
            "description": "Optional parameter. Determines whether the LEI has been validated. Default is false.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "b2BPriceKey",
            "in": "query",
            "description": "The B2BPriceKey can be (0,1,3,5) and corresponds to the number of years a partner who is ordering through the API can order an LEI for",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "requestBody": {
          "description": "The LEI to create. The Id property will be ignored and a new value assigned.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Lei"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Prices": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "Return all Prices",
        "responses": {
          "200": {
            "description": "All prices returned",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Price"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/Prices/GetByToken": {
      "get": {
        "tags": [
          "Prices"
        ],
        "summary": "Return Prices for a particular token",
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Prices returned",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Price"
                }
              }
            }
          },
          "404": {
            "description": "No token found"
          }
        }
      }
    },
    "/api/Renewals/GetPaymentStatus": {
      "get": {
        "tags": [
          "Renewals"
        ],
        "summary": "Return Invoice based on OrderID",
        "parameters": [
          {
            "name": "renewOrderId",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "OnlyStatus",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "All renewal order returned",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "401": {
            "description": "The user does not have access to this renewal order"
          }
        }
      }
    },
    "/api/Renewals": {
      "get": {
        "tags": [
          "Renewals"
        ],
        "summary": "Return RenewalOrder based on RenewalOrderID",
        "parameters": [
          {
            "name": "RenewalOrderID",
            "in": "query",
            "description": "A renewal order id is created by combining the ID from the LEI + 'Renewal\" + the year of the renewal\r\nto avoid confusion, if the LEI has already expired it should be year of the expiration date\r\notherwise it should be the current year",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nonArchived",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "All renewal returned",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Renewal"
                }
              }
            }
          },
          "401": {
            "description": "The user does not have access to this invoice"
          }
        }
      },
      "put": {
        "tags": [
          "Renewals"
        ],
        "summary": "Updates renewal order",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenewalShort"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Renewal Order updated"
          },
          "401": {
            "description": "The user does not have access to this renewal order"
          }
        }
      },
      "post": {
        "tags": [
          "Renewals"
        ],
        "summary": "Insert renewal order",
        "parameters": [
          {
            "name": "b2BPriceKey",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenewalShort"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "renewal order Created"
          },
          "401": {
            "description": "The user is not allowed to create a renewalorder for this LEI"
          },
          "404": {
            "description": "The LEI is not in the database"
          },
          "422": {
            "description": "Renewal order already in database"
          }
        }
      }
    },
    "/api/Transfers/Index": {
      "post": {
        "tags": [
          "Transfers"
        ],
        "summary": "Enters an LEI for a transfer",
        "parameters": [
          {
            "name": "b2BPriceKey",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LEITransferReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The transfer LEI was inserted"
          },
          "400": {
            "description": "Problems with the request. Check the the returned body for details."
          },
          "404": {
            "description": "No LEI with that LEI number exists."
          },
          "409": {
            "description": "This LEI is already in the system"
          },
          "422": {
            "description": "This jurisdiction is not supported"
          }
        }
      }
    },
    "/ucp/v1/checkout-sessions": {
      "post": {
        "tags": [
          "UcpCheckout"
        ],
        "summary": "Create a checkout for one item: line_items[0].item.id lei_renewal:{leiId}:{years} or lei_registration:{leiId}:{years}.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UcpCheckoutRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "201": {
            "description": "The checkout, ready_for_complete or incomplete (messages say why)"
          }
        }
      }
    },
    "/ucp/v1/checkout-sessions/{id}": {
      "get": {
        "tags": [
          "UcpCheckout"
        ],
        "summary": "Get the checkout's current state; an open checkout is priced again.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "UcpCheckout"
        ],
        "summary": "Replace the checkout's line items.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UcpCheckoutRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/ucp/v1/checkout-sessions/{id}/complete": {
      "post": {
        "tags": [
          "UcpCheckout"
        ],
        "summary": "Complete the checkout with payment.instruments[0]: handler 'invoice' (credential purchase_order_number) or\r\n'card_stripe_spt' (credential type spt with a Stripe shared payment token).",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UcpCheckoutRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The completed checkout with its order"
          }
        }
      }
    },
    "/ucp/v1/checkout-sessions/{id}/cancel": {
      "post": {
        "tags": [
          "UcpCheckout"
        ],
        "summary": "Cancel the checkout. Nothing is ordered before complete, so nothing else changes.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Users/GetCurrent": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Returns the user object for the currently authenticated user",
        "responses": {
          "200": {
            "description": "User object for the currently authenticated user.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          },
          "401": {
            "description": "No user found"
          }
        }
      }
    },
    "/api/Users": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Creates a new user",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUserReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The new user was created. User details included in the response body"
          },
          "400": {
            "description": "Problems with the request. Check the the returned body for details."
          },
          "401": {
            "description": "A user with this email exists in our database but authentication against auth0 with the passed\r\ncredentials was not successful."
          },
          "422": {
            "description": "A user already exists for this firebase user. No changes made."
          }
        }
      }
    },
    "/api/Users/{id}": {
      "put": {
        "tags": [
          "Users"
        ],
        "summary": "Modifies a user profile",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The id of the user to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The properties to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserReq"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The user was modified successfully. User details included in the response body"
          },
          "400": {
            "description": "Problems with the request. Check the the returned body for details."
          },
          "401": {
            "description": "Not authorized."
          },
          "404": {
            "description": "No user with this id exists"
          }
        }
      }
    },
    "/api/Users/GenerateApiToken": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Request an Id-token to be used for machine-to-machine communication",
        "parameters": [
          {
            "name": "secret",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A token with a lifetime of one hour is returned.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiTokenResult"
                }
              }
            }
          },
          "400": {
            "description": "Problems with the request. Invalid request"
          },
          "404": {
            "description": "No secret found"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AcpCompleteRequest": {
        "type": "object",
        "properties": {
          "paymentData": {
            "$ref": "#/components/schemas/AcpPaymentData"
          }
        },
        "additionalProperties": false
      },
      "AcpCreateRequest": {
        "type": "object",
        "properties": {
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AcpItem"
            },
            "nullable": true
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AcpItem"
            },
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "capabilities": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/JToken"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AcpCredential": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "token": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AcpInstrument": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "credential": {
            "$ref": "#/components/schemas/AcpCredential"
          }
        },
        "additionalProperties": false
      },
      "AcpItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "unitAmount": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AcpPaymentData": {
        "type": "object",
        "properties": {
          "handlerId": {
            "type": "string",
            "nullable": true
          },
          "instrument": {
            "$ref": "#/components/schemas/AcpInstrument"
          },
          "purchaseOrderNumber": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AcpUpdateRequest": {
        "type": "object",
        "properties": {
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AcpItem"
            },
            "nullable": true
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AcpItem"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Address": {
        "type": "object",
        "properties": {
          "line1": {
            "type": "string",
            "nullable": true
          },
          "line2": {
            "type": "string",
            "nullable": true
          },
          "line3": {
            "type": "string",
            "nullable": true
          },
          "line4": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "postCode": {
            "type": "string",
            "nullable": true
          },
          "countryCode": {
            "type": "string",
            "nullable": true
          },
          "regionCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ApiTokenResult": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ApproveLeiKybRequest": {
        "type": "object",
        "properties": {
          "leiid": {
            "type": "string",
            "nullable": true
          },
          "idCredPub": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BranchEntity": {
        "type": "object",
        "properties": {
          "countryCode": {
            "type": "string",
            "nullable": true
          },
          "regionCode": {
            "type": "string",
            "nullable": true
          },
          "regAuthCode": {
            "type": "string",
            "nullable": true
          },
          "bizRegNumber": {
            "type": "string",
            "nullable": true
          },
          "noBizRegNumber": {
            "type": "boolean"
          },
          "apiLinked": {
            "type": "boolean"
          },
          "entityName": {
            "type": "string",
            "nullable": true
          },
          "otherLegalName": {
            "type": "string",
            "nullable": true
          },
          "otherLegalNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "otherLanguageLegalNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "previousLegalName": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "website": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "addressIsHqAddress": {
            "type": "boolean"
          },
          "headquartersAddress": {
            "$ref": "#/components/schemas/HqAddress"
          },
          "needDocs": {
            "type": "boolean"
          },
          "entCreationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "entCategory": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "entSubCategory": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "otherValidationFlag": {
            "type": "boolean",
            "nullable": true
          },
          "otherValidationAuthorityID": {
            "type": "integer",
            "format": "int32"
          },
          "otherValidationAuthorityCode": {
            "type": "string",
            "nullable": true
          },
          "otherValidationAuthorityEntityId": {
            "type": "string",
            "nullable": true
          },
          "otherValidationISOCountryCode": {
            "type": "string",
            "nullable": true
          },
          "otherValidationISORegionCode": {
            "type": "string",
            "nullable": true
          },
          "needSealDocuments": {
            "type": "boolean",
            "nullable": true
          },
          "disclosure": {
            "type": "boolean",
            "nullable": true
          },
          "nonDisclosureReason": {
            "type": "string",
            "nullable": true
          },
          "hasLei": {
            "type": "boolean",
            "nullable": true
          },
          "lei": {
            "type": "string",
            "nullable": true
          },
          "acctPeriodStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "acctPeriodEndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "accountingStandard": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "relStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "pctOwned": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "legalJurisdictionCountry": {
            "type": "string",
            "nullable": true
          },
          "legalForm": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "legalFormName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Contact": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "company": {
            "type": "string",
            "nullable": true
          },
          "signingAuthority": {
            "$ref": "#/components/schemas/LeiSigningAuthority"
          },
          "contactSigningAuthorityEmail": {
            "type": "string",
            "nullable": true
          },
          "contactSigningAuthorityPhone": {
            "type": "string",
            "nullable": true
          },
          "contactSigningAuthorityFirstName": {
            "type": "string",
            "nullable": true
          },
          "contactSigningAuthorityLastName": {
            "type": "string",
            "nullable": true
          },
          "contactSigningAuthorityPosition": {
            "type": "string",
            "nullable": true
          },
          "contactSigningAuthorityEmail2": {
            "type": "string",
            "nullable": true
          },
          "contactSigningAuthorityFirstName2": {
            "type": "string",
            "nullable": true
          },
          "contactSigningAuthorityLastName2": {
            "type": "string",
            "nullable": true
          },
          "contactSigningAuthorityPosition2": {
            "type": "string",
            "nullable": true
          },
          "signingAuthorityID": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CreateUserReq": {
        "required": [
          "currencyCode",
          "email",
          "languageCode",
          "lastName"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "minLength": 1,
            "type": "string"
          },
          "languageCode": {
            "minLength": 1,
            "type": "string"
          },
          "currencyCode": {
            "minLength": 1,
            "type": "string"
          },
          "email": {
            "minLength": 1,
            "type": "string"
          },
          "priceTokenCode": {
            "type": "string",
            "nullable": true
          },
          "identityScheme": {
            "type": "string",
            "nullable": true
          },
          "identitySchemeUuid": {
            "type": "string",
            "nullable": true
          },
          "allowContact": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DocumentFileViewModel": {
        "type": "object",
        "properties": {
          "documentTypeID": {
            "type": "integer",
            "format": "int32"
          },
          "documentTypeString": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "filename": {
            "type": "string",
            "nullable": true
          },
          "content": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "entryDate": {
            "type": "string",
            "format": "date-time"
          },
          "archived": {
            "type": "boolean",
            "nullable": true
          },
          "displayFileName": {
            "type": "string",
            "nullable": true
          },
          "lei_id": {
            "type": "string",
            "format": "uuid"
          },
          "b2BID": {
            "type": "string",
            "format": "uuid"
          },
          "kybid": {
            "type": "string",
            "format": "uuid"
          },
          "kycid": {
            "type": "string",
            "format": "uuid"
          },
          "blanket": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EntityLegalForm": {
        "type": "object",
        "properties": {
          "entityLegalFormID": {
            "type": "integer",
            "format": "int32"
          },
          "legalFormCode": {
            "type": "string",
            "nullable": true
          },
          "countryName": {
            "type": "string",
            "nullable": true
          },
          "countryISOCode": {
            "type": "string",
            "nullable": true
          },
          "localName": {
            "type": "string",
            "nullable": true
          },
          "englishName": {
            "type": "string",
            "nullable": true
          },
          "elfCode": {
            "type": "string",
            "nullable": true
          },
          "isoRegionCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EversignReq": {
        "type": "object",
        "properties": {
          "leiId": {
            "type": "string",
            "nullable": true
          },
          "legalName": {
            "type": "string",
            "nullable": true
          },
          "legalJurisdictionCountry": {
            "type": "string",
            "nullable": true
          },
          "expirationDate": {
            "type": "string",
            "format": "date-time"
          },
          "contactPhone": {
            "type": "string",
            "nullable": true
          },
          "languageCode": {
            "type": "string",
            "nullable": true
          },
          "originUrl": {
            "type": "string",
            "nullable": true
          },
          "documentType": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FundManagementEntity": {
        "type": "object",
        "properties": {
          "countryCode": {
            "type": "string",
            "nullable": true
          },
          "regionCode": {
            "type": "string",
            "nullable": true
          },
          "regAuthCode": {
            "type": "string",
            "nullable": true
          },
          "bizRegNumber": {
            "type": "string",
            "nullable": true
          },
          "noBizRegNumber": {
            "type": "boolean"
          },
          "apiLinked": {
            "type": "boolean"
          },
          "entityName": {
            "type": "string",
            "nullable": true
          },
          "otherLegalName": {
            "type": "string",
            "nullable": true
          },
          "otherLegalNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "otherLanguageLegalNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "previousLegalName": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "website": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "addressIsHqAddress": {
            "type": "boolean"
          },
          "headquartersAddress": {
            "$ref": "#/components/schemas/HqAddress"
          },
          "needDocs": {
            "type": "boolean"
          },
          "entCreationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "entCategory": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "entSubCategory": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "otherValidationFlag": {
            "type": "boolean",
            "nullable": true
          },
          "otherValidationAuthorityID": {
            "type": "integer",
            "format": "int32"
          },
          "otherValidationAuthorityCode": {
            "type": "string",
            "nullable": true
          },
          "otherValidationAuthorityEntityId": {
            "type": "string",
            "nullable": true
          },
          "otherValidationISOCountryCode": {
            "type": "string",
            "nullable": true
          },
          "otherValidationISORegionCode": {
            "type": "string",
            "nullable": true
          },
          "needSealDocuments": {
            "type": "boolean",
            "nullable": true
          },
          "hasLei": {
            "type": "boolean",
            "nullable": true
          },
          "lei": {
            "type": "string",
            "nullable": true
          },
          "fundSelfManaged": {
            "type": "boolean",
            "nullable": true
          },
          "acctPeriodStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "acctPeriodEndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "accountingStandard": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "relStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "pctOwned": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FundMasterFeederEntity": {
        "type": "object",
        "properties": {
          "countryCode": {
            "type": "string",
            "nullable": true
          },
          "regionCode": {
            "type": "string",
            "nullable": true
          },
          "regAuthCode": {
            "type": "string",
            "nullable": true
          },
          "bizRegNumber": {
            "type": "string",
            "nullable": true
          },
          "noBizRegNumber": {
            "type": "boolean"
          },
          "apiLinked": {
            "type": "boolean"
          },
          "entityName": {
            "type": "string",
            "nullable": true
          },
          "otherLegalName": {
            "type": "string",
            "nullable": true
          },
          "otherLegalNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "otherLanguageLegalNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "previousLegalName": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "website": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "addressIsHqAddress": {
            "type": "boolean"
          },
          "headquartersAddress": {
            "$ref": "#/components/schemas/HqAddress"
          },
          "needDocs": {
            "type": "boolean"
          },
          "entCreationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "entCategory": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "entSubCategory": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "otherValidationFlag": {
            "type": "boolean",
            "nullable": true
          },
          "otherValidationAuthorityID": {
            "type": "integer",
            "format": "int32"
          },
          "otherValidationAuthorityCode": {
            "type": "string",
            "nullable": true
          },
          "otherValidationAuthorityEntityId": {
            "type": "string",
            "nullable": true
          },
          "otherValidationISOCountryCode": {
            "type": "string",
            "nullable": true
          },
          "otherValidationISORegionCode": {
            "type": "string",
            "nullable": true
          },
          "needSealDocuments": {
            "type": "boolean",
            "nullable": true
          },
          "disclosure": {
            "type": "boolean",
            "nullable": true
          },
          "nonDisclosureReason": {
            "type": "string",
            "nullable": true
          },
          "hasLei": {
            "type": "boolean",
            "nullable": true
          },
          "lei": {
            "type": "string",
            "nullable": true
          },
          "fundMasterFeeder": {
            "type": "boolean",
            "nullable": true
          },
          "acctPeriodStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "acctPeriodEndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "accountingStandard": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "relStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "pctOwned": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FundUmbrellaEntity": {
        "type": "object",
        "properties": {
          "countryCode": {
            "type": "string",
            "nullable": true
          },
          "regionCode": {
            "type": "string",
            "nullable": true
          },
          "regAuthCode": {
            "type": "string",
            "nullable": true
          },
          "bizRegNumber": {
            "type": "string",
            "nullable": true
          },
          "noBizRegNumber": {
            "type": "boolean"
          },
          "apiLinked": {
            "type": "boolean"
          },
          "entityName": {
            "type": "string",
            "nullable": true
          },
          "otherLegalName": {
            "type": "string",
            "nullable": true
          },
          "otherLegalNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "otherLanguageLegalNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "previousLegalName": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "website": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "addressIsHqAddress": {
            "type": "boolean"
          },
          "headquartersAddress": {
            "$ref": "#/components/schemas/HqAddress"
          },
          "needDocs": {
            "type": "boolean"
          },
          "entCreationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "entCategory": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "entSubCategory": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "otherValidationFlag": {
            "type": "boolean",
            "nullable": true
          },
          "otherValidationAuthorityID": {
            "type": "integer",
            "format": "int32"
          },
          "otherValidationAuthorityCode": {
            "type": "string",
            "nullable": true
          },
          "otherValidationAuthorityEntityId": {
            "type": "string",
            "nullable": true
          },
          "otherValidationISOCountryCode": {
            "type": "string",
            "nullable": true
          },
          "otherValidationISORegionCode": {
            "type": "string",
            "nullable": true
          },
          "needSealDocuments": {
            "type": "boolean",
            "nullable": true
          },
          "disclosure": {
            "type": "boolean",
            "nullable": true
          },
          "nonDisclosureReason": {
            "type": "string",
            "nullable": true
          },
          "hasLei": {
            "type": "boolean",
            "nullable": true
          },
          "lei": {
            "type": "string",
            "nullable": true
          },
          "fundUmbrella": {
            "type": "boolean",
            "nullable": true
          },
          "acctPeriodStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "acctPeriodEndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "accountingStandard": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "relStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "pctOwned": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "HqAddress": {
        "type": "object",
        "properties": {
          "line1": {
            "type": "string",
            "nullable": true
          },
          "line2": {
            "type": "string",
            "nullable": true
          },
          "line3": {
            "type": "string",
            "nullable": true
          },
          "line4": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "postCode": {
            "type": "string",
            "nullable": true
          },
          "countryCode": {
            "type": "string",
            "nullable": true
          },
          "regionCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Invoice": {
        "type": "object",
        "properties": {
          "invoiceID": {
            "type": "string",
            "format": "uuid"
          },
          "amount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "vatIncluded": {
            "type": "boolean",
            "nullable": true
          },
          "vatNumber": {
            "type": "string",
            "nullable": true
          },
          "vatCountry": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "invoiceNumber": {
            "type": "string",
            "nullable": true
          },
          "orderID": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "transactionComplete": {
            "type": "boolean",
            "nullable": true
          },
          "invoiceNumberRaw": {
            "type": "integer",
            "format": "int64"
          },
          "billingAddress": {
            "type": "string",
            "nullable": true
          },
          "billingAddress2": {
            "type": "string",
            "nullable": true
          },
          "billingPostalCode": {
            "type": "string",
            "nullable": true
          },
          "billingFirstName": {
            "type": "string",
            "nullable": true
          },
          "billingLastName": {
            "type": "string",
            "nullable": true
          },
          "cardHolderName": {
            "type": "string",
            "nullable": true
          },
          "cardHolderAddress": {
            "type": "string",
            "nullable": true
          },
          "cardHolderZip": {
            "type": "string",
            "nullable": true
          },
          "invoiceDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "invoicedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "billingCity": {
            "type": "string",
            "nullable": true
          },
          "dibsTransactNo": {
            "type": "string",
            "nullable": true
          },
          "duration": {
            "type": "integer",
            "format": "int32"
          },
          "bulkPayment": {
            "type": "boolean",
            "nullable": true
          },
          "bankTransfer": {
            "type": "boolean",
            "nullable": true
          },
          "netsPaymentID": {
            "type": "string",
            "nullable": true
          },
          "cardnomask": {
            "type": "string",
            "nullable": true
          },
          "cardexpdate": {
            "type": "string",
            "nullable": true
          },
          "cardFee": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "transactionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "bankTransferText": {
            "type": "string",
            "nullable": true
          },
          "louTransferStatus": {
            "type": "string",
            "nullable": true
          },
          "confirmed": {
            "type": "boolean",
            "nullable": true
          },
          "processed": {
            "type": "boolean",
            "nullable": true
          },
          "louOrderID": {
            "type": "string",
            "nullable": true
          },
          "bulkInvoiceNumber": {
            "type": "string",
            "nullable": true
          },
          "archived": {
            "type": "boolean",
            "nullable": true
          },
          "creditNote": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "InvoiceList": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "leiid": {
            "type": "string",
            "format": "uuid"
          },
          "invoiceID": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "renewalOrderKeyID": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "recordType": {
            "type": "string",
            "nullable": true
          },
          "leInumber": {
            "type": "string",
            "nullable": true
          },
          "legalName": {
            "type": "string",
            "nullable": true
          },
          "invoicedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "invoiceNumber": {
            "type": "string",
            "nullable": true
          },
          "louTransferStatus": {
            "type": "string",
            "nullable": true
          },
          "duration": {
            "type": "integer",
            "format": "int32"
          },
          "transactionComplete": {
            "type": "boolean",
            "nullable": true
          },
          "bankTransfer": {
            "type": "boolean",
            "nullable": true
          },
          "invoiced": {
            "type": "boolean",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "vatIncluded": {
            "type": "boolean",
            "nullable": true
          },
          "vatNumber": {
            "type": "string",
            "nullable": true
          },
          "vatCountry": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "bulkPayment": {
            "type": "boolean",
            "nullable": true
          },
          "renewalYear": {
            "type": "integer",
            "format": "int32"
          },
          "businessRegistryNo": {
            "type": "string",
            "nullable": true
          },
          "confirmed": {
            "type": "boolean",
            "nullable": true
          },
          "processed": {
            "type": "boolean"
          },
          "b2B": {
            "type": "boolean"
          },
          "applicationStatus": {
            "type": "string",
            "nullable": true
          },
          "bulkInvoiceNumber": {
            "type": "string",
            "nullable": true
          },
          "archived": {
            "type": "boolean",
            "nullable": true
          },
          "creditNote": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "InvoiceShort": {
        "required": [
          "duration",
          "orderID",
          "vatIncluded"
        ],
        "type": "object",
        "properties": {
          "invoiceID": {
            "type": "string",
            "format": "uuid"
          },
          "amount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "vatIncluded": {
            "type": "boolean"
          },
          "vatNumber": {
            "type": "string",
            "nullable": true
          },
          "vatCountry": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "invoiceNumber": {
            "type": "string",
            "nullable": true
          },
          "orderID": {
            "type": "string",
            "format": "uuid"
          },
          "transactionComplete": {
            "type": "boolean",
            "nullable": true
          },
          "invoiceDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dibsTransactNo": {
            "type": "string",
            "nullable": true
          },
          "duration": {
            "type": "integer",
            "format": "int32"
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "netsPaymentID": {
            "type": "string",
            "nullable": true
          },
          "cardnomask": {
            "type": "string",
            "nullable": true
          },
          "cardexpdate": {
            "type": "string",
            "nullable": true
          },
          "bankTransfer": {
            "type": "boolean",
            "nullable": true
          },
          "transactionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "bankTransferText": {
            "type": "string",
            "nullable": true
          },
          "bulkPayment": {
            "type": "boolean",
            "nullable": true
          },
          "invoiced": {
            "type": "boolean",
            "nullable": true
          },
          "fullyAssisted": {
            "type": "boolean",
            "nullable": true
          },
          "paymentProcessor": {
            "type": "string",
            "nullable": true
          },
          "confirmed": {
            "type": "boolean",
            "nullable": true
          },
          "processed": {
            "type": "boolean",
            "nullable": true
          },
          "louOrderID": {
            "type": "string",
            "nullable": true
          },
          "archived": {
            "type": "boolean",
            "nullable": true
          },
          "creditNote": {
            "type": "boolean",
            "nullable": true
          },
          "sealPackage": {
            "type": "string",
            "nullable": true
          },
          "hostedPaymentPage": {
            "type": "boolean",
            "description": "Card payments with NETS only: create a NETS hosted payment page instead of the website's embedded checkout,\r\nfor payers who aren't on the website. The response is then {\"paymentId\": \"...\", \"paymentUrl\": \"...\"}, and\r\nGfr.Api.Models.InvoiceShort.Url is the website the payer returns to.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "JToken": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/JToken"
        }
      },
      "KYB": {
        "type": "object",
        "properties": {
          "kybid": {
            "type": "string",
            "format": "uuid"
          },
          "legalName": {
            "type": "string",
            "nullable": true
          },
          "leiNumber": {
            "type": "string",
            "nullable": true
          },
          "entryDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "regAddress1": {
            "type": "string",
            "nullable": true
          },
          "regAddress2": {
            "type": "string",
            "nullable": true
          },
          "regAddress3": {
            "type": "string",
            "nullable": true
          },
          "regAddress4": {
            "type": "string",
            "nullable": true
          },
          "regCity": {
            "type": "string",
            "nullable": true
          },
          "regPostCode": {
            "type": "string",
            "nullable": true
          },
          "regCountry": {
            "type": "string",
            "nullable": true
          },
          "regState": {
            "type": "string",
            "nullable": true
          },
          "legalForm": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "regStatus": {
            "type": "string",
            "nullable": true
          },
          "businessRegistry": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "regAuthCode": {
            "type": "string",
            "nullable": true
          },
          "businessRegistryCode": {
            "type": "string",
            "nullable": true
          },
          "businessRegistryNo": {
            "type": "string",
            "nullable": true
          },
          "processed": {
            "type": "boolean"
          },
          "entCreationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "legalJurisdictionCountry": {
            "type": "string",
            "nullable": true
          },
          "legalJurisdictionRegion": {
            "type": "string",
            "nullable": true
          },
          "userNameId": {
            "type": "string",
            "nullable": true
          },
          "applicationStatus": {
            "type": "string",
            "nullable": true
          },
          "leiPresent": {
            "type": "boolean",
            "nullable": true
          },
          "idCredPub": {
            "type": "string",
            "nullable": true
          },
          "legalJurisdictionCountryName": {
            "type": "string",
            "nullable": true
          },
          "regCountryName": {
            "type": "string",
            "nullable": true
          },
          "businessRegistryString": {
            "type": "string",
            "nullable": true
          },
          "legalFormString": {
            "type": "string",
            "nullable": true
          },
          "b2BId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "tokenCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LEIShort": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "leiNumber": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "applicationStatus": {
            "type": "string",
            "nullable": true
          },
          "hasSeal": {
            "type": "boolean"
          },
          "renewalInitiated": {
            "type": "boolean"
          },
          "entCategory": {
            "type": "integer",
            "format": "int32"
          },
          "businessRegistryNo": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/LEIShortStatus"
          },
          "louShortStatus": {
            "$ref": "#/components/schemas/LEIShortStatus"
          },
          "adminStatus": {
            "$ref": "#/components/schemas/LEIShortStatus"
          },
          "entityTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "entityTypeName": {
            "type": "string",
            "nullable": true
          },
          "autoRenewalEnabled": {
            "type": "boolean"
          },
          "expiryDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "arrivesInDaysMin": {
            "type": "integer",
            "format": "int32"
          },
          "arrivesInDaysMax": {
            "type": "integer",
            "format": "int32"
          },
          "createDate": {
            "type": "string",
            "format": "date-time"
          },
          "entryDateString": {
            "type": "string",
            "nullable": true
          },
          "percentageDone": {
            "type": "number",
            "format": "double"
          },
          "daysLeft": {
            "type": "number",
            "format": "double"
          },
          "daysOverdue": {
            "type": "number",
            "format": "double"
          },
          "duration": {
            "type": "integer",
            "format": "int32"
          },
          "needDocuments": {
            "type": "integer",
            "format": "int32"
          },
          "subscriptionStatus": {
            "type": "string",
            "nullable": true
          },
          "limitedPOA": {
            "type": "boolean",
            "nullable": true
          },
          "transferPOA": {
            "type": "boolean",
            "nullable": true
          },
          "legalJurisdictionCountry": {
            "type": "string",
            "nullable": true
          },
          "legalJurisdictionCountryCode": {
            "type": "string",
            "nullable": true
          },
          "latestAmount": {
            "type": "number",
            "format": "double"
          },
          "latestCardFee": {
            "type": "number",
            "format": "double"
          },
          "latestVATAmount": {
            "type": "number",
            "format": "double"
          },
          "latestCurrency": {
            "type": "string",
            "nullable": true
          },
          "latestDuration": {
            "type": "integer",
            "format": "int32"
          },
          "latestVatIncluded": {
            "type": "boolean"
          },
          "latestVatNumber": {
            "type": "string",
            "nullable": true
          },
          "latestVatCountry": {
            "type": "string",
            "nullable": true
          },
          "latestSymbol": {
            "type": "string",
            "nullable": true
          },
          "latestInvoiceNumber": {
            "type": "string",
            "nullable": true
          },
          "latestInvoiceDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "netsPaymentID": {
            "type": "string",
            "nullable": true
          },
          "netsSubPaymentID": {
            "type": "string",
            "nullable": true
          },
          "latestPaidRenewal": {
            "type": "integer",
            "format": "int32"
          },
          "paid": {
            "type": "boolean"
          },
          "internalRef": {
            "type": "string",
            "nullable": true
          },
          "apiHasParents": {
            "type": "boolean",
            "nullable": true
          },
          "entIsApiLinked": {
            "type": "boolean",
            "nullable": true
          },
          "invoiced": {
            "type": "boolean"
          },
          "reconciliationCheck": {
            "type": "boolean"
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "userNameID": {
            "type": "string",
            "nullable": true
          },
          "nextOrderType": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "tokenCode": {
            "type": "string",
            "nullable": true
          },
          "tokenLegalName": {
            "type": "string",
            "nullable": true
          },
          "bulkPayment": {
            "type": "boolean",
            "nullable": true
          },
          "louTransferStatus": {
            "type": "string",
            "nullable": true
          },
          "identityScheme": {
            "type": "string",
            "nullable": true
          },
          "operatorUserID": {
            "type": "string",
            "format": "uuid"
          },
          "operatorFirstName": {
            "type": "string",
            "nullable": true
          },
          "operatorLastName": {
            "type": "string",
            "nullable": true
          },
          "operatorEmail": {
            "type": "string",
            "nullable": true
          },
          "bankTransfer": {
            "type": "boolean",
            "nullable": true
          },
          "contactFirstName": {
            "type": "string",
            "nullable": true
          },
          "contactLastName": {
            "type": "string",
            "nullable": true
          },
          "validateData": {
            "type": "boolean"
          },
          "renewalPending": {
            "type": "boolean",
            "nullable": true
          },
          "renewalOrderPending": {
            "type": "boolean",
            "nullable": true
          },
          "validated": {
            "type": "boolean"
          },
          "objected": {
            "type": "boolean"
          },
          "dataQuality": {
            "type": "boolean"
          },
          "b2B": {
            "type": "boolean"
          },
          "noGleifPreCheckFailures": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "noGLEIFDuplicateCheckFailures": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "skipPoa": {
            "type": "boolean",
            "nullable": true
          },
          "sendCorporateAction": {
            "type": "boolean",
            "nullable": true
          },
          "signingAuthority": {
            "$ref": "#/components/schemas/LeiSigningAuthority"
          },
          "poaSentDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "gleifDataQualityError": {
            "type": "boolean"
          },
          "gleifInitialRegistrationDate": {
            "type": "string",
            "format": "date-time"
          },
          "latestPaymentDateDiff": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "missedPayment": {
            "type": "boolean",
            "nullable": true
          },
          "louTransferInIssuedSent": {
            "type": "boolean",
            "nullable": true
          },
          "autoRenewal": {
            "type": "boolean"
          },
          "noBusinessRegistryNo": {
            "type": "boolean"
          },
          "multiYearOrderPending": {
            "type": "boolean",
            "nullable": true
          },
          "louExpirationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "legalNameLanguageOverride": {
            "type": "string",
            "nullable": true
          },
          "regAddressLanguageOverride": {
            "type": "string",
            "nullable": true
          },
          "entAddressLanguageOverride": {
            "type": "string",
            "nullable": true
          },
          "needSealDocuments": {
            "type": "boolean",
            "nullable": true
          },
          "sealPackage": {
            "type": "string",
            "nullable": true
          },
          "notarizedRegistryOrder": {
            "type": "boolean",
            "nullable": true
          },
          "poaValidated": {
            "type": "boolean",
            "nullable": true
          },
          "signatoriesValidated": {
            "type": "boolean",
            "nullable": true
          },
          "easyPath": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "LEIShortStatus": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19,
          20
        ],
        "type": "integer",
        "format": "int32"
      },
      "LEITransferReq": {
        "type": "object",
        "properties": {
          "leiNumber": {
            "type": "string",
            "nullable": true
          },
          "legalName": {
            "type": "string",
            "nullable": true
          },
          "legalJurisdictionCountry": {
            "type": "string",
            "nullable": true
          },
          "expirationDate": {
            "type": "string",
            "format": "date-time"
          },
          "contactPhone": {
            "type": "string",
            "nullable": true
          },
          "languageCode": {
            "type": "string",
            "nullable": true
          },
          "contact": {
            "$ref": "#/components/schemas/Contact"
          },
          "eqsTansfer": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LegalEntity": {
        "type": "object",
        "properties": {
          "countryCode": {
            "type": "string",
            "nullable": true
          },
          "regionCode": {
            "type": "string",
            "nullable": true
          },
          "regAuthCode": {
            "type": "string",
            "nullable": true
          },
          "bizRegNumber": {
            "type": "string",
            "nullable": true
          },
          "noBizRegNumber": {
            "type": "boolean"
          },
          "apiLinked": {
            "type": "boolean"
          },
          "entityName": {
            "type": "string",
            "nullable": true
          },
          "otherLegalName": {
            "type": "string",
            "nullable": true
          },
          "otherLegalNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "otherLanguageLegalNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "previousLegalName": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "website": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "addressIsHqAddress": {
            "type": "boolean"
          },
          "headquartersAddress": {
            "$ref": "#/components/schemas/HqAddress"
          },
          "needDocs": {
            "type": "boolean"
          },
          "entCreationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "entCategory": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "entSubCategory": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "otherValidationFlag": {
            "type": "boolean",
            "nullable": true
          },
          "otherValidationAuthorityID": {
            "type": "integer",
            "format": "int32"
          },
          "otherValidationAuthorityCode": {
            "type": "string",
            "nullable": true
          },
          "otherValidationAuthorityEntityId": {
            "type": "string",
            "nullable": true
          },
          "otherValidationISOCountryCode": {
            "type": "string",
            "nullable": true
          },
          "otherValidationISORegionCode": {
            "type": "string",
            "nullable": true
          },
          "needSealDocuments": {
            "type": "boolean",
            "nullable": true
          },
          "apiHasParents": {
            "type": "boolean"
          },
          "entityType": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Lei": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "leiNumber": {
            "type": "string",
            "nullable": true
          },
          "expiryDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "paid": {
            "type": "boolean",
            "nullable": true
          },
          "internalRef": {
            "type": "string",
            "nullable": true
          },
          "legalEntity": {
            "$ref": "#/components/schemas/LegalEntity"
          },
          "directParentEntity": {
            "$ref": "#/components/schemas/ParentEntity"
          },
          "ultimateParentEntity": {
            "$ref": "#/components/schemas/UltimateParentEntity"
          },
          "fundManagementEntity": {
            "$ref": "#/components/schemas/FundManagementEntity"
          },
          "fundMasterFeederEntity": {
            "$ref": "#/components/schemas/FundMasterFeederEntity"
          },
          "fundUmbrellaEntity": {
            "$ref": "#/components/schemas/FundUmbrellaEntity"
          },
          "branchEntity": {
            "$ref": "#/components/schemas/BranchEntity"
          },
          "rel": {
            "$ref": "#/components/schemas/Relationships"
          },
          "contact": {
            "$ref": "#/components/schemas/Contact"
          },
          "needDocuments": {
            "type": "boolean"
          },
          "needSealDocuments": {
            "type": "boolean"
          },
          "needSealNotarizedComReg": {
            "type": "boolean"
          },
          "needSealProofSigningRights": {
            "type": "boolean"
          },
          "needSealSignaturePOA": {
            "type": "boolean"
          },
          "limitedPoa": {
            "type": "boolean"
          },
          "userNameID": {
            "type": "string",
            "nullable": true
          },
          "fundType": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "fundMasterFeeder": {
            "type": "boolean",
            "nullable": true
          },
          "fundUmbrella": {
            "type": "boolean",
            "nullable": true
          },
          "branch": {
            "type": "boolean",
            "nullable": true
          },
          "autoRenewal": {
            "type": "boolean"
          },
          "noBusinessRegistryNo": {
            "type": "boolean"
          },
          "renewalPending": {
            "type": "boolean",
            "nullable": true
          },
          "renewalValidated": {
            "type": "boolean",
            "nullable": true
          },
          "multiYearOrderPending": {
            "type": "boolean",
            "nullable": true
          },
          "seal": {
            "$ref": "#/components/schemas/eSeal"
          }
        },
        "additionalProperties": false
      },
      "LeiSigningAuthority": {
        "enum": [
          0,
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "format": "int32"
      },
      "ParentEntity": {
        "type": "object",
        "properties": {
          "countryCode": {
            "type": "string",
            "nullable": true
          },
          "regionCode": {
            "type": "string",
            "nullable": true
          },
          "regAuthCode": {
            "type": "string",
            "nullable": true
          },
          "bizRegNumber": {
            "type": "string",
            "nullable": true
          },
          "noBizRegNumber": {
            "type": "boolean"
          },
          "apiLinked": {
            "type": "boolean"
          },
          "entityName": {
            "type": "string",
            "nullable": true
          },
          "otherLegalName": {
            "type": "string",
            "nullable": true
          },
          "otherLegalNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "otherLanguageLegalNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "previousLegalName": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "website": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "addressIsHqAddress": {
            "type": "boolean"
          },
          "headquartersAddress": {
            "$ref": "#/components/schemas/HqAddress"
          },
          "needDocs": {
            "type": "boolean"
          },
          "entCreationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "entCategory": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "entSubCategory": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "otherValidationFlag": {
            "type": "boolean",
            "nullable": true
          },
          "otherValidationAuthorityID": {
            "type": "integer",
            "format": "int32"
          },
          "otherValidationAuthorityCode": {
            "type": "string",
            "nullable": true
          },
          "otherValidationAuthorityEntityId": {
            "type": "string",
            "nullable": true
          },
          "otherValidationISOCountryCode": {
            "type": "string",
            "nullable": true
          },
          "otherValidationISORegionCode": {
            "type": "string",
            "nullable": true
          },
          "needSealDocuments": {
            "type": "boolean",
            "nullable": true
          },
          "disclosure": {
            "type": "boolean",
            "nullable": true
          },
          "nonDisclosureReason": {
            "type": "string",
            "nullable": true
          },
          "hasLei": {
            "type": "boolean",
            "nullable": true
          },
          "lei": {
            "type": "string",
            "nullable": true
          },
          "countryName": {
            "type": "string",
            "nullable": true
          },
          "regionName": {
            "type": "string",
            "nullable": true
          },
          "parentCountryCode": {
            "type": "string",
            "nullable": true
          },
          "parentRegionCode": {
            "type": "string",
            "nullable": true
          },
          "acctPeriodStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "acctPeriodEndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "accountingStandard": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "relStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "relEndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "pctOwned": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Price": {
        "type": "object",
        "properties": {
          "currencyCode": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "amount3Yr": {
            "type": "number",
            "format": "double"
          },
          "amount5yr": {
            "type": "number",
            "format": "double"
          },
          "renewal": {
            "type": "number",
            "format": "double"
          },
          "renewal3yr": {
            "type": "number",
            "format": "double"
          },
          "renewal5yr": {
            "type": "number",
            "format": "double"
          },
          "fullyAssisted": {
            "type": "number",
            "format": "double"
          },
          "localOnly": {
            "type": "boolean"
          },
          "symbol": {
            "type": "string",
            "nullable": true
          },
          "tokenJson": {
            "type": "string",
            "nullable": true
          },
          "priceFlag": {
            "type": "boolean",
            "nullable": true
          },
          "paymentProcessor": {
            "type": "string",
            "nullable": true
          },
          "languageFlag": {
            "type": "boolean",
            "nullable": true
          },
          "languageID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "countryLockFlag": {
            "type": "boolean",
            "nullable": true
          },
          "countryCode": {
            "type": "string",
            "nullable": true
          },
          "lockedBusinessRegistry": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "signingAuthority": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "registrationAuthorityCode": {
            "type": "string",
            "nullable": true
          },
          "disableInvoice": {
            "type": "boolean",
            "nullable": true
          },
          "signingAuthorityText": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "productXS": {
            "type": "number",
            "format": "double"
          },
          "productS": {
            "type": "number",
            "format": "double"
          },
          "productM": {
            "type": "number",
            "format": "double"
          },
          "productL": {
            "type": "number",
            "format": "double"
          },
          "productXL": {
            "type": "number",
            "format": "double"
          },
          "productXXL": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Relationships": {
        "type": "object",
        "properties": {
          "question1": {
            "type": "boolean",
            "nullable": true
          },
          "question2": {
            "type": "boolean",
            "nullable": true
          },
          "question3": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Renewal": {
        "type": "object",
        "properties": {
          "renewalOrderKeyID": {
            "type": "string",
            "format": "uuid"
          },
          "amount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "vatIncluded": {
            "type": "boolean",
            "nullable": true
          },
          "vatNumber": {
            "type": "string",
            "nullable": true
          },
          "vatCountry": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "invoiceNumber": {
            "type": "string",
            "nullable": true
          },
          "orderID": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "renewalOrderID": {
            "type": "string",
            "nullable": true
          },
          "transactionComplete": {
            "type": "boolean",
            "nullable": true
          },
          "invoiceNumberRaw": {
            "type": "integer",
            "format": "int64"
          },
          "billingAddress": {
            "type": "string",
            "nullable": true
          },
          "billingAddress2": {
            "type": "string",
            "nullable": true
          },
          "billingPostalCode": {
            "type": "string",
            "nullable": true
          },
          "billingFirstName": {
            "type": "string",
            "nullable": true
          },
          "billingLastName": {
            "type": "string",
            "nullable": true
          },
          "cardHolderName": {
            "type": "string",
            "nullable": true
          },
          "cardHolderAddress": {
            "type": "string",
            "nullable": true
          },
          "cardHolderZip": {
            "type": "string",
            "nullable": true
          },
          "invoicedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "billingCity": {
            "type": "string",
            "nullable": true
          },
          "dibsTransactNo": {
            "type": "string",
            "nullable": true
          },
          "duration": {
            "type": "integer",
            "format": "int32"
          },
          "bankTransfer": {
            "type": "boolean",
            "nullable": true
          },
          "bulkPayment": {
            "type": "boolean",
            "nullable": true
          },
          "netsPaymentID": {
            "type": "string",
            "nullable": true
          },
          "renewalYear": {
            "type": "integer",
            "format": "int32"
          },
          "cardnomask": {
            "type": "string",
            "nullable": true
          },
          "cardexpdate": {
            "type": "string",
            "nullable": true
          },
          "cardFee": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "transactionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "bankTransferText": {
            "type": "string",
            "nullable": true
          },
          "invoiced": {
            "type": "boolean",
            "nullable": true
          },
          "louTransferStatus": {
            "type": "string",
            "nullable": true
          },
          "processed": {
            "type": "boolean",
            "nullable": true
          },
          "confirmed": {
            "type": "boolean",
            "nullable": true
          },
          "bulkInvoiceNumber": {
            "type": "string",
            "nullable": true
          },
          "archived": {
            "type": "boolean",
            "nullable": true
          },
          "creditNote": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RenewalShort": {
        "required": [
          "duration",
          "orderID",
          "vatIncluded"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "vatIncluded": {
            "type": "boolean"
          },
          "vatNumber": {
            "type": "string",
            "nullable": true
          },
          "vatCountry": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "invoiceNumber": {
            "type": "string",
            "nullable": true
          },
          "orderID": {
            "type": "string",
            "format": "uuid"
          },
          "renewalOrderID": {
            "type": "string",
            "nullable": true
          },
          "transactionComplete": {
            "type": "boolean",
            "nullable": true
          },
          "invoiceDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "dibsTransactNo": {
            "type": "string",
            "nullable": true
          },
          "duration": {
            "type": "integer",
            "format": "int32"
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "renewalYear": {
            "type": "integer",
            "format": "int32"
          },
          "bankTransfer": {
            "type": "boolean",
            "nullable": true
          },
          "transactionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "bulkPayment": {
            "type": "boolean",
            "nullable": true
          },
          "bankTransferText": {
            "type": "string",
            "nullable": true
          },
          "invoiced": {
            "type": "boolean",
            "nullable": true
          },
          "paymentProcessor": {
            "type": "string",
            "nullable": true
          },
          "confirmed": {
            "type": "boolean",
            "nullable": true
          },
          "processed": {
            "type": "boolean",
            "nullable": true
          },
          "leiNumber": {
            "type": "string",
            "nullable": true
          },
          "archived": {
            "type": "boolean",
            "nullable": true
          },
          "creditNote": {
            "type": "boolean",
            "nullable": true
          },
          "netsPaymentID": {
            "type": "string",
            "nullable": true
          },
          "hostedPaymentPage": {
            "type": "boolean",
            "description": "Card payments with NETS only: create a NETS hosted payment page instead of the website's embedded checkout,\r\nfor payers who aren't on the website. The response is then {\"paymentId\": \"...\", \"paymentUrl\": \"...\"}, and\r\nGfr.Api.Models.Renewal.RenewalShort.Url is the website the payer returns to.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SealSignatureType": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "SealType": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "Ubo": {
        "type": "object",
        "properties": {
          "uboID": {
            "type": "string",
            "format": "uuid"
          },
          "kybID": {
            "type": "string",
            "format": "uuid"
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "nullable": true
          },
          "kycID": {
            "type": "string",
            "format": "uuid"
          },
          "emailUBO": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UcpCheckoutRequest": {
        "type": "object",
        "properties": {
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UcpLineItem"
            },
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "payment": {
            "$ref": "#/components/schemas/UcpPayment"
          }
        },
        "additionalProperties": false
      },
      "UcpCredential": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "token": {
            "type": "string",
            "nullable": true
          },
          "purchaseOrderNumber": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UcpInstrument": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "handlerId": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "credential": {
            "$ref": "#/components/schemas/UcpCredential"
          }
        },
        "additionalProperties": false
      },
      "UcpItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UcpLineItem": {
        "type": "object",
        "properties": {
          "item": {
            "$ref": "#/components/schemas/UcpItem"
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UcpPayment": {
        "type": "object",
        "properties": {
          "instruments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UcpInstrument"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UltimateParentEntity": {
        "type": "object",
        "properties": {
          "countryCode": {
            "type": "string",
            "nullable": true
          },
          "regionCode": {
            "type": "string",
            "nullable": true
          },
          "regAuthCode": {
            "type": "string",
            "nullable": true
          },
          "bizRegNumber": {
            "type": "string",
            "nullable": true
          },
          "noBizRegNumber": {
            "type": "boolean"
          },
          "apiLinked": {
            "type": "boolean"
          },
          "entityName": {
            "type": "string",
            "nullable": true
          },
          "otherLegalName": {
            "type": "string",
            "nullable": true
          },
          "otherLegalNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "otherLanguageLegalNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "previousLegalName": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "website": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "addressIsHqAddress": {
            "type": "boolean"
          },
          "headquartersAddress": {
            "$ref": "#/components/schemas/HqAddress"
          },
          "needDocs": {
            "type": "boolean"
          },
          "entCreationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "entCategory": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "entSubCategory": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "otherValidationFlag": {
            "type": "boolean",
            "nullable": true
          },
          "otherValidationAuthorityID": {
            "type": "integer",
            "format": "int32"
          },
          "otherValidationAuthorityCode": {
            "type": "string",
            "nullable": true
          },
          "otherValidationAuthorityEntityId": {
            "type": "string",
            "nullable": true
          },
          "otherValidationISOCountryCode": {
            "type": "string",
            "nullable": true
          },
          "otherValidationISORegionCode": {
            "type": "string",
            "nullable": true
          },
          "needSealDocuments": {
            "type": "boolean",
            "nullable": true
          },
          "disclosure": {
            "type": "boolean",
            "nullable": true
          },
          "nonDisclosureReason": {
            "type": "string",
            "nullable": true
          },
          "hasLei": {
            "type": "boolean",
            "nullable": true
          },
          "lei": {
            "type": "string",
            "nullable": true
          },
          "countryName": {
            "type": "string",
            "nullable": true
          },
          "regionName": {
            "type": "string",
            "nullable": true
          },
          "parentCountryCode": {
            "type": "string",
            "nullable": true
          },
          "parentRegionCode": {
            "type": "string",
            "nullable": true
          },
          "acctPeriodStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "acctPeriodEndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "accountingStandard": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "relStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "relEndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "pctOwned": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sameAsDirectParent": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "UpdateUserReq": {
        "required": [
          "currencyCode",
          "email",
          "languageCode",
          "lastName"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "minLength": 1,
            "type": "string"
          },
          "email": {
            "minLength": 1,
            "type": "string"
          },
          "phoneNumber": {
            "type": "string",
            "nullable": true
          },
          "languageCode": {
            "minLength": 1,
            "type": "string"
          },
          "currencyCode": {
            "minLength": 1,
            "type": "string"
          },
          "skipPoa": {
            "type": "boolean",
            "nullable": true
          },
          "skipTransferPoa": {
            "type": "boolean",
            "nullable": true
          },
          "skipPayment": {
            "type": "boolean",
            "nullable": true
          },
          "skipEmail": {
            "type": "boolean",
            "nullable": true
          },
          "b2B": {
            "type": "boolean",
            "nullable": true
          },
          "skipRenewalReminder8Week": {
            "type": "boolean",
            "nullable": true
          },
          "skipRenewalReminder3Week": {
            "type": "boolean",
            "nullable": true
          },
          "skipRenewalReminder1Week": {
            "type": "boolean",
            "nullable": true
          },
          "skipMultiyearReminder": {
            "type": "boolean",
            "nullable": true
          },
          "identityScheme": {
            "type": "string",
            "nullable": true
          },
          "identitySchemeUuid": {
            "type": "string",
            "nullable": true
          },
          "allowContact": {
            "type": "boolean",
            "nullable": true
          },
          "skipNotifications": {
            "type": "boolean",
            "nullable": true
          },
          "watchlist": {
            "type": "boolean",
            "nullable": true
          },
          "notifications": {
            "type": "boolean",
            "nullable": true
          },
          "tokenID": {
            "type": "string",
            "nullable": true
          },
          "adminLevel": {
            "type": "integer",
            "format": "int32"
          },
          "louOps": {
            "type": "boolean",
            "nullable": true
          },
          "suspended": {
            "type": "boolean",
            "nullable": true
          },
          "invoiceEmail": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "User": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "userName": {
            "type": "string",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "languageCode": {
            "type": "string",
            "nullable": true
          },
          "currencyCode": {
            "type": "string",
            "nullable": true
          },
          "isAdmin": {
            "type": "boolean"
          },
          "isKycAdmin": {
            "type": "boolean"
          },
          "isB2BKyb": {
            "type": "boolean"
          },
          "isB2BKyc": {
            "type": "boolean"
          },
          "skipPoa": {
            "type": "boolean"
          },
          "skipTransferPoa": {
            "type": "boolean"
          },
          "skipPayment": {
            "type": "boolean"
          },
          "skipEmail": {
            "type": "boolean"
          },
          "skipRenewalReminder8Week": {
            "type": "boolean"
          },
          "skipRenewalReminder3Week": {
            "type": "boolean"
          },
          "skipRenewalReminder1Week": {
            "type": "boolean"
          },
          "skipMultiyearReminder": {
            "type": "boolean"
          },
          "b2b": {
            "type": "boolean"
          },
          "b2BID": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "b2BCurrencyCode": {
            "type": "string",
            "nullable": true
          },
          "lookUp": {
            "type": "boolean"
          },
          "priceTokenCode": {
            "type": "string",
            "nullable": true
          },
          "prices": {
            "$ref": "#/components/schemas/Price"
          },
          "impersonatedBy": {
            "$ref": "#/components/schemas/User"
          },
          "identityScheme": {
            "type": "string",
            "nullable": true
          },
          "identitySchemeUuid": {
            "type": "string",
            "nullable": true
          },
          "allowContact": {
            "type": "boolean",
            "nullable": true
          },
          "b2BTokenID": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "clientTokenID": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "tokenID": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "b2BLegalName": {
            "type": "string",
            "nullable": true
          },
          "b2BUltimateParentLEI": {
            "type": "string",
            "nullable": true
          },
          "isITOps": {
            "type": "boolean"
          },
          "isLOUOps": {
            "type": "boolean"
          },
          "isAccountant": {
            "type": "boolean"
          },
          "leiCodes": {
            "type": "boolean"
          },
          "tokenLegalName": {
            "type": "string",
            "nullable": true
          },
          "verificationEmailSent": {
            "type": "boolean",
            "nullable": true
          },
          "skipNotifications": {
            "type": "boolean"
          },
          "watchlist": {
            "type": "boolean"
          },
          "notifications": {
            "type": "boolean"
          },
          "phoneNumber": {
            "type": "string",
            "nullable": true
          },
          "suspended": {
            "type": "boolean"
          },
          "departments": {
            "type": "boolean"
          },
          "ccd": {
            "type": "boolean"
          },
          "blanketAuthorizationUser": {
            "type": "boolean"
          },
          "invoiceEmail": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "eSeal": {
        "type": "object",
        "properties": {
          "eSealID": {
            "type": "string",
            "format": "uuid"
          },
          "leiID": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "userNameID": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "legalName": {
            "type": "string",
            "nullable": true
          },
          "businessRegistryNo": {
            "type": "string",
            "nullable": true
          },
          "integrationPartnerID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "webPage": {
            "type": "string",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "nullable": true
          },
          "address2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "postCode": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "correspondenceAddress1": {
            "type": "string",
            "nullable": true
          },
          "correspondenceCity": {
            "type": "string",
            "nullable": true
          },
          "correspondencePostCode": {
            "type": "string",
            "nullable": true
          },
          "correspondenceCountry": {
            "type": "string",
            "nullable": true
          },
          "contactEmail": {
            "type": "string",
            "nullable": true
          },
          "sealType": {
            "$ref": "#/components/schemas/SealType"
          },
          "signerType": {
            "$ref": "#/components/schemas/SealSignatureType"
          },
          "individualCollective": {
            "type": "string",
            "nullable": true
          },
          "qesNotarizedCommercialRegister": {
            "type": "string",
            "nullable": true
          },
          "qesNotarizedCommercialRegisterConfirmation": {
            "type": "boolean",
            "nullable": true
          },
          "qesProofOfSigningRights": {
            "type": "string",
            "nullable": true
          },
          "configurationOrganizationalUnit": {
            "type": "string",
            "nullable": true
          },
          "configurationCityMunicipality": {
            "type": "string",
            "nullable": true
          },
          "configurationCanton": {
            "type": "string",
            "nullable": true
          },
          "qesPublicLinks": {
            "type": "string",
            "nullable": true
          },
          "thirdPartySigners": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/eSealSigner"
            },
            "nullable": true
          },
          "apiSigners": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/eSealSigner"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "eSealSigner": {
        "type": "object",
        "properties": {
          "eSealSignerID": {
            "type": "string",
            "format": "uuid"
          },
          "eSealID": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "priority": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "nullable": true
          },
          "role": {
            "type": "string",
            "nullable": true
          },
          "signatoryAPI": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "description": "Access token for an AI agent acting on behalf of one GFR user, sent as `Authorization: Bearer <token>`. Register with `POST https://api2.globalfinreg.com/agent/identity` and exchange the claim at `https://api2.globalfinreg.com/oauth2/token`; see https://api2.globalfinreg.com/auth.md. Tokens have the `gfr.agent` scope, which covers exactly the operations in this document.",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "security": [
    {
      "Bearer": [
        "gfr.agent"
      ]
    }
  ],
  "tags": [
    {
      "name": "AcpCheckout"
    },
    {
      "name": "Documents"
    },
    {
      "name": "Eversign"
    },
    {
      "name": "Heartbeat"
    },
    {
      "name": "Invoices"
    },
    {
      "name": "Kyc"
    },
    {
      "name": "LegalForms"
    },
    {
      "name": "Lei"
    },
    {
      "name": "Prices"
    },
    {
      "name": "Renewals"
    },
    {
      "name": "Transfers"
    },
    {
      "name": "UcpCheckout"
    },
    {
      "name": "Users"
    }
  ],
  "externalDocs": {
    "description": "How AI agents register and get credentials (auth.md)",
    "url": "https://api2.globalfinreg.com/auth.md"
  }
}