openapi: 3.2.0 info: title: ClearBank Retail V2 Customer API contact: name: API Support url: https://clear.bank email: fiapisupport@clear.bank version: 2.0-customers-retail tags: - name: Customer paths: /customers/v2/customers/{customerId}: get: tags: - Customer summary: Retrieves a customer by their customer ID. operationId: V2CustomerGet parameters: - name: Authorization in: header description: Your API token, retrieved from the web portal. required: true schema: type: string - name: DigitalSignature in: header description: Signed hash of the body of the request. The hash is signed by your private key. required: true schema: type: string - name: X-Request-Id in: header description: A unique identifier for the request. required: true schema: type: string - name: customerId in: path description: The ID of the customer. required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RetailCustomerGetResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ValidationProblemDetails' application/problem+json: schema: $ref: '#/components/schemas/ValidationProblemDetails' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: Forbidden /customers/v2/customers/{customerId}/related-parties: get: tags: - Customer summary: Retrieves the related party data of a customer by their customer ID. operationId: V2RelatedPartiesGet parameters: - name: Authorization in: header description: Your API token, retrieved from the web portal. required: true schema: type: string - name: DigitalSignature in: header description: Signed hash of the body of the request. The hash is signed by your private key. required: true schema: type: string - name: X-Request-Id in: header description: A unique identifier for the request. required: true schema: type: string - name: customerId in: path description: The ID of the original customer. required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: object properties: value: type: array items: $ref: '#/components/schemas/RelatedPartyGetResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ValidationProblemDetails' application/problem+json: schema: $ref: '#/components/schemas/ValidationProblemDetails' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: Forbidden post: tags: - Customer summary: 'Adds a new related party to an existing customer. Note that relationships must be unique: if a relationship already exists that links the same two customers with the same relationship type, your request will be rejected.' operationId: V2RelatedPartyPost parameters: - name: Authorization in: header description: Your API token, retrieved from the web portal. required: true schema: type: string - name: DigitalSignature in: header description: Signed hash of the body of the request. The hash is signed by your private key. required: true schema: type: string - name: X-Request-Id in: header description: A unique identifier for the request. required: true schema: type: string - name: customerId in: path description: The ID of the original customer. required: true schema: type: string format: uuid requestBody: description: Information required to add related party to customer. content: application/json: schema: $ref: '#/components/schemas/CreateRelatedPartyRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/CreatedRelatedPartyResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ValidationProblemDetails' application/problem+json: schema: $ref: '#/components/schemas/ValidationProblemDetails' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '422': description: Unprocessable Content content: application/json: schema: $ref: '#/components/schemas/ValidationProblemDetails' application/problem+json: schema: $ref: '#/components/schemas/ValidationProblemDetails' '403': description: Forbidden /customers/v2/customers/{customerId}/current-addresses: post: tags: - Customer summary: Updates a customer's current address while maintaining their previous addresses history. operationId: V2CustomersCurrentAddressPost parameters: - name: Authorization in: header description: Your API token, retrieved from the web portal. required: true schema: type: string - name: DigitalSignature in: header description: Signed hash of the body of the request. The hash is signed by your private key. required: true schema: type: string - name: X-Request-Id in: header description: A unique identifier for the request. required: true schema: type: string - name: customerId in: path description: The ID of the customer. required: true schema: type: string format: uuid requestBody: description: Information required to update the customer's address content: application/json: schema: $ref: '#/components/schemas/CurrentAddressRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/CustomerSubresourceCreatedResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '422': description: Unprocessable Content content: application/json: schema: $ref: '#/components/schemas/ValidationProblemDetails' application/problem+json: schema: $ref: '#/components/schemas/ValidationProblemDetails' '403': description: Forbidden /customers/v2/customers/{customerId}/related-parties/{relatedCustomerId}/{relatedPartyType}: delete: tags: - Customer summary: Removes a related party link between two customers. operationId: V2RelatedPartyDelete parameters: - name: Authorization in: header description: Your API token, retrieved from the web portal. required: true schema: type: string - name: DigitalSignature in: header description: Signed hash of the body of the request. The hash is signed by your private key. required: true schema: type: string - name: X-Request-Id in: header description: A unique identifier for the request. required: true schema: type: string - name: customerId in: path description: The ID of the customer. required: true schema: type: string format: uuid - name: relatedCustomerId in: path description: The ID of the related customer to unlink. required: true schema: type: string format: uuid - name: relatedPartyType in: path description: The type of related party. Used to disambiguate where a party is related in more than one way. required: true schema: $ref: '#/components/schemas/RelatedPartyType' responses: '204': description: No Content '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ValidationProblemDetails' application/problem+json: schema: $ref: '#/components/schemas/ValidationProblemDetails' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '422': description: Unprocessable Content content: application/json: schema: $ref: '#/components/schemas/ValidationProblemDetails' application/problem+json: schema: $ref: '#/components/schemas/ValidationProblemDetails' '403': description: Forbidden /customers/v2/customers/{customerId}/identity-documents/{idCountryOfIssue}-{idType}: put: tags: - Customer summary: Adds or updates a customer's identity document. Returns 200 OK when updating an existing ID, or 201 Created when adding a new ID. operationId: V2CustomerIdentityDocumentPut parameters: - name: Authorization in: header description: Your API token, retrieved from the web portal. required: true schema: type: string - name: DigitalSignature in: header description: Signed hash of the body of the request. The hash is signed by your private key. required: true schema: type: string - name: X-Request-Id in: header description: A unique identifier for the request. required: true schema: type: string - name: customerId in: path description: The ID of the customer. required: true schema: type: string format: uuid - name: idCountryOfIssue in: path description: Country of issue. required: true schema: $ref: '#/components/schemas/CountryCode' - name: idType in: path description: Type of identity document. required: true schema: $ref: '#/components/schemas/IdType' requestBody: description: The updated details of the identity document. content: application/json: schema: $ref: '#/components/schemas/UpdateIdentityDocumentRequest' responses: '200': description: OK '201': description: Created content: application/json: schema: $ref: '#/components/schemas/CustomerSubresourceCreatedResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ValidationProblemDetails' application/problem+json: schema: $ref: '#/components/schemas/ValidationProblemDetails' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '422': description: Unprocessable Content content: application/json: schema: $ref: '#/components/schemas/ValidationProblemDetails' application/problem+json: schema: $ref: '#/components/schemas/ValidationProblemDetails' '403': description: Forbidden delete: tags: - Customer summary: Removes a customer's identity document. operationId: V2CustomerIdentityDocumentDelete parameters: - name: Authorization in: header description: Your API token, retrieved from the web portal. required: true schema: type: string - name: DigitalSignature in: header description: Signed hash of the body of the request. The hash is signed by your private key. required: true schema: type: string - name: X-Request-Id in: header description: A unique identifier for the request. required: true schema: type: string - name: customerId in: path description: The ID of the customer. required: true schema: type: string format: uuid - name: idCountryOfIssue in: path description: Country of issue. required: true schema: $ref: '#/components/schemas/CountryCode' - name: idType in: path description: Type of identity document. required: true schema: $ref: '#/components/schemas/IdType' responses: '204': description: No Content '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ValidationProblemDetails' application/problem+json: schema: $ref: '#/components/schemas/ValidationProblemDetails' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '403': description: Forbidden /customers/v2/customers/{customerId}/tax-residencies/{countryOfTaxResidence}: put: tags: - Customer summary: Adds or updates a customer's tax residency entry for the specified country. Returns 200 OK when updating an existing tax residency, or 201 Created when adding a new tax residency. operationId: V2CustomerTaxResidencyPut parameters: - name: Authorization in: header description: Your API token, retrieved from the web portal. required: true schema: type: string - name: DigitalSignature in: header description: Signed hash of the body of the request. The hash is signed by your private key. required: true schema: type: string - name: X-Request-Id in: header description: A unique identifier for the request. required: true schema: type: string - name: customerId in: path description: The ID of the customer. required: true schema: type: string format: uuid - name: countryOfTaxResidence in: path description: Country of tax residence. required: true schema: $ref: '#/components/schemas/CountryCode' requestBody: description: Tax residency details (TIN or reason for no TIN). content: application/json: schema: $ref: '#/components/schemas/UpdateTaxResidencyRequest' responses: '200': description: OK '201': description: Created content: application/json: schema: $ref: '#/components/schemas/CustomerSubresourceCreatedResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ValidationProblemDetails' application/problem+json: schema: $ref: '#/components/schemas/ValidationProblemDetails' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '422': description: Unprocessable Content content: application/json: schema: $ref: '#/components/schemas/ValidationProblemDetails' application/problem+json: schema: $ref: '#/components/schemas/ValidationProblemDetails' '403': description: Forbidden delete: tags: - Customer summary: Removes a customer's tax residency entry for the specified country. operationId: V2CustomerTaxResidencyDelete parameters: - name: Authorization in: header description: Your API token, retrieved from the web portal. required: true schema: type: string - name: DigitalSignature in: header description: Signed hash of the body of the request. The hash is signed by your private key. required: true schema: type: string - name: X-Request-Id in: header description: A unique identifier for the request. required: true schema: type: string - name: customerId in: path description: The ID of the customer. required: true schema: type: string format: uuid - name: countryOfTaxResidence in: path description: Country of tax residence to remove. required: true schema: $ref: '#/components/schemas/CountryCode' responses: '204': description: No Content '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ValidationProblemDetails' application/problem+json: schema: $ref: '#/components/schemas/ValidationProblemDetails' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' '422': description: Unprocessable Content content: application/json: schema: $ref: '#/components/schemas/ValidationProblemDetails' application/problem+json: schema: $ref: '#/components/schemas/ValidationProblemDetails' '403': description: Forbidden components: schemas: CurrentAddressRequest: required: - addressType - buildingNameNumber - streetName - city - country - postalCode type: object properties: addressType: $ref: '#/components/schemas/AddressType' buildingNameNumber: minLength: 1 maxLength: 100 pattern: '[^!$%^_=+>