Synctera Disclosures API

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.

OpenAPI Specification

synctera-disclosures-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  description: '<h2>Let''s build something great.</h2><p>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.</p><p>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, <a class=''text-blue-600'' href=''https://synctera.com/contact'' target=''_blank'' rel=''noreferrer''>contact us</a>.</p>

    '
  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