{
  "x-generator": "NSwag v14.6.3.0 (NJsonSchema v11.5.2.0 (Newtonsoft.Json v13.0.0.0))",
  "openapi": "3.0.0",
  "info": {
    "title": "FuseSign API",
    "description": "\n### Welcome!!\n\nFor more information please see the [FuseSign gitbook](https://fuseworks.gitbook.io/fusesign) or\nemail us at [developersupport@fuse.work](mailto:developersupport@fuse.work).",
    "contact": {
      "name": "FuseSign Support",
      "email": "developersupport@fuse.work"
    },
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://api.fuse.work",
      "description": "FuseSign API"
    }
  ],
  "paths": {
    "/api/Tenant/List": {
      "get": {
        "tags": [
          "Tenant"
        ],
        "summary": "List tenants",
        "description": "Get the list of available tenants for the current OAuth token",
        "operationId": "ExternalApiExternalHandlersFeaturesTenantTenantListGetTenantListEndpoint",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesTenantTenantListGetTenantListResponse_TenantDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error message",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Tenant/GetTeams": {
      "get": {
        "tags": [
          "Tenant"
        ],
        "summary": "Get Teams",
        "description": "Get the list of a tenants teams (accessible to the logged in user)",
        "operationId": "ExternalApiExternalHandlersFeaturesTenantGetTeamsGetTeamsEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "42d4f4df-6ea1-46b5-8d2a-f09e39638b77"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesTenantGetTeamsGetTeamsResponse_SignTeam"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Tenant/GetDefaultSettings": {
      "get": {
        "tags": [
          "Tenant"
        ],
        "summary": "Produce a summary of the default configuration of a given FuseSign tenant.",
        "description": "Produces the summary of the business configuration for this tenant. The requesting user must be a FuseSign user to access this information.",
        "operationId": "ExternalApiExternalHandlersFeaturesTenantGetDefaultSettingsGetDefaultSettingsEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "54beaaa1-fc0a-4d2d-85fe-a5a34c204b05"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FuseWebExternalCoreModelsBundleDefaultConfiguration"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Tenant/GetBillingState": {
      "get": {
        "tags": [
          "Tenant"
        ],
        "summary": "Produce a summary of the billing state of a given FuseSign tenant.",
        "description": "Produces the summary of the billing state for this tenant. The requesting user must be a FuseSign user to access this information. A credit consumed summary is also produced",
        "operationId": "ExternalApiExternalHandlersFeaturesTenantGetBillingStateGetBillingStateEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "b16a9b7e-5b95-4c10-bcd9-de83262a4a81"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FuseWebExternalCoreModelsExternalBillingStatus"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Session/OAuthTokenRevoke": {
      "post": {
        "tags": [
          "Session"
        ],
        "operationId": "ExternalApiExternalHandlersFeaturesSessionOAuthTokenRevokeOAuthTokenRevokeEndpoint",
        "requestBody": {
          "x-name": "OAuthTokenRevokeRequest",
          "description": "",
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesSessionOAuthTokenRevokeOAuthTokenRevokeRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesSessionOAuthTokenRevokeOAuthTokenRevokeRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpointsErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/Session/OAuthRegister": {
      "get": {
        "tags": [
          "Session"
        ],
        "operationId": "ExternalApiExternalHandlersFeaturesSessionOAuthRegisterOAuthRegisterEndpoint",
        "parameters": [
          {
            "name": "response_type",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "default": "code"
            }
          },
          {
            "name": "client_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "redirect_uri",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Scope",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "State",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          },
          {
            "name": "Realm",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpointsErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/Session/OAuthRefreshToken": {
      "post": {
        "tags": [
          "Session"
        ],
        "operationId": "ExternalApiExternalHandlersFeaturesSessionOAuthRefreshTokenOAuthRefreshTokenEndpoint",
        "requestBody": {
          "x-name": "OAuthRefreshTokenRequest",
          "description": "",
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesSessionOAuthRefreshTokenOAuthRefreshTokenRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesSessionOAuthRefreshTokenOAuthRefreshTokenRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FuseWebApiCoreModelsOAuthTokenResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpointsErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/Session/OAuthGetToken": {
      "post": {
        "tags": [
          "Session"
        ],
        "operationId": "ExternalApiExternalHandlersFeaturesSessionOAuthGetTokenOAuthGetTokenEndpoint",
        "requestBody": {
          "x-name": "OAuthGetTokenRequest",
          "description": "",
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesSessionOAuthGetTokenOAuthGetTokenRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesSessionOAuthGetTokenOAuthGetTokenRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FuseWebApiCoreModelsOAuthTokenResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/FastEndpointsErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/Document/UploadUsingURL": {
      "post": {
        "tags": [
          "Document"
        ],
        "summary": "Uploads a given document into the system to be attached to bundles. Domain must be preapproved in developer settings page.",
        "operationId": "ExternalApiExternalHandlersFeaturesDocumentUploadUsingURLUploadUsingUrlEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "316f6dab-4fa8-45be-bfce-2a5c8ec8fe00"
          },
          {
            "name": "Url",
            "in": "query",
            "required": true,
            "description": "Publically accessible Url with a pdf - must be added to your developer domain whitelist",
            "schema": {
              "type": "string"
            },
            "example": "https://domain/document.pdf"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FuseWebExternalCoreModelsTransactionalDocument"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Document/Upload": {
      "post": {
        "tags": [
          "Document"
        ],
        "summary": "Uploads a given document into the system to be attached to bundles.",
        "operationId": "ExternalApiExternalHandlersFeaturesDocumentUploadUploadEndpoint",
        "requestBody": {
          "x-name": "UploadRequest",
          "description": "",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesDocumentUploadUploadRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FuseWebExternalCoreModelsTransactionalDocument"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Document/ListPending": {
      "get": {
        "tags": [
          "Document"
        ],
        "summary": "List all documents which have been uploaded which are not yet connected to a bundle.",
        "operationId": "ExternalApiExternalHandlersFeaturesDocumentListPendingListPendingEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "1b44106f-2d58-4b57-b22b-188f96ec5dd7"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FuseWebExternalCoreModelsTransactionalDocument"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Document/Get": {
      "get": {
        "tags": [
          "Document"
        ],
        "summary": "Produce the details of a specific document in the system.",
        "operationId": "ExternalApiExternalHandlersFeaturesDocumentGetDocumentGetDocumentEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "26677375-4808-47e4-a3f1-54e81d7ce6c1"
          },
          {
            "name": "DocumentId",
            "in": "query",
            "required": true,
            "description": "Document Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "6728f9fa-db91-4445-bfe9-647ed9a8fd2f"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FuseWebExternalCoreModelsTransactionalDocument"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Document/DownloadDocumentNoAudit": {
      "get": {
        "tags": [
          "Document"
        ],
        "summary": "Download a signed document without the audit trail",
        "description": "Download a signed document without an audit trail embedded. This will only work if the document is a document with signing actions and has been signed and Bundle.Settings.AuditType is set to Separate",
        "operationId": "ExternalApiExternalHandlersFeaturesDocumentDownloadDocumentNoAuditDownloadDocumentNoAuditEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "1bc1d34d-ea15-4bc3-b126-780c39c1c171"
          },
          {
            "name": "BundleId",
            "in": "query",
            "required": true,
            "description": "Bundle Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "2f09b595-f92b-44fa-88a1-792771a86985"
          },
          {
            "name": "DocumentId",
            "in": "query",
            "required": true,
            "description": "Document Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "432ddf99-e6c7-4d12-a919-8b1fb776abe1"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Document/Download": {
      "get": {
        "tags": [
          "Document"
        ],
        "summary": "Download the pdf document in its current state (signed or unsigned)",
        "operationId": "ExternalApiExternalHandlersFeaturesDocumentDownloadDocumentDownloadDocumentEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "a2a550f8-c0ad-4ec1-8ebb-3898f9cd1cf3"
          },
          {
            "name": "BundleId",
            "in": "query",
            "required": true,
            "description": "Bundle Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "11ac2891-4a68-4b62-9da3-aeb0515b9c86"
          },
          {
            "name": "DocumentId",
            "in": "query",
            "required": true,
            "description": "Document Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "6c4a8f5e-fed3-462c-8c7a-4bf32714d425"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Document/DownloadAudit": {
      "get": {
        "tags": [
          "Document"
        ],
        "summary": "Download the pdf document audit trail",
        "description": "Download document's audit trail. This will only work if the document has been signed (or is a view only document) and Bundle.Settings.AuditType is set to Separate",
        "operationId": "ExternalApiExternalHandlersFeaturesDocumentDownloadAuditDownloadAuditEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "875288d2-5377-4a86-8da5-c9739aef81a9"
          },
          {
            "name": "BundleId",
            "in": "query",
            "required": true,
            "description": "Bundle Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "066fc0b9-b3c5-4a62-9398-a4fe39e4a5c6"
          },
          {
            "name": "DocumentId",
            "in": "query",
            "required": true,
            "description": "Document Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "1a1a6fbd-e1e1-4e0e-b1f2-5dbd8fcec237"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Document/Delete": {
      "post": {
        "tags": [
          "Document"
        ],
        "summary": "If the target document is not attached to a bundle, you can delete it.",
        "operationId": "ExternalApiExternalHandlersFeaturesDocumentDeleteDocumentDeleteDocumentEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "037dda45-2ab4-4013-9028-3d317023664a"
          }
        ],
        "requestBody": {
          "x-name": "DeleteDocumentRequest",
          "description": "",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesDocumentDeleteDocumentDeleteDocumentRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesDocumentDeleteDocumentDeleteDocumentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesDocumentDeleteDocumentDeleteDocumentResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Customer/SearchByMetaData": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Search customer",
        "description": "Search for customer based on metadata field",
        "operationId": "ExternalApiExternalHandlersFeaturesCustomerSearchByMetaDataSearchByMetaDataEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "c8842a76-ed95-47fc-94d3-3c1618f7afc5"
          },
          {
            "name": "MetaDataSearch",
            "in": "query",
            "required": true,
            "description": "Wildcard search text",
            "schema": {
              "type": "string"
            },
            "example": "meta"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalApiExternalHandlersDtosResponsesCustomerCustomerDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Customer/Search": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Search customer",
        "description": "Search for customer based on Name/Email/Phone details",
        "operationId": "ExternalApiExternalHandlersFeaturesCustomerSearchCustomerSearchEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "d533a399-fe2a-4351-b805-c139aa928e6d"
          },
          {
            "name": "SearchString",
            "in": "query",
            "required": true,
            "description": "Wildcard search text",
            "schema": {
              "type": "string"
            },
            "example": ""
          },
          {
            "name": "CollapseDuplicates",
            "in": "query",
            "required": true,
            "description": "Collapse any duplicate records",
            "schema": {
              "type": "boolean"
            },
            "example": false
          },
          {
            "name": "ExcludeArchived",
            "in": "query",
            "required": true,
            "description": "Exclude archived contacts",
            "schema": {
              "type": "boolean"
            },
            "example": true
          },
          {
            "name": "IncludeLiveBundleCount",
            "in": "query",
            "description": "Include live bundle count",
            "schema": {
              "type": "boolean",
              "nullable": true
            },
            "example": null
          },
          {
            "name": "IncludeBundleCounts",
            "in": "query",
            "description": "Include live bundle count",
            "schema": {
              "type": "boolean",
              "nullable": true
            },
            "example": null
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalApiExternalHandlersDtosResponsesCustomerCustomerDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Customer/GetCountryCodes": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "List country codes",
        "description": "Gets the list of all country codes supported by the platform",
        "operationId": "ExternalApiExternalHandlersFeaturesCustomerGetCountryCodesGetCountryCodesEndpoint",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Customer/Get": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Get customer",
        "description": "Get specific customer details",
        "operationId": "ExternalApiExternalHandlersFeaturesCustomerGetGetCustomerEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "9870f5dd-d1d3-4fb9-b5fa-6c96e4f768ab"
          },
          {
            "name": "CustomerId",
            "in": "query",
            "required": true,
            "description": "Customer Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "9a4bd429-2440-4d5d-b2bf-f3dc6192a1af"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiExternalHandlersDtosResponsesCustomerCustomerDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Customer/Create": {
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "Create a new customer",
        "description": "Create a new customer record",
        "operationId": "ExternalApiExternalHandlersFeaturesCustomerCreateCreateCustomerEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "6fd2e6ce-df00-4fd2-b2be-439ea40ae04c"
          }
        ],
        "requestBody": {
          "x-name": "CreateCustomerRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesCustomerCreateCreateCustomerRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiExternalHandlersDtosResponsesCustomerCustomerDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Bundle/UpdateWebhookUrl": {
      "post": {
        "tags": [
          "Bundle"
        ],
        "summary": "Update the webhook URL for a bundle",
        "description": "Update the webhook URL. All future webhooks will be sent to the new URL.",
        "operationId": "ExternalApiExternalHandlersFeaturesBundleUpdateWebhookUrlUpdateWebhookUrlEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "feee76d4-1d28-45b0-b32d-0ba3968eac40"
          }
        ],
        "requestBody": {
          "x-name": "UpdateWebhookUrlRequest",
          "description": "",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleUpdateWebhookUrlUpdateWebhookUrlRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleUpdateWebhookUrlUpdateWebhookUrlResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Bundle/SendReminder": {
      "post": {
        "tags": [
          "Bundle"
        ],
        "summary": "Remind a bundle.",
        "description": "Send a reminder for a bundle (Requires Emails to be enabled for the bundle)",
        "operationId": "ExternalApiExternalHandlersFeaturesBundleSendReminderSendReminderEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "85ef6178-467c-4243-89ef-b45d9cc66f62"
          }
        ],
        "requestBody": {
          "x-name": "SendReminderRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleSendReminderSendReminderRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleSendReminderSendReminderResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Bundle/Search": {
      "post": {
        "tags": [
          "Bundle"
        ],
        "summary": "Gets a list of bundles.",
        "description": "Gets a list of bundles for the specified tenant.",
        "operationId": "ExternalApiExternalHandlersFeaturesBundleSearchSearchBundleEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "b9bcbafc-160e-4c02-ba7b-67bc360ec640"
          }
        ],
        "requestBody": {
          "x-name": "SearchBundleRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleSearchSearchBundleRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleSearchSearchBundleResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Bundle/Retract": {
      "post": {
        "tags": [
          "Bundle"
        ],
        "summary": "Retract a bundle.",
        "description": "Request bundle retraction. This will cancel the outstanding sign request",
        "operationId": "ExternalApiExternalHandlersFeaturesBundleRetractRetractBundleEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "b48f5d99-fd06-497d-9dd0-ed7828d5ae3e"
          }
        ],
        "requestBody": {
          "x-name": "RetractBundleRequest",
          "description": "",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleRetractRetractBundleRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleRetractRetractBundleResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Bundle/MarkReadyForArchive": {
      "post": {
        "tags": [
          "Bundle"
        ],
        "summary": "Mark Bundle for Archive",
        "description": "Mark the bundle as \"Closed\" which will allow it to be archived",
        "operationId": "ExternalApiExternalHandlersFeaturesBundleMarkReadyForArchiveMarkReadyForArchiveEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "d647bdbe-bb3d-4261-b544-7c9fcac57ae1"
          }
        ],
        "requestBody": {
          "x-name": "MarkReadyForArchiveRequest",
          "description": "",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleMarkReadyForArchiveMarkReadyForArchiveRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleMarkReadyForArchiveMarkReadyForArchiveBundleResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleMarkReadyForArchiveMarkReadyForArchiveBundleResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Bundle/ListPendingArchive": {
      "get": {
        "tags": [
          "Bundle"
        ],
        "summary": "List Pending archive bundles",
        "description": "Request a list of all bundles which have been finalised/retracted or rejected which are yet to be archived. These bundles and associated documents will be automatically archived in 14 days",
        "operationId": "ExternalApiExternalHandlersFeaturesBundleListPendingArchiveListPendingArchiveEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "5e89d46f-62dd-4c35-b1d8-6fd868eebb3d"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalApiExternalHandlersDtosResponsesBundleBundleDto"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Bundle/GetHistory": {
      "get": {
        "tags": [
          "Bundle"
        ],
        "summary": "Get bundle audit history.",
        "description": "Get a bundles history, including things like Finalisation, Errors and other actions. We recommend using Webhooks instead where appropriate.",
        "operationId": "ExternalApiExternalHandlersFeaturesBundleGetHistoryGetHistoryEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "66a2e660-8ad6-4f43-b5d0-2b3a6e496cde"
          },
          {
            "name": "BundleId",
            "in": "query",
            "required": true,
            "description": "Bundle Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "cd4d3269-cd27-4005-be96-7b91ca1f9ed1"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleGetHistoryGetHistoryResponse_BundleHistoryEvent"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Bundle/GetCustomerSigningLink": {
      "get": {
        "tags": [
          "Bundle"
        ],
        "summary": "Gets the signing link for a specific customer on a bundle. This requires special permission for your use case, please contact support@fuse.work",
        "description": "Returns the signing URL for a given customer on a bundle. Requires the CanGetSigningLinks developer permission.",
        "operationId": "ExternalApiExternalHandlersFeaturesBundleGetCustomerSigningLinkGetCustomerSigningLinkEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "90152c41-f980-407f-bb54-bac64b3596c1"
          },
          {
            "name": "BundleId",
            "in": "query",
            "required": true,
            "description": "Bundle Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "baeb8cb3-c71a-4dee-a753-0238601aea4d"
          },
          {
            "name": "CustomerId",
            "in": "query",
            "required": true,
            "description": "Customer Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "5ca9b268-63c1-4801-b2e3-3116cc7af2a2"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleGetCustomerSigningLinkGetCustomerSigningLinkResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Bundle/Get": {
      "get": {
        "tags": [
          "Bundle"
        ],
        "summary": "Gets the details of a bundle.",
        "description": "Gets the detailed information of a bundle",
        "operationId": "ExternalApiExternalHandlersFeaturesBundleGetGetBundleEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "54cb681b-add5-48af-b073-352eb445d690"
          },
          {
            "name": "BundleId",
            "in": "query",
            "required": true,
            "description": "Bundle Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "1775f8d8-e757-42e4-b02b-12eae638c190"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiExternalHandlersDtosResponsesBundleBundleDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Bundle/DeleteBundleDraft": {
      "post": {
        "tags": [
          "Bundle"
        ],
        "summary": "Delete a Bundle Draft",
        "description": "For a given bundle in draft state, delete the draft. This will consequently unlink associated documents and customer actions. Documents will not be deleted.",
        "operationId": "ExternalApiExternalHandlersFeaturesBundleDeleteBundleDraftDeleteBundleDraftEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "d75e8500-5596-42f1-a0e8-36c3848837d7"
          }
        ],
        "requestBody": {
          "x-name": "DeleteBundleDraftRequest",
          "description": "",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleDeleteBundleDraftDeleteBundleDraftRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleDeleteBundleDraftDeleteBundleDraftBundleResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Bundle/Create": {
      "post": {
        "tags": [
          "Bundle"
        ],
        "summary": "Creates a new bundle.",
        "description": "Submit a bundle to request to Sign with other options. FuseSign offers two different methods for document signing: Sign Entire Document and Signature Placeholders. Sign Entire Document is default. Whereas placeholder mode requires values in Documents > CustomerInputElements. We recommend uploading your documents to /Document/Upload to use DocumentId.",
        "operationId": "ExternalApiExternalHandlersFeaturesBundleCreateCreateBundleEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            }
          }
        ],
        "requestBody": {
          "x-name": "CreateBundleRequest",
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleCreateCreateBundleRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiExternalHandlersDtosResponsesBundleBundleDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/api/Bundle/Archive": {
      "post": {
        "tags": [
          "Bundle"
        ],
        "summary": "Archive a completed bundle",
        "description": "Request bundle Archive. This will schedule any bundle documents for deletion. Bundles can only be archived if they are in a Retracted, Rejected or Finalised state",
        "operationId": "ExternalApiExternalHandlersFeaturesBundleArchiveArchiveBundleEndpoint",
        "parameters": [
          {
            "name": "TenantId",
            "in": "query",
            "required": true,
            "description": "FuseSign Tenant Id",
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "example": "23e40a9a-5fbc-479c-b5a9-af5a9960174b"
          }
        ],
        "requestBody": {
          "x-name": "ArchiveBundleRequest",
          "description": "",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleArchiveArchiveBundleRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleArchiveArchiveBundleResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalApiCommonModelsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "OAuthToken": []
          },
          {
            "ApiKey": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "ExternalApiExternalHandlersFeaturesTenantTenantListGetTenantListResponse_TenantDto": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "string",
            "description": "Tenant ID",
            "format": "guid"
          },
          "Name": {
            "type": "string",
            "description": "Tenant Name"
          }
        }
      },
      "ExternalApiCommonModelsApiErrorResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Result": {
            "type": "boolean"
          },
          "Message": {
            "type": "string"
          },
          "Errors": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/FuseWebSharedObjectsModelsValidationError"
            }
          }
        }
      },
      "FuseWebSharedObjectsModelsValidationError": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Property": {
            "type": "string"
          },
          "ErrorMessage": {
            "type": "string"
          },
          "ErrorCode": {
            "type": "string"
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesTenantGetTeamsGetTeamsResponse_SignTeam": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "string",
            "description": "Team ID",
            "format": "guid"
          },
          "Name": {
            "type": "string",
            "description": "Team Name"
          },
          "Enabled": {
            "type": "boolean",
            "description": "Whether the team is enabled"
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesTenantGetTeamsGetTeamsRequest": {
        "type": "object",
        "additionalProperties": false
      },
      "FuseWebExternalCoreModelsBundleDefaultConfiguration": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "DefaultBundleReminder": {
            "description": "Default reminder setting",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsBundleReminderMode"
              }
            ]
          },
          "DefaultOverdueBundleReminder": {
            "description": "Default overdue reminder setting",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsBundleOverdueReminderMode"
              }
            ]
          },
          "DefaultViewMode": {
            "description": "The bundle view mode setting. If this is blank the business default is selected and the system falls back to the highest available authentication",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsBundleViewMode"
              }
            ]
          },
          "EnabledMixedViewMode": {
            "type": "boolean",
            "description": "Mixed mode (customers can have different view modes) Enabled. If a business has this mode enabled it is suggested to not pass view mode on bundles. The system will select the highest mode for each recipient by default"
          },
          "DefaultRecipientReceiveMode": {
            "description": "Default recipient receive mode setting",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsRecipientReceiveMode"
              }
            ]
          },
          "DefaultCountryCode": {
            "type": "string",
            "description": "Default country code",
            "nullable": true
          },
          "EnableDefaultDueDate": {
            "type": "boolean",
            "description": "Automatically apply a default due date span when a bundle is created. Default is 30 days and can be modified via DefaultDueDateSpan."
          },
          "DefaultDueDateSpan": {
            "type": "integer",
            "description": "Number of days into the future to set the due date for new bundles, if EnableDefaultDueDate is enabled.",
            "format": "int32"
          },
          "DefaultSigningMode": {
            "description": "Default signature placement mode [Signing Placements Required if CreateAndSend and Sending]",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsSigningMode"
              }
            ]
          },
          "DefaultRejectionMode": {
            "description": "Default bundle rejection mode",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsRejectionMode"
              }
            ]
          },
          "DefaultSMSNotificationMode": {
            "description": "Default SMS Notification Mode",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsSmsNotificationMode"
              }
            ]
          }
        }
      },
      "FuseWebSharedObjectsFuseSignEnumsBundleReminderMode": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "DontRemind",
          "DayBeforeDue",
          "OnDueDate"
        ],
        "enum": [
          "DontRemind",
          "DayBeforeDue",
          "OnDueDate"
        ]
      },
      "FuseWebSharedObjectsFuseSignEnumsBundleOverdueReminderMode": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "DontRemind",
          "Weekly"
        ],
        "enum": [
          "DontRemind",
          "Weekly"
        ]
      },
      "FuseWebSharedObjectsFuseSignEnumsBundleViewMode": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "SmsToSign",
          "SmsToView",
          "EmailToSign",
          "Unauthenticated",
          "EmailToView",
          "Mixed"
        ],
        "enum": [
          "SmsToSign",
          "SmsToView",
          "EmailToSign",
          "Unauthenticated",
          "EmailToView",
          "Mixed"
        ]
      },
      "FuseWebSharedObjectsFuseSignEnumsRecipientReceiveMode": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "EmailWithAttachments",
          "EmailWithLinkOnly"
        ],
        "enum": [
          "EmailWithAttachments",
          "EmailWithLinkOnly"
        ]
      },
      "FuseWebSharedObjectsFuseSignEnumsSigningMode": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "SignWhole",
          "SignPlacements"
        ],
        "enum": [
          "SignWhole",
          "SignPlacements"
        ]
      },
      "FuseWebSharedObjectsFuseSignEnumsRejectionMode": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "RejectDocumentAllowBundleFinalisation",
          "RejectEntireBundle"
        ],
        "enum": [
          "RejectDocumentAllowBundleFinalisation",
          "RejectEntireBundle"
        ]
      },
      "FuseWebSharedObjectsFuseSignEnumsSmsNotificationMode": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Off",
          "On",
          "Disabled"
        ],
        "enum": [
          "Off",
          "On",
          "Disabled"
        ]
      },
      "ExternalApiExternalHandlersFeaturesTenantGetDefaultSettingsGetDefaultSettingsRequest": {
        "type": "object",
        "additionalProperties": false
      },
      "FuseWebExternalCoreModelsExternalBillingStatus": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CurrentBillingPlan": {
            "description": "Tenants Billing plan information",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebExternalCoreModelsExternalBillingPlan"
              }
            ]
          },
          "SubscriptionStatus": {
            "description": "Tenants current subscription state information",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsSubscriptionStatus"
              }
            ]
          },
          "CreditSummary": {
            "description": "Tenants credit summary information",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebExternalCoreModelsExternalCreditSummary"
              }
            ]
          }
        }
      },
      "FuseWebExternalCoreModelsExternalBillingPlan": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "string",
            "format": "guid"
          },
          "PlanLabel": {
            "type": "string",
            "nullable": true
          },
          "AllowFuseDocsIntegration": {
            "type": "boolean"
          },
          "IsTrial": {
            "type": "boolean"
          },
          "IsRetired": {
            "type": "boolean"
          },
          "PlanCreditsPerPeriod": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "FuseWebSharedObjectsFuseSignEnumsSubscriptionStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "None",
          "CreatedButUnpaid",
          "Active",
          "Unpaid",
          "Cancelled",
          "PendingUpgrade",
          "PendingDowngrade",
          "Expired",
          "Purged"
        ],
        "enum": [
          "None",
          "CreatedButUnpaid",
          "Active",
          "Unpaid",
          "Cancelled",
          "PendingUpgrade",
          "PendingDowngrade",
          "Expired",
          "Purged"
        ]
      },
      "FuseWebExternalCoreModelsExternalCreditSummary": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "LastUpdated": {
            "type": "string",
            "description": "This information was last generated at this time",
            "format": "date-time"
          },
          "CreditsRemaining": {
            "type": "integer",
            "format": "int32"
          },
          "NextUpdating": {
            "type": "string",
            "description": "This information will be updated at this time (10 minuntes after the last update)",
            "format": "date-time"
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesTenantGetBillingStateGetBillingStateRequest": {
        "type": "object",
        "additionalProperties": false
      },
      "ExternalApiExternalHandlersFeaturesSessionOAuthTokenRevokeOAuthTokenRevokeRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "client_id",
          "refresh_token"
        ],
        "properties": {
          "client_id": {
            "type": "string",
            "minLength": 1
          },
          "refresh_token": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "FastEndpointsErrorResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "StatusCode": {
            "type": "integer",
            "format": "int32",
            "default": 400
          },
          "Message": {
            "type": "string",
            "default": "One or more errors occurred!"
          },
          "Errors": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesSessionOAuthRegisterOAuthRegisterRequest": {
        "type": "object",
        "additionalProperties": false
      },
      "FuseWebApiCoreModelsOAuthTokenResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "token_type": {
            "type": "string",
            "nullable": true
          },
          "access_token": {
            "type": "string",
            "nullable": true
          },
          "refresh_token": {
            "type": "string",
            "nullable": true
          },
          "expires_in": {
            "type": "string",
            "format": "date-time"
          },
          "refresh_token_expires_in": {
            "type": "string",
            "format": "date-time"
          },
          "default_tenant_id": {
            "type": "string",
            "format": "guid"
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesSessionOAuthRefreshTokenOAuthRefreshTokenRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "grant_type",
          "refresh_token",
          "client_id",
          "client_secret"
        ],
        "properties": {
          "grant_type": {
            "type": "string",
            "default": "refresh_token",
            "minLength": 1
          },
          "refresh_token": {
            "type": "string",
            "minLength": 1
          },
          "client_id": {
            "type": "string",
            "minLength": 1
          },
          "client_secret": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesSessionOAuthGetTokenOAuthGetTokenRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "grant_type",
          "code",
          "client_id",
          "client_secret",
          "redirect_uri"
        ],
        "properties": {
          "grant_type": {
            "type": "string",
            "default": "authorization_code",
            "minLength": 1
          },
          "code": {
            "type": "string",
            "minLength": 1
          },
          "client_id": {
            "type": "string",
            "minLength": 1
          },
          "client_secret": {
            "type": "string",
            "minLength": 1
          },
          "redirect_uri": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "FuseWebExternalCoreModelsTransactionalDocument": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "DocumentId": {
            "type": "string",
            "description": "Document ID",
            "format": "guid"
          },
          "BundleId": {
            "type": "string",
            "description": "Related bundle ID. Can be null if not yet assigned to a bundle",
            "format": "guid",
            "nullable": true
          },
          "Meta": {
            "type": "string",
            "description": "Lookup metadata",
            "nullable": true
          },
          "DisplayName": {
            "type": "string",
            "description": "Document Dispay name",
            "nullable": true
          },
          "EstimatedSize": {
            "type": "integer",
            "description": "Estimated size of the document (Affects inbox limit)",
            "format": "int64"
          },
          "SignedPDFDownloadUrl": {
            "type": "string",
            "description": "URL to download the signed PDF",
            "nullable": true
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesDocumentUploadUsingURLUploadUsingUrlRequest": {
        "type": "object",
        "additionalProperties": false
      },
      "ExternalApiExternalHandlersFeaturesDocumentUploadUploadRequest": {
        "type": "object",
        "example": {
          "File": null,
          "TenantId": "419aa262-5954-43b1-b0b3-6492e444aeea",
          "Meta": "74aaadca-a011-417a-a5a1-e83caff23e8d"
        },
        "additionalProperties": false,
        "required": [
          "TenantId"
        ],
        "properties": {
          "File": {
            "type": "string",
            "format": "binary",
            "example": null
          },
          "TenantId": {
            "type": "string",
            "description": "FuseSign Tenant Id",
            "format": "guid",
            "minLength": 1,
            "nullable": false,
            "example": "419aa262-5954-43b1-b0b3-6492e444aeea"
          },
          "Meta": {
            "type": "string",
            "description": "Metadata to attach to document for later use",
            "maxLength": 2048,
            "minLength": 0,
            "nullable": true,
            "example": "74aaadca-a011-417a-a5a1-e83caff23e8d"
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesDocumentListPendingListPendingRequest": {
        "type": "object",
        "additionalProperties": false
      },
      "ExternalApiExternalHandlersFeaturesDocumentGetDocumentGetDocumentRequest": {
        "type": "object",
        "additionalProperties": false
      },
      "ExternalApiExternalHandlersFeaturesDocumentDownloadDocumentNoAuditDownloadDocumentNoAuditRequest": {
        "type": "object",
        "additionalProperties": false
      },
      "ExternalApiExternalHandlersFeaturesDocumentDownloadDocumentDownloadDocumentRequest": {
        "type": "object",
        "additionalProperties": false
      },
      "ExternalApiExternalHandlersFeaturesDocumentDownloadAuditDownloadAuditRequest": {
        "type": "object",
        "additionalProperties": false
      },
      "ExternalApiExternalHandlersFeaturesDocumentDeleteDocumentDeleteDocumentResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Result": {
            "type": "boolean"
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesDocumentDeleteDocumentDeleteDocumentRequest": {
        "type": "object",
        "example": {
          "DocumentId": "6f4e2325-7077-4511-9174-4ff9f5c677f3"
        },
        "additionalProperties": false,
        "required": [
          "DocumentId"
        ],
        "properties": {
          "DocumentId": {
            "type": "string",
            "description": "Document Id",
            "format": "guid",
            "minLength": 1,
            "nullable": false,
            "example": "6f4e2325-7077-4511-9174-4ff9f5c677f3"
          }
        }
      },
      "ExternalApiExternalHandlersDtosResponsesCustomerCustomerDto": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CustomerId": {
            "type": "string",
            "description": "Customer ID",
            "format": "guid"
          },
          "TenantId": {
            "type": "string",
            "description": "Customer tenant ID",
            "format": "guid"
          },
          "Name": {
            "type": "string",
            "description": "Customer Name",
            "nullable": true
          },
          "Email": {
            "type": "string",
            "description": "Customer Email",
            "nullable": true
          },
          "PhoneNumber": {
            "type": "string",
            "description": "Customer mobile number. Required for 2FA. If NoMobile is true this is not required. Must be in international format:   +61413121121",
            "nullable": true
          },
          "NoMobile": {
            "type": "boolean",
            "description": "No Mobile flag, means Phone Number is ignored"
          },
          "Meta": {
            "type": "string",
            "description": "Optional external lookup ID. Can be used for searching",
            "nullable": true
          },
          "CannotModify": {
            "type": "boolean",
            "description": "Don't allow modification of this contact"
          },
          "Source": {
            "description": "Customer data source",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsSource"
              }
            ]
          },
          "CustomerEditLink": {
            "type": "string",
            "description": "Link to edit customer details directly",
            "nullable": true
          },
          "TotalLiveBundlesForCustomer": {
            "type": "integer",
            "description": "Number of bundles assigned to the user which are yet to be actioned",
            "format": "int32",
            "nullable": true
          },
          "TotalBundlesForCustomer": {
            "type": "integer",
            "description": "Number of bundles assigned to the user",
            "format": "int32",
            "nullable": true
          },
          "IsArchived": {
            "type": "boolean",
            "description": "Customer is archived"
          },
          "PreferredName": {
            "type": "string",
            "description": "Customer preferred name. The customer will be addressed by this name when signing.",
            "nullable": true
          }
        }
      },
      "FuseWebSharedObjectsFuseSignEnumsSource": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Manual",
          "XPM",
          "Test",
          "CSV",
          "External",
          "APS",
          "MYOB",
          "FileFYI",
          "FileIManage",
          "FYIElite",
          "Karbon",
          "SyncedContact",
          "FuseDocs"
        ],
        "enum": [
          "Manual",
          "XPM",
          "Test",
          "CSV",
          "External",
          "APS",
          "MYOB",
          "FileFYI",
          "FileIManage",
          "FYIElite",
          "Karbon",
          "SyncedContact",
          "FuseDocs"
        ]
      },
      "ExternalApiExternalHandlersFeaturesCustomerSearchByMetaDataSearchByMetaDataRequest": {
        "type": "object",
        "additionalProperties": false
      },
      "ExternalApiExternalHandlersFeaturesCustomerSearchCustomerSearchRequest": {
        "type": "object",
        "additionalProperties": false
      },
      "ExternalApiExternalHandlersFeaturesCustomerGetGetCustomerRequest": {
        "type": "object",
        "additionalProperties": false
      },
      "ExternalApiExternalHandlersFeaturesCustomerCreateCreateCustomerRequest": {
        "type": "object",
        "example": {
          "CustomerId": null,
          "Name": "",
          "Email": "",
          "PhoneNumber": "",
          "NoMobile": false,
          "Meta": "",
          "CannotModify": false,
          "Options": {
            "IgnorePhoneNumberIfInvalid": false,
            "UpdateExistingCustomersByMetaMatch": false
          }
        },
        "additionalProperties": false,
        "required": [
          "Name",
          "Email"
        ],
        "properties": {
          "CustomerId": {
            "type": "string",
            "format": "guid",
            "deprecated": true,
            "x-deprecatedMessage": "This should not be used - to update an existing customer use the Customer/Update endpoint",
            "nullable": true,
            "example": null
          },
          "Name": {
            "type": "string",
            "description": "Customer Name (Required)",
            "minLength": 1,
            "nullable": false,
            "example": ""
          },
          "Email": {
            "type": "string",
            "description": "Customer Email (Required)",
            "format": "email",
            "minLength": 1,
            "pattern": "^[^@]+@[^@]+$",
            "nullable": false,
            "example": ""
          },
          "PhoneNumber": {
            "type": "string",
            "description": "Customer mobile number. Required for 2FA. If NoMobile is true this is not required. Must be in international format:   +61413121121",
            "example": ""
          },
          "NoMobile": {
            "type": "boolean",
            "description": "No Mobile flag, means Phone Number is ignored",
            "example": false
          },
          "Meta": {
            "type": "string",
            "description": "Optional external lookup ID. Can be used for searching later. Note: This is used to uniquely identify this contact and will cause duplicate contacts if not reused",
            "maxLength": 128,
            "minLength": 0,
            "example": ""
          },
          "CannotModify": {
            "type": "boolean",
            "description": "Prevents end users from modifying this contact within the FuseSign application",
            "example": false
          },
          "Options": {
            "description": "Options for contact creation and validation",
            "example": {
              "IgnorePhoneNumberIfInvalid": false,
              "UpdateExistingCustomersByMetaMatch": false
            },
            "oneOf": [
              {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersDtosRequestsCustomerContactCreationOptionsDto"
              }
            ]
          }
        }
      },
      "ExternalApiExternalHandlersDtosRequestsCustomerContactCreationOptionsDto": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "IgnorePhoneNumberIfInvalid": {
            "type": "boolean"
          },
          "UpdateExistingCustomersByMetaMatch": {
            "type": "boolean"
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesBundleUpdateWebhookUrlUpdateWebhookUrlResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Result": {
            "type": "boolean"
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesBundleUpdateWebhookUrlUpdateWebhookUrlRequest": {
        "type": "object",
        "example": {
          "BundleId": "150623be-2b15-48f5-9f41-10556f1270df",
          "EventWebhookUrl": ""
        },
        "additionalProperties": false,
        "required": [
          "BundleId",
          "EventWebhookUrl"
        ],
        "properties": {
          "BundleId": {
            "type": "string",
            "description": "Bundle Id",
            "format": "guid",
            "minLength": 1,
            "nullable": false,
            "example": "150623be-2b15-48f5-9f41-10556f1270df"
          },
          "EventWebhookUrl": {
            "type": "string",
            "description": "New webhook URL",
            "minLength": 1,
            "nullable": false,
            "example": ""
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesBundleSendReminderSendReminderResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Result": {
            "type": "boolean"
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesBundleSendReminderSendReminderRequest": {
        "type": "object",
        "example": {
          "BundleId": "23a4b33c-8e9c-4e07-8fb5-542c2115d1a6",
          "ReminderNotes": null,
          "TargetCustomerIds": [
            "917fd95e-2cd1-4e84-a796-e92bede96776"
          ]
        },
        "additionalProperties": false,
        "required": [
          "BundleId",
          "TargetCustomerIds"
        ],
        "properties": {
          "BundleId": {
            "type": "string",
            "description": "Bundle Id",
            "format": "guid",
            "minLength": 1,
            "nullable": false,
            "example": "23a4b33c-8e9c-4e07-8fb5-542c2115d1a6"
          },
          "ReminderNotes": {
            "type": "string",
            "description": "Notes to include in the email",
            "nullable": true,
            "example": null
          },
          "TargetCustomerIds": {
            "type": "array",
            "description": "List of customer IDs (can be retrieved on Bundle/Get",
            "minLength": 1,
            "nullable": false,
            "example": [
              "917fd95e-2cd1-4e84-a796-e92bede96776"
            ],
            "items": {
              "type": "string",
              "format": "guid"
            }
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesBundleSearchSearchBundleResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Page": {
            "type": "integer",
            "description": "Search page",
            "format": "int32"
          },
          "TotalPages": {
            "type": "integer",
            "description": "Total pages",
            "format": "int32"
          },
          "RecordsPerPage": {
            "type": "integer",
            "description": "Number of records per page",
            "format": "int32"
          },
          "Count": {
            "type": "integer",
            "description": "Number of records returned for this page",
            "format": "int32"
          },
          "SearchResults": {
            "type": "array",
            "description": "Search Results",
            "items": {
              "$ref": "#/components/schemas/ExternalApiExternalHandlersDtosResponsesBundleBundleDto"
            }
          }
        }
      },
      "ExternalApiExternalHandlersDtosResponsesBundleBundleDto": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique bundle ID",
            "format": "guid"
          },
          "TenantId": {
            "type": "string",
            "description": "Bundle Tenant ID",
            "format": "guid"
          },
          "ReviewUrl": {
            "type": "string",
            "description": "This URL will be set if the bundle is active with a link to the review page",
            "nullable": true
          },
          "DraftUrl": {
            "type": "string",
            "description": "This URL will be set if the bundle is in draft phase and allows for the bundle to be edited.",
            "nullable": true
          },
          "Subject": {
            "type": "string",
            "description": "Bundle subject",
            "nullable": true
          },
          "Body": {
            "type": "string",
            "description": "Bundle Body message",
            "nullable": true
          },
          "FromName": {
            "type": "string",
            "description": "Who the bundle is from (included in email)",
            "nullable": true
          },
          "Customers": {
            "type": "array",
            "description": "List of bundle customers",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ExternalApiExternalHandlersDtosResponsesBundleBundleCustomerDto"
            }
          },
          "Documents": {
            "type": "array",
            "description": "List of bundle documents",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ExternalApiExternalHandlersDtosResponsesBundleBundleDocumentDto"
            }
          },
          "DueDate": {
            "type": "string",
            "description": "The bundle due date (optional)",
            "format": "date-time",
            "nullable": true
          },
          "DueReminderMode": {
            "description": "Bundle reminder mode",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsBundleReminderMode"
              }
            ]
          },
          "OverdueReminderMode": {
            "description": "Bundle overdue reminder mode",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsBundleOverdueReminderMode"
              }
            ]
          },
          "DateSent": {
            "type": "string",
            "description": "Date the bundle was sent if it is live",
            "format": "date-time",
            "nullable": true
          },
          "DateCompleted": {
            "type": "string",
            "description": "Date the bundle was completed if it is finalised",
            "format": "date-time",
            "nullable": true
          },
          "DateArchived": {
            "type": "string",
            "description": "Date the bundle was archived if it is archived",
            "format": "date-time",
            "nullable": true
          },
          "LastReminderSent": {
            "type": "string",
            "description": "Date the last reminder was sent",
            "format": "date-time",
            "nullable": true
          },
          "State": {
            "description": "Current bundle state",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsSigningBundleState"
              }
            ]
          },
          "ViewMode": {
            "description": "The bundle view mode setting. If this is blank the business default is selected and the system falls back to the highest available authentication",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsBundleViewMode"
              }
            ]
          },
          "SigningMode": {
            "description": "The bundle signing mode",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsSigningMode"
              }
            ]
          },
          "Settings": {
            "description": "Bundle settings object",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersDtosResponsesBundleBundleSettingsDto"
              }
            ]
          },
          "Meta": {
            "type": "string",
            "description": "Bundle lookup metadata",
            "nullable": true
          }
        }
      },
      "ExternalApiExternalHandlersDtosResponsesBundleBundleCustomerDto": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Customer": {
            "description": "Customer object",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersDtosResponsesBundleBundleCustomerDetailsDto"
              }
            ]
          },
          "LastSigner": {
            "type": "boolean",
            "description": "Optional argument which can only be present on ONE customer to specify signer order and they are the last signer"
          },
          "SigningGroup": {
            "type": "integer",
            "description": "Zero based index of signer order. Lower numbers will sign first, then next etc. If multiple customers share the number then they will sign at the same time.",
            "format": "int32"
          },
          "CustomerSignUrl": {
            "type": "string",
            "description": "[Obsolete] The URL where this customer can sign",
            "nullable": true
          },
          "CustomerBundleStatus": {
            "description": "The current status of this customer relative to the bundle. NOTE: At bundle creation this status is Pending because the bundle has been scheduled to be sent (and will send shortly thereafter)",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsCustomerBundleStatus"
              }
            ]
          },
          "LockLastSigningGroup": {
            "type": "boolean",
            "description": "Lock this contact in the last signing group"
          },
          "CannotRemoveFromBundleDraft": {
            "type": "boolean",
            "description": "Don't allow removal of this contact from a draft bundle"
          }
        }
      },
      "ExternalApiExternalHandlersDtosResponsesBundleBundleCustomerDetailsDto": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CustomerId": {
            "type": "string",
            "description": "Customer ID",
            "format": "guid"
          },
          "TenantId": {
            "type": "string",
            "description": "Customer tenant ID",
            "format": "guid"
          },
          "Name": {
            "type": "string",
            "description": "Customer Name",
            "nullable": true
          },
          "Email": {
            "type": "string",
            "description": "Customer Email",
            "nullable": true
          },
          "PhoneNumber": {
            "type": "string",
            "description": "Customer mobile number. Required for 2FA. If NoMobile is true this is not required. Must be in international format:   +61413121121",
            "nullable": true
          },
          "NoMobile": {
            "type": "boolean",
            "description": "No Mobile flag, means Phone Number is ignored"
          },
          "Meta": {
            "type": "string",
            "description": "Optional external lookup ID. Can be used for searching",
            "nullable": true
          },
          "CannotModify": {
            "type": "boolean",
            "description": "Don't allow modification of this contact"
          },
          "Source": {
            "description": "Customer data source",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsSource"
              }
            ]
          },
          "CustomerEditLink": {
            "type": "string",
            "description": "Link to edit customer details directly",
            "nullable": true
          },
          "TotalLiveBundlesForCustomer": {
            "type": "integer",
            "description": "Number of bundles assigned to the user which are yet to be actioned",
            "format": "int32",
            "nullable": true
          },
          "TotalBundlesForCustomer": {
            "type": "integer",
            "description": "Number of bundles assigned to the user",
            "format": "int32",
            "nullable": true
          },
          "PreferredName": {
            "type": "string",
            "description": "Customer preferred name. The customer will be addressed by this name when signing.",
            "nullable": true
          }
        }
      },
      "FuseWebSharedObjectsFuseSignEnumsCustomerBundleStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "NoActions",
          "ActionsCompleted",
          "ActionsCancelled",
          "DocumentsRetracted",
          "NotOpenedActionsRequired",
          "NotOpenedFYIOnly",
          "Pending",
          "Rejected",
          "Retracted",
          "Seen"
        ],
        "enum": [
          "NoActions",
          "ActionsCompleted",
          "ActionsCancelled",
          "DocumentsRetracted",
          "NotOpenedActionsRequired",
          "NotOpenedFYIOnly",
          "Pending",
          "Rejected",
          "Retracted",
          "Seen"
        ]
      },
      "ExternalApiExternalHandlersDtosResponsesBundleBundleDocumentDto": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Document": {
            "description": "Document information",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersDtosResponsesBundleBundleDocumentDetailsDto"
              }
            ]
          },
          "DocumentOrder": {
            "type": "integer",
            "description": "Optional: The order that this document will be presented in the pack. Must be a unique integer.",
            "format": "int32"
          },
          "CustomerSigners": {
            "type": "array",
            "description": "A list of customers for which customers must SIGN this document",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ExternalApiExternalHandlersDtosResponsesBundleBundleCustomerDto"
            }
          },
          "CustomerViewers": {
            "type": "array",
            "description": "A list of customers for which customers can VIEW this document",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ExternalApiExternalHandlersDtosResponsesBundleBundleCustomerDto"
            }
          },
          "DocumentState": {
            "description": "The state of the Document.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsTransactionalDocumentState"
              }
            ]
          }
        }
      },
      "ExternalApiExternalHandlersDtosResponsesBundleBundleDocumentDetailsDto": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "DocumentId": {
            "type": "string",
            "description": "Document ID",
            "format": "guid"
          },
          "BundleId": {
            "type": "string",
            "description": "Related bundle ID. Can be null if not yet assigned to a bundle",
            "format": "guid",
            "nullable": true
          },
          "Meta": {
            "type": "string",
            "description": "Lookup metadata",
            "nullable": true
          },
          "DisplayName": {
            "type": "string",
            "description": "Document Display name",
            "nullable": true
          },
          "EstimatedSize": {
            "type": "integer",
            "description": "Estimated size of the document (Affects inbox limit)",
            "format": "int64"
          },
          "SignedPDFDownloadUrl": {
            "type": "string",
            "description": "URL to download the signed PDF",
            "nullable": true
          }
        }
      },
      "FuseWebSharedObjectsFuseSignEnumsTransactionalDocumentState": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Draft",
          "Live",
          "Signed",
          "Rejected",
          "Retracted",
          "Finalised"
        ],
        "enum": [
          "Draft",
          "Live",
          "Signed",
          "Rejected",
          "Retracted",
          "Finalised"
        ]
      },
      "FuseWebSharedObjectsFuseSignEnumsSigningBundleState": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Draft",
          "Live",
          "Finalised",
          "Retracted",
          "Rejected",
          "Error",
          "PendingArchive",
          "Archived",
          "DraftDeleted",
          "PurgedArchive",
          "ArchiveNoRetention",
          "NewDraft"
        ],
        "enum": [
          "Draft",
          "Live",
          "Finalised",
          "Retracted",
          "Rejected",
          "Error",
          "PendingArchive",
          "Archived",
          "DraftDeleted",
          "PurgedArchive",
          "ArchiveNoRetention",
          "NewDraft"
        ]
      },
      "ExternalApiExternalHandlersDtosResponsesBundleBundleSettingsDto": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "EmailPreference": {
            "description": "Indicate that no emails should be sent by fusesign and that communication will be sent by webhooks",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsEmailPreference"
              }
            ]
          },
          "AlwaysSendFinalisationEmail": {
            "type": "boolean",
            "description": "Always send the finalisation emails regardless of the EmailPreference setting"
          },
          "WebhookUrl": {
            "type": "string",
            "description": "The callback URL for bundle events",
            "nullable": true
          },
          "DisableFinaliseNow": {
            "type": "boolean",
            "description": "Disable the ability for the user to Finalise early from the FuseSign webapp."
          },
          "DisableRetract": {
            "type": "boolean",
            "description": "Disable the ability for the user to Retract the bundle from the FuseSign webapp."
          },
          "DisableReminders": {
            "type": "boolean",
            "description": "Disable the ability for the user to request reminder emails from the FuseSign webapp."
          },
          "CustomBranding": {
            "description": "Specify custom branding for this specific bundle. All properties on this object must be set if the object is specified.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersDtosResponsesBundleBundleFormattingSettingsDto"
              }
            ]
          },
          "RedirectUrl": {
            "type": "string",
            "description": "Optional URL to redirect the signer to after signing",
            "nullable": true
          },
          "RedirectDelaySeconds": {
            "type": "integer",
            "description": "Optional Number of seconds to delay before redirecting. Default 10.",
            "format": "int32"
          },
          "AuditType": {
            "description": "How to create the bundle audit (included in the signed document or as a separate signed file",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsAuditType"
              }
            ]
          },
          "ContextUrl": {
            "type": "string",
            "description": "Context Url - will display a link back to this link within the FuseSign interface.",
            "nullable": true
          }
        }
      },
      "FuseWebSharedObjectsFuseSignEnumsEmailPreference": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "FuseSignEmails",
          "NoFuseSignEmails"
        ],
        "enum": [
          "FuseSignEmails",
          "NoFuseSignEmails"
        ]
      },
      "ExternalApiExternalHandlersDtosResponsesBundleBundleFormattingSettingsDto": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ButtonColor": {
            "type": "string",
            "description": "Custom for this bundle - this controls the color of the buttons and key UI items on the page. Accepted #RRGGBB format."
          },
          "BannerColor": {
            "type": "string",
            "description": "Custom for this bundle - this controls the color of the banner across the top of the page and is shown BEHIND the log image. Accepted #RRGGBB format."
          },
          "LogoUrl": {
            "type": "string",
            "description": "Set a custom branding Logo URL for this specific bundle. This must be an absolute URL and is hosted."
          },
          "FromName": {
            "type": "string",
            "description": "This will come through in the email FROM field as well as presented on the bundle signing page.",
            "nullable": true
          }
        }
      },
      "FuseWebSharedObjectsFuseSignEnumsAuditType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Included",
          "Separate"
        ],
        "enum": [
          "Included",
          "Separate"
        ]
      },
      "ExternalApiExternalHandlersFeaturesBundleSearchSearchBundleRequest": {
        "type": "object",
        "example": {
          "Page": 0,
          "States": [
            "Live"
          ]
        },
        "additionalProperties": false,
        "properties": {
          "Page": {
            "type": "integer",
            "description": "Search page (50 records per page). 0 Based indexing.",
            "format": "int32",
            "minimum": 0.0,
            "example": 0
          },
          "States": {
            "type": "array",
            "description": "Return bundles with this state. Leave empty to return all states",
            "example": [
              "Live"
            ],
            "items": {
              "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsSigningBundleState"
            }
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesBundleRetractRetractBundleResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Result": {
            "type": "boolean"
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesBundleRetractRetractBundleRequest": {
        "type": "object",
        "example": {
          "BundleId": "63a7fadd-8a9c-478b-a1ea-5e95bb19934d",
          "Reason": "Reason",
          "Message": null
        },
        "additionalProperties": false,
        "required": [
          "BundleId",
          "Reason"
        ],
        "properties": {
          "BundleId": {
            "type": "string",
            "description": "Bundle Id",
            "format": "guid",
            "minLength": 1,
            "nullable": false,
            "example": "63a7fadd-8a9c-478b-a1ea-5e95bb19934d"
          },
          "Reason": {
            "type": "string",
            "description": "[Mandatory] Reason for retraction",
            "minLength": 1,
            "nullable": false,
            "example": "Reason"
          },
          "Message": {
            "type": "string",
            "description": "[Optional] Additional message",
            "nullable": true,
            "example": null
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesBundleMarkReadyForArchiveMarkReadyForArchiveBundleResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Result": {
            "type": "boolean"
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesBundleMarkReadyForArchiveMarkReadyForArchiveRequest": {
        "type": "object",
        "example": {
          "BundleId": "8c675b02-ec7f-4200-9315-bd25e7b8a4fb"
        },
        "additionalProperties": false,
        "required": [
          "BundleId"
        ],
        "properties": {
          "BundleId": {
            "type": "string",
            "description": "Bundle Id",
            "format": "guid",
            "minLength": 1,
            "nullable": false,
            "example": "8c675b02-ec7f-4200-9315-bd25e7b8a4fb"
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesBundleListPendingArchiveListPendingArchiveRequest": {
        "type": "object",
        "additionalProperties": false
      },
      "ExternalApiExternalHandlersFeaturesBundleGetHistoryGetHistoryResponse_BundleHistoryEvent": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "string",
            "description": "Event ID",
            "format": "guid"
          },
          "DateTime": {
            "type": "string",
            "description": "Event Time",
            "format": "date-time"
          },
          "BundleId": {
            "type": "string",
            "description": "Bundle ID",
            "format": "guid"
          },
          "DocumentId": {
            "type": "string",
            "description": "Related Document ID",
            "format": "guid",
            "nullable": true
          },
          "CustomerId": {
            "type": "string",
            "description": "Related Customer ID",
            "format": "guid",
            "nullable": true
          },
          "Action": {
            "description": "Event Action type",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsSigningBundleAuditActionAction"
              }
            ]
          },
          "ActionNotes": {
            "type": "string",
            "description": "Event information",
            "nullable": true
          },
          "IP": {
            "type": "string",
            "description": "Customer IP if applicable",
            "nullable": true
          }
        }
      },
      "FuseWebSharedObjectsFuseSignEnumsSigningBundleAuditActionAction": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Sent",
          "Viewed",
          "Downloaded",
          "Verified",
          "Signed",
          "Retracted",
          "Finalised",
          "Rejected",
          "Error",
          "Initiated",
          "Reminder",
          "EmailSent",
          "UpdateDueDate",
          "DownloadedSigned",
          "EmailSentAttachment",
          "ArchiveWarningSent",
          "CustomerRequestedNewLink",
          "AttributeChanged",
          "FormFieldSubmission",
          "UpdateSmsNotify",
          "DeletedDraft",
          "MarkedForClosure",
          "DocumentFiledBack",
          "UserMarkedBundleForClosure",
          "ReminderNotSentPastOverdue",
          "Cloned"
        ],
        "enum": [
          "Sent",
          "Viewed",
          "Downloaded",
          "Verified",
          "Signed",
          "Retracted",
          "Finalised",
          "Rejected",
          "Error",
          "Initiated",
          "Reminder",
          "EmailSent",
          "UpdateDueDate",
          "DownloadedSigned",
          "EmailSentAttachment",
          "ArchiveWarningSent",
          "CustomerRequestedNewLink",
          "AttributeChanged",
          "FormFieldSubmission",
          "UpdateSmsNotify",
          "DeletedDraft",
          "MarkedForClosure",
          "DocumentFiledBack",
          "UserMarkedBundleForClosure",
          "ReminderNotSentPastOverdue",
          "Cloned"
        ]
      },
      "ExternalApiExternalHandlersFeaturesBundleGetHistoryGetHistoryRequest": {
        "type": "object",
        "additionalProperties": false
      },
      "ExternalApiExternalHandlersFeaturesBundleGetCustomerSigningLinkGetCustomerSigningLinkResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "SigningLink": {
            "type": "string"
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesBundleGetCustomerSigningLinkGetCustomerSigningLinkRequest": {
        "type": "object",
        "additionalProperties": false
      },
      "ExternalApiExternalHandlersFeaturesBundleGetGetBundleRequest": {
        "type": "object",
        "additionalProperties": false
      },
      "ExternalApiExternalHandlersFeaturesBundleDeleteBundleDraftDeleteBundleDraftBundleResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Result": {
            "type": "boolean"
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesBundleDeleteBundleDraftDeleteBundleDraftRequest": {
        "type": "object",
        "example": {
          "BundleId": "7d30c995-5a81-421a-9de4-2ed8849635c9"
        },
        "additionalProperties": false,
        "required": [
          "BundleId"
        ],
        "properties": {
          "BundleId": {
            "type": "string",
            "description": "Bundle Id",
            "format": "guid",
            "minLength": 1,
            "nullable": false,
            "example": "7d30c995-5a81-421a-9de4-2ed8849635c9"
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesBundleCreateCreateBundleRequest": {
        "type": "object",
        "example": {
          "Subject": "test",
          "Body": "body",
          "CreateMode": "CreateAndSend",
          "CreatedBy": null,
          "Customers": [
            {
              "Customer": {
                "CustomerId": null,
                "Name": "Your Name",
                "Email": "youremail@yourdomain.com",
                "PhoneNumber": null,
                "NoMobile": true,
                "Meta": null,
                "CannotModify": false,
                "Options": {
                  "IgnorePhoneNumberIfInvalid": false,
                  "UpdateExistingCustomersByMetaMatch": false
                }
              },
              "LastSigner": null,
              "SigningGroup": 0,
              "LockLastSigningGroup": false,
              "CannotRemoveFromBundleDraft": false,
              "SMSNotify": false
            }
          ],
          "Documents": [
            {
              "DisplayName": "Signing document",
              "DocumentId": null,
              "DocumentBase64": null,
              "DocumentUrl": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
              "DocumentOrder": 0,
              "CustomerSigners": [],
              "CustomerInputElements": [
                {
                  "CustomerIndex": 0,
                  "InputElements": [
                    {
                      "PageIndex": 0,
                      "X": 10.0,
                      "Y": 10.0,
                      "W": 50.0,
                      "H": 20.0,
                      "Type": "Standard",
                      "PlacementType": "ByCoordinate",
                      "AnchorText": null,
                      "AnchorXOffset": 0.0,
                      "AnchorYOffset": 0.0,
                      "AnchorFindCount": 0
                    }
                  ]
                }
              ],
              "CustomerViewers": [],
              "Meta": null
            }
          ],
          "DueDate": null,
          "DueReminderMode": null,
          "OverdueReminderMode": null,
          "ViewMode": null,
          "RecipientReceiveMode": null,
          "SigningMode": "SignPlacements",
          "Settings": null,
          "Meta": null,
          "TeamId": null,
          "SenderIP": null
        },
        "additionalProperties": false,
        "required": [
          "Customers"
        ],
        "properties": {
          "Subject": {
            "type": "string",
            "description": "Bundle subject",
            "maxLength": 200,
            "minLength": 0,
            "example": "test"
          },
          "Body": {
            "type": "string",
            "description": "Bundle Body message",
            "example": "body"
          },
          "CreateMode": {
            "description": "Create and send or create as draft",
            "example": "CreateAndSend",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebExternalCoreModelsTransactionalBundleCreateRequestMode"
              }
            ]
          },
          "CreatedBy": {
            "type": "string",
            "description": "Sets the created by user email. If the user exists and the requestor has permissions, then the bundle will be \"created\" by the specified user. Will cause an error to throw if the user does not have permissions to do this.",
            "format": "email",
            "pattern": "^[^@]+@[^@]+$",
            "example": null
          },
          "Customers": {
            "type": "array",
            "description": "List of bundle customers",
            "minLength": 1,
            "nullable": false,
            "example": [
              {
                "Customer": {
                  "CustomerId": null,
                  "Name": "Your Name",
                  "Email": "youremail@yourdomain.com",
                  "PhoneNumber": null,
                  "NoMobile": true,
                  "Meta": null,
                  "CannotModify": false,
                  "Options": {
                    "IgnorePhoneNumberIfInvalid": false,
                    "UpdateExistingCustomersByMetaMatch": false
                  }
                },
                "LastSigner": null,
                "SigningGroup": 0,
                "LockLastSigningGroup": false,
                "CannotRemoveFromBundleDraft": false,
                "SMSNotify": false
              }
            ],
            "items": {
              "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleCreateBundleCustomerCreateRequestDto"
            }
          },
          "Documents": {
            "type": "array",
            "description": "List of bundle documents",
            "nullable": true,
            "example": [
              {
                "DisplayName": "Signing document",
                "DocumentId": null,
                "DocumentBase64": null,
                "DocumentUrl": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
                "DocumentOrder": 0,
                "CustomerSigners": [],
                "CustomerInputElements": [
                  {
                    "CustomerIndex": 0,
                    "InputElements": [
                      {
                        "PageIndex": 0,
                        "X": 10.0,
                        "Y": 10.0,
                        "W": 50.0,
                        "H": 20.0,
                        "Type": "Standard",
                        "PlacementType": "ByCoordinate",
                        "AnchorText": null,
                        "AnchorXOffset": 0.0,
                        "AnchorYOffset": 0.0,
                        "AnchorFindCount": 0
                      }
                    ]
                  }
                ],
                "CustomerViewers": [],
                "Meta": null
              }
            ],
            "items": {
              "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleCreateDocumentCreateRequestDto"
            }
          },
          "DueDate": {
            "type": "string",
            "description": "The bundle due date (optional)",
            "format": "date-time",
            "nullable": true,
            "example": null
          },
          "DueReminderMode": {
            "description": "Bundle reminder mode (optional)",
            "nullable": true,
            "example": null,
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsBundleReminderMode"
              }
            ]
          },
          "OverdueReminderMode": {
            "description": "Bundle overdue reminder mode (optional)",
            "nullable": true,
            "example": null,
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsBundleOverdueReminderMode"
              }
            ]
          },
          "ViewMode": {
            "description": "The bundle view mode setting. If this is blank the business default is selected and the system falls back to the highest available authentication",
            "nullable": true,
            "example": null,
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsBundleViewMode"
              }
            ]
          },
          "RecipientReceiveMode": {
            "description": "How the recipients receive signed documents",
            "nullable": true,
            "example": null,
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsRecipientReceiveMode"
              }
            ]
          },
          "SigningMode": {
            "description": "Describe how the document(s) will be processed. I.e. if signature placements are used [I.e. if SENDING SignPlacements then all Documents must have CustomerSignerLocations set. Otherwise CustomerSigners.].",
            "nullable": true,
            "example": "SignPlacements",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsSigningMode"
              }
            ]
          },
          "Settings": {
            "description": "Bundle settings object - API related options.",
            "example": null,
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebExternalCoreModelsBundleSettings"
              }
            ]
          },
          "Meta": {
            "type": "string",
            "description": "Bundle lookup metadata",
            "maxLength": 1000,
            "minLength": 0,
            "example": null
          },
          "TeamId": {
            "type": "string",
            "description": "If assigned - apply this team to the bundle. Verify that the user sending the bundle can send on behalf of this team.",
            "format": "guid",
            "nullable": true,
            "example": null
          },
          "SenderIP": {
            "type": "string",
            "description": "IP Address applied to the bundle Audit. Automatic Field - no need to set.",
            "nullable": true,
            "example": null
          }
        }
      },
      "FuseWebExternalCoreModelsTransactionalBundleCreateRequestMode": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "CreateAndSend",
          "CreateAsDraft"
        ],
        "enum": [
          "CreateAndSend",
          "CreateAsDraft"
        ]
      },
      "ExternalApiExternalHandlersFeaturesBundleCreateBundleCustomerCreateRequestDto": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Customer": {
            "description": "Create request customer",
            "oneOf": [
              {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleCreateCustomerCreateRequestDto"
              }
            ]
          },
          "LastSigner": {
            "type": "boolean",
            "description": "Optional argument which can only be present on ONE customer to specify signer order and they are the last signer",
            "deprecated": true,
            "x-deprecatedMessage": "Replaced by SigningOrder",
            "nullable": true
          },
          "SigningGroup": {
            "type": "integer",
            "description": "Zero based index of signer order. Lower numbers will sign first, then next etc. If multiple customers share the number then they will sign at the same time.",
            "format": "int32"
          },
          "LockLastSigningGroup": {
            "type": "boolean",
            "description": "Lock this contact in the last signing group"
          },
          "CannotRemoveFromBundleDraft": {
            "type": "boolean",
            "description": "Don't allow removal of this contact from a draft bundle"
          },
          "SMSNotify": {
            "type": "boolean",
            "description": "Notify this customer via SMS"
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesBundleCreateCustomerCreateRequestDto": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "Name",
          "Email"
        ],
        "properties": {
          "CustomerId": {
            "type": "string",
            "description": "Customer ID For updating an existing customer",
            "format": "guid",
            "nullable": true
          },
          "Name": {
            "type": "string",
            "description": "Customer Name (Required)",
            "minLength": 1,
            "nullable": false
          },
          "Email": {
            "type": "string",
            "description": "Customer Email (Required)",
            "format": "email",
            "minLength": 1,
            "pattern": "^[^@]+@[^@]+$",
            "nullable": false
          },
          "PhoneNumber": {
            "type": "string",
            "description": "Customer mobile number. Required for 2FA. If NoMobile is true this is not required. Must be in international format:   +61413121121"
          },
          "NoMobile": {
            "type": "boolean",
            "description": "No Mobile flag, means Phone Number is ignored"
          },
          "Meta": {
            "type": "string",
            "description": "Optional external lookup ID. Can be used for searching later. Note: This is used to uniquely identify this contact and will cause duplicate contacts if not reused",
            "maxLength": 128,
            "minLength": 0
          },
          "CannotModify": {
            "type": "boolean",
            "description": "Prevents end users from modifying this contact within the FuseSign application"
          },
          "Options": {
            "description": "Options for contact creation and validation",
            "oneOf": [
              {
                "$ref": "#/components/schemas/ExternalApiExternalHandlersDtosRequestsCustomerContactCreationOptionsDto"
              }
            ]
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesBundleCreateDocumentCreateRequestDto": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "DisplayName"
        ],
        "properties": {
          "DisplayName": {
            "type": "string",
            "description": "The display name for the document to show to the client.",
            "maxLength": 300,
            "minLength": 0,
            "nullable": false
          },
          "DocumentId": {
            "type": "string",
            "description": "Optional Document ID. If document is already uploaded, include it here. Otherwise must provide Documentbase64 or DocumentUrl.",
            "format": "guid",
            "nullable": true
          },
          "DocumentBase64": {
            "type": "string",
            "description": "Optional Document base64 data. Otherwise must provide DocumentId or DocumentUrl."
          },
          "DocumentUrl": {
            "type": "string",
            "description": "Optional public URL. Otherwise must provide DocumentId or DocumentUrl."
          },
          "DocumentOrder": {
            "type": "integer",
            "description": "Optional: The order that this document will be presented in the pack. Must be a unique integer.",
            "format": "int32"
          },
          "CustomerSigners": {
            "type": "array",
            "description": "A list of indexes of uploaded customers for which customers must SIGN this document. 0 based from the Bundle customers list",
            "nullable": true,
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "CustomerInputElements": {
            "type": "array",
            "description": "Optional list of Customer Signer locations",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleCreateCustomerInputElementDetailsDto"
            }
          },
          "CustomerViewers": {
            "type": "array",
            "description": "A list of indexes of uploaded customers for which customers can VIEW this document. This is optional - customers that must sign need to be in the CustomerSigners list",
            "nullable": true,
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "Meta": {
            "type": "string",
            "description": "This is a external system generated key/string. Populated by the external system and tied to a bundle."
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesBundleCreateCustomerInputElementDetailsDto": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "CustomerIndex": {
            "type": "integer",
            "description": "The 0 based index in the bundle customers list",
            "format": "int32"
          },
          "InputElements": {
            "type": "array",
            "description": "List of signature placement locations",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleCreateApiInputElementDto"
            }
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesBundleCreateApiInputElementDto": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "PageIndex": {
            "type": "integer",
            "description": "Required for coordinate placement. The target page.",
            "format": "int32",
            "nullable": true
          },
          "X": {
            "type": "number",
            "description": "Required for coordinate placement. The X coordinate (from top left).",
            "format": "decimal",
            "nullable": true
          },
          "Y": {
            "type": "number",
            "description": "Required for coordinate placement. The Y coordinate (from top left).",
            "format": "decimal",
            "nullable": true
          },
          "W": {
            "type": "number",
            "description": "Width of placeholder",
            "format": "decimal",
            "nullable": true
          },
          "H": {
            "type": "number",
            "description": "Height of placeholder",
            "format": "decimal",
            "nullable": true
          },
          "Type": {
            "$ref": "#/components/schemas/ExternalApiExternalHandlersFeaturesBundleCreateRequestSignaturePlacementType"
          },
          "PlacementType": {
            "$ref": "#/components/schemas/FuseSignApiCoreModelsBundlesInputElementPlacementType"
          },
          "AnchorText": {
            "type": "string",
            "description": "Required for anchor placement. The text being searched for. We recommend avoiding special characters."
          },
          "AnchorXOffset": {
            "type": "number",
            "format": "decimal"
          },
          "AnchorYOffset": {
            "type": "number",
            "format": "decimal"
          },
          "AnchorFindCount": {
            "type": "integer",
            "description": "For anchor placement. Number of instances being placed. (0 = unlimited)",
            "format": "int32"
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesBundleCreateRequestSignaturePlacementType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Standard",
          "WithDate",
          "TextLine",
          "Paragraph",
          "Date",
          "CheckBox",
          "SignedDate",
          "SignerName"
        ],
        "enum": [
          "Standard",
          "WithDate",
          "TextLine",
          "Paragraph",
          "Date",
          "CheckBox",
          "SignedDate",
          "SignerName"
        ]
      },
      "FuseSignApiCoreModelsBundlesInputElementPlacementType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "ByCoordinate",
          "ByAnchorText"
        ],
        "enum": [
          "ByCoordinate",
          "ByAnchorText"
        ]
      },
      "FuseWebExternalCoreModelsBundleSettings": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "EmailPreference": {
            "description": "Indicate that no emails should be sent by fusesign and that communication will be sent by webhooks",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsEmailPreference"
              }
            ]
          },
          "AlwaysSendFinalisationEmail": {
            "type": "boolean",
            "description": "Always send the finalisation emails regardless of the EmailPreference setting"
          },
          "WebhookUrl": {
            "type": "string",
            "description": "The callback URL for bundle events",
            "nullable": true
          },
          "DisableFinaliseNow": {
            "type": "boolean",
            "description": "Disable the ability for the user to Finalise early from the FuseSign webapp."
          },
          "DisableRetract": {
            "type": "boolean",
            "description": "Disable the ability for the user to Retract the bundle from the FuseSign webapp."
          },
          "DisableReminders": {
            "type": "boolean",
            "description": "Disable the ability for the user to request reminder emails from the FuseSign webapp."
          },
          "CustomBranding": {
            "description": "Specify custom branding for this specific bundle. All properties on this object must be set if the object is specified.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebExternalCoreModelsBundleFormattingSettings"
              }
            ]
          },
          "RedirectUrl": {
            "type": "string",
            "description": "Optional URL to redirect the signer to after signing",
            "nullable": true
          },
          "RedirectDelaySeconds": {
            "type": "integer",
            "description": "Optional Number of seconds to delay before redirecting. Default 10.",
            "format": "int32"
          },
          "AuditType": {
            "description": "How to create the bundle audit (included in the signed document or as a separate signed file",
            "oneOf": [
              {
                "$ref": "#/components/schemas/FuseWebSharedObjectsFuseSignEnumsAuditType"
              }
            ]
          },
          "ContextUrl": {
            "type": "string",
            "description": "Context Url - will display a link back to this link within the FuseSign interface.",
            "nullable": true
          }
        }
      },
      "FuseWebExternalCoreModelsBundleFormattingSettings": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ButtonColor": {
            "type": "string",
            "description": "Custom for this bundle - this controls the color of the buttons and key UI items on the page. Accepted #RRGGBB format.",
            "nullable": true
          },
          "BannerColor": {
            "type": "string",
            "description": "Custom for this bundle - this controls the color of the banner across the top of the page and is shown BEHIND the log image. Accepted #RRGGBB format.",
            "nullable": true
          },
          "LogoUrl": {
            "type": "string",
            "description": "Set a custom branding Logo URL for this specific bundle. This must be an absolute URL and is hosted.",
            "nullable": true
          },
          "FromName": {
            "type": "string",
            "description": "This will come through in the email FROM field as well as presented on the bundle signing page.",
            "nullable": true
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesBundleArchiveArchiveBundleResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "Result": {
            "type": "boolean"
          }
        }
      },
      "ExternalApiExternalHandlersFeaturesBundleArchiveArchiveBundleRequest": {
        "type": "object",
        "example": {
          "BundleId": "0e791a2a-713e-4ef1-96c5-36d5d420ea5f"
        },
        "additionalProperties": false,
        "required": [
          "BundleId"
        ],
        "properties": {
          "BundleId": {
            "type": "string",
            "description": "Bundle Id",
            "format": "guid",
            "minLength": 1,
            "nullable": false,
            "example": "0e791a2a-713e-4ef1-96c5-36d5d420ea5f"
          }
        }
      }
    },
    "securitySchemes": {
      "OAuthToken": {
        "type": "oauth2",
        "description": "FuseSign OAuth 2. Use this for most implementations.",
        "name": "FuseSign OAuth 2",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://api.fuse.work/api/Session/OAuthRegister",
            "tokenUrl": "https://api.fuse.work/api/Session/OAuthGetToken",
            "refreshUrl": "https://api.fuse.work/api/Session/OAuthRefreshToken",
            "scopes": {
              "FUSESIGN": "Manage FuseSign Bundles and corresponding data.",
              "FUSESIGN:OWN": "Ability to send bundles and extract bundles created by this user only. Special purpose scope, contact support@fuse.work."
            }
          }
        }
      },
      "ApiKey": {
        "type": "apiKey",
        "description": "Wholesale API Token",
        "name": "X-API-Token",
        "in": "header"
      }
    }
  }
}