openapi: 3.0.3 info: description: '

Let''s build something great.

Welcome to the official reference documentation for Synctera APIs. Our APIs are the best way to automate your company''s banking needs and are designed to be easy to understand and implement.

We''re continuously growing this library and what you see here is just the start, but if you need something specific or have a question, contact us.

' license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html title: Synctera Accounts Disclosures API version: 0.20.0 servers: - description: Production url: https://api.synctera.com/v0 - description: Sandbox (no real world financial impact) url: https://api-sandbox.synctera.com/v0 security: - bearerAuth: [] tags: - description: 'The disclosures resource is used to track the status of disclosures and ensure that all parties have been shown the necessary disclosures to meet regulatory obligations. ' name: Disclosures paths: /customers/{customer_id}/disclosures: description: 'Disclosures to be made to customers ' summary: Disclosures get: deprecated: true description: Retrieves paginated list of disclosures associated with the authorized requester operationId: listDisclosures1 parameters: - $ref: '#/components/parameters/customer_id_path' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page_token' responses: '200': content: application/json: schema: $ref: '#/components/schemas/disclosure_response' description: List of disclosures '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '500': $ref: '#/components/responses/internal_server_error' summary: List Disclosures tags: - Disclosures x-external: true x-status: deprecated post: deprecated: true description: 'Disclosures to be made to customers ' operationId: createDisclosure1 parameters: - $ref: '#/components/parameters/idempotency_key' - $ref: '#/components/parameters/customer_id_path' requestBody: content: application/json: schema: $ref: '#/components/schemas/disclosure1' description: Disclosure to create required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/disclosure1' description: Created disclosure '400': $ref: '#/components/responses/bad_request' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '500': $ref: '#/components/responses/internal_server_error' summary: Create a Disclosure tags: - Disclosures x-external: true x-status: deprecated /disclosures: get: description: Retrieves paginated list of disclosures associated with the authorized requester. operationId: listDisclosures parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/person_id_query' - $ref: '#/components/parameters/business_id_query' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page_token' responses: '200': content: application/json: schema: $ref: '#/components/schemas/disclosure_list' description: List of disclosures. '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '500': $ref: '#/components/responses/internal_server_error' summary: List disclosures tags: - Disclosures x-external: true x-status: alpha post: description: Record the fact that a regulatory document was disclosed to a customer. operationId: createDisclosure parameters: - $ref: '#/components/parameters/idempotency_key' requestBody: content: application/json: schema: $ref: '#/components/schemas/disclosure' description: Disclosure to create. required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/disclosure' description: Created disclosure. '400': $ref: '#/components/responses/bad_request' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '500': $ref: '#/components/responses/internal_server_error' summary: Create disclosure record tags: - Disclosures x-external: true x-status: alpha /disclosures/{disclosure_id}: get: description: Get disclosure by ID. operationId: getDisclosure parameters: - $ref: '#/components/parameters/disclosure_id' responses: '200': content: application/json: schema: $ref: '#/components/schemas/disclosure' description: Disclosure representation. '400': $ref: '#/components/responses/bad_request' '401': $ref: '#/components/responses/unauthorized' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/not_found' '500': $ref: '#/components/responses/internal_server_error' summary: Get disclosure tags: - Disclosures x-external: true x-status: alpha components: parameters: person_id_query: description: 'Unique identifier for the person. Multiple IDs can be provided as a comma-separated list. ' explode: false in: query name: person_id required: false schema: example: 64438afd-fa20-4010-a573-2bbdca77cdb6,84ef251c-ab8f-47a5-bbfd-a16648f95157 items: format: uuid type: string type: array style: form x-external: true page_token: in: query name: page_token required: false schema: description: Optional pagination token to be provided to retrieve subsequent pages, returned from previous get example: h50ffqz9q5 type: string x-external: true customer_id_path: description: The customer's unique identifier in: path name: customer_id required: true schema: $ref: '#/components/schemas/customer_id' disclosure_id: description: The unique identifier for the disclosure. in: path name: disclosure_id required: true schema: example: 3fa12d3f-6436-482c-a8a1-d65e9761dc2d format: uuid type: string limit: in: query name: limit required: false schema: default: 100 description: 'Maximum number of objects to return per page. If the limit is greater than 100, then it will be set to 100. ' example: 100 minimum: 1 type: integer x-external: true id: description: Unique resource identifier explode: false in: query name: id required: false schema: items: example: 81026fb3-d06c-4b37-80da-2b17b4749a3f format: uuid type: string type: array style: form x-external: true idempotency_key: description: An idempotency key is an arbitrary unique value generated by client to detect subsequent retries of the same request. It is recommended that a UUID or a similar random identifier be used as an idempotency key in: header name: Idempotency-Key required: false schema: example: df122e6f-2ba8-48a5-9508-4350bba5f27e type: string x-external: true business_id_query: description: 'Unique identifier for the business. Multiple IDs can be provided as a comma-separated list. ' explode: false in: query name: business_id required: false schema: example: 64438afd-fa20-4010-a573-2bbdca77cdb6,84ef251c-ab8f-47a5-bbfd-a16648f95157 items: format: uuid type: string type: array style: form x-external: true schemas: disclosure_list: allOf: - properties: disclosures: description: Array of disclosures. items: $ref: '#/components/schemas/disclosure' type: array required: - disclosures type: object - $ref: '#/components/schemas/paginated_response' metadata: description: 'Optional field to store additional information about the resource. Intended to be used by the integrator to store non-sensitive data. ' type: object id: description: The unique identifier for this resource. example: b0888080-7759-40ae-b82b-5864ced6ad36 format: uuid readOnly: true type: string business_id1: description: 'Unique ID for the business. Exactly one of `business_id` or `person_id` must be set. ' example: 082018a9-6517-440c-9c01-a01e27457d1b format: uuid type: string error: properties: detail: description: a human-readable string explaining this particular error example: 'missing required fields: first_name, dob' type: string status: description: the HTTP status code for this response example: 400 type: integer title: description: a human-readable string for this general category of error example: Bad Request Body type: string type: description: a URI that identifies this general category of error example: https://dev.synctera.com/errors/bad-request-body type: string title: Standard error response (RFC 7807 problem report) type: object paginated_response: properties: next_page_token: description: If returned, use the next_page_token to query for the next page of results. Not returned if there are no more rows. example: d61grelm5f type: string title: Paginated List response type: object disclosure: allOf: - required: - type - version - event_type - disclosure_date - $ref: '#/components/schemas/base_disclosure' description: Represents a disclosure. type: object disclosure1: description: Represents a disclosure properties: creation_time: example: '2021-05-01T23:59:59Z' format: date-time readOnly: true type: string event_type: enum: - DISPLAYED - VIEWED - ACKNOWLEDGED example: VIEWED type: string id: description: Disclosure ID example: 48c2a7f2-5edc-41e6-9f2a-fefac8e94659 format: uuid type: string last_updated_time: example: '2021-05-01T23:59:59Z' format: date-time readOnly: true type: string timestamp: description: Date of disclosure example: '2021-05-01T23:59:59Z' format: date-time type: string type: description: Disclosure Type enum: - ACH_AUTHORIZATION - CARDHOLDER_AGREEMENT - E_SIGN - KYC_DATA_COLLECTION - PRIVACY_NOTICE - REG_CC - REG_DD - REG_E - TERMS_AND_CONDITIONS example: REG_DD type: string version: description: Disclosure Version example: v1.1 type: string required: - type - version - timestamp - event_type title: Disclosure type: object disclosure_type: description: "Describes the regulatory requirement that triggered the disclosure.\nOne of the following:\n* `ACH_AUTHORIZATION` –\n The ACH Authorization & Agreement Disclosure serves as a method of disclosing\n and obtaining consent from a consumer to conduct ACH and pre-authorized\n electronic transactions to and from their account. Record of obtaining this\n consent should be retained, in accordance with Reg E, for no less than 2 years\n from the date the disclosure was made to the consumer.\n* `CARDHOLDER_AGREEMENT` –\n The Cardholder Agreement is a legal document that details the terms of a card\n agreement between either a consumer or a business, and the financial\n institution that issues the card. The Agreement governs the use of the\n account.\n* `E_SIGN` –\n US law with rules around electronic agreements/documents/disclosures:\n used to obtain consent from consumers to receive electronic communications\n (agreements, disclosures, statements, etc) about their accounts.\n* `KYC_DATA_COLLECTION` –\n Document advising the customer that you will collect their personal information\n (name, date of birth, tax ID, etc.)\n and will be validating their information against external data/documentation.\n* `PRIVACY_NOTICE` –\n Document that tells customers what is done with their non-public information,\n who it is shared with, how is is secured,\n and how they can opt out of it being shared beyond Synctera.\n* `REG_CC` –\n US regulation that implements the Expedited Funds Availability Act:\n describes standards for when a financial institution\n makes funds available in a deposit account.\n* `REG_DD` –\n US regulation that implements the Truth in Savings Act,\n to inform customers about the terms and rules for a deposit account.\n* `REG_E` –\n US regulation that implements the Electronic Funds Transfer Act:\n covers liability for electronic transactions,\n disputes for fraudulent or unrecognized electronic transactions,\n and consent for electronic debits from a consumer's account.\n* `TERMS_AND_CONDITIONS` –\n A detailed agreement between you and the consumer for the\n structure, terms, fees, charges, rates of the product or service,\n and the rules for the relationship between you and the consumer.\n" enum: - ACH_AUTHORIZATION - CARDHOLDER_AGREEMENT - E_SIGN - KYC_DATA_COLLECTION - PRIVACY_NOTICE - REG_CC - REG_DD - REG_E - TERMS_AND_CONDITIONS type: string customer_id: example: 4605deb4-3f8d-4566-9bf1-0dc558b63258 format: uuid type: string base_disclosure: properties: business_id: $ref: '#/components/schemas/business_id1' creation_time: description: The date and time the resource was created. example: '2021-06-14T11:23:41Z' format: date-time readOnly: true type: string disclosure_date: description: Date and time the disclosure was made. example: '2021-06-14T11:21:17Z' format: date-time type: string event_type: description: "Describes how the disclosure was shown and what the user did as a result.\nOne of the following:\n* `DISPLAYED` —\n The document was made visible to the user,\n but they did not interact with it.\n* `VIEWED` —\n The document was made visible to the user,\n and they interacted enough to see the whole document (e.g. scrolled to the bottom).\n* `ACKNOWLEDGED` —\n The document was made visible to the user,\n and they took positive action to confirm that they have read and accepted the document.\n" enum: - DISPLAYED - VIEWED - ACKNOWLEDGED example: ACKNOWLEDGED type: string id: $ref: '#/components/schemas/id' last_updated_time: description: The date and time the resource was last updated. example: '2022-01-18T17:54:12Z' format: date-time readOnly: true type: string metadata: $ref: '#/components/schemas/metadata' person_id: $ref: '#/components/schemas/person_id' type: $ref: '#/components/schemas/disclosure_type' version: $ref: '#/components/schemas/version' type: object person_id: description: 'Unique ID for the person. Exactly one of `person_id` or `business_id` must be set. ' example: 2c0bf949-9f59-4a04-82d4-9a86e0ccec2c format: uuid type: string version: description: Version of the disclosure document. example: '1.0' pattern: ^[0-9]+\.[0-9]+$ type: string disclosure_response: description: Represents all customer disclosures properties: disclosures: description: List of the customer's disclosures items: $ref: '#/components/schemas/disclosure1' type: array title: List of Customer Disclosures type: object responses: not_found: content: application/problem+json: schema: $ref: '#/components/schemas/error' description: Resource not found bad_request: content: application/problem+json: schema: $ref: '#/components/schemas/error' description: BadRequest forbidden: content: application/problem+json: schema: $ref: '#/components/schemas/error' description: Forbidden error internal_server_error: content: application/problem+json: schema: $ref: '#/components/schemas/error' description: Internal server error unauthorized: content: application/problem+json: schema: $ref: '#/components/schemas/error' description: Unauthorized securitySchemes: bearerAuth: bearerFormat: api_key scheme: bearer type: http x-readme: explorer-enabled: true proxy-enabled: true samples-enabled: true