Codat Connections API

Create new and manage existing data connections for a company.

OpenAPI Specification

codat-connections-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Bank Feeds Account mapping Connections API
  version: 3.0.0
  contact:
    email: support@codat.io
    name: Codat
  description: 'Bank Feeds solution enables your SMB users to set up bank feeds from accounts in your application to supported accounting software.


    A bank feed is a connection between a source bank account in your application and a target bank account in a supported accounting software.


    [Explore solution](https://docs.codat.io/bank-feeds-api/overview) | [See OpenAPI spec](https://github.com/codatio/oas)


    ---

    <!-- Start Codat Tags Table -->

    ## Endpoints


    | Endpoints | Description |

    | :- |:- |

    | Companies | Create and manage your SMB users'' companies. |

    | Connections | Create new and manage existing data connections for a company. |

    | Source accounts | Provide and manage lists of source bank accounts. |

    | Account mapping | Extra functionality for building an account management UI. |

    | Company information | Get detailed information about a company from the underlying platform. |

    | Transactions | Create new bank account transactions for a company''s connections, and see previous operations. |

    <!-- End Codat Tags Table -->'
  termsOfService: https://www.codat.io/legals/
servers:
- description: Production
  url: https://api.codat.io
security:
- auth_header: []
tags:
- name: Connections
  description: Create new and manage existing data connections for a company.
paths:
  /companies/{companyId}/connections:
    get:
      summary: List connections
      description: "\uFEFFList the connections for a company."
      operationId: list-connections
      tags:
      - Connections
      parameters:
      - $ref: '#/components/parameters/companyId'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/query'
      - $ref: '#/components/parameters/orderBy'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Connections'
              examples:
                Connections:
                  value:
                    results:
                    - id: ee2eb431-c0fa-4dc9-93fa-d29781c12bcd
                      integrationId: bf083d72-62c7-493e-aec9-81b4dbba7e2c
                      integrationKey: dfxm
                      sourceId: bdd831ce-eebd-4896-89a7-20e5ee8989ee
                      platformName: Basiq
                      linkUrl: https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start
                      status: Linked
                      lastSync: '2022-10-27T10:22:43.6464237Z'
                      created: '2022-10-27T09:53:29Z'
                      sourceType: Banking
                    pageNumber: 0
                    pageSize: 0
                    totalResults: 0
                    _links:
                      self:
                        href: string
                      current:
                        href: string
                      next:
                        href: string
                      previous:
                        href: string
        '400':
          $ref: '#/components/responses/Malformed-Query'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/Payment-Required'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/Not-Found'
        '429':
          $ref: '#/components/responses/Too-Many-Requests'
        '500':
          $ref: '#/components/responses/Internal-Server-Error'
        '503':
          $ref: '#/components/responses/Service-Unavailable'
    post:
      summary: Create connection
      description: "\uFEFFCreates a connection for the company by providing a valid `platformKey`. \n\nUse the [List Integrations](https://docs.codat.io/platform-api#/operations/list-integrations) endpoint to access valid platform keys. "
      parameters:
      - $ref: '#/components/parameters/companyId'
      tags:
      - Connections
      operationId: create-connection
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                platformKey:
                  type: string
                  minLength: 4
                  maxLength: 4
                  pattern: '[a-z]{4}'
                  example: gbol
                  description: A unique 4-letter key to represent a platform in each integration. View [accounting](https://docs.codat.io/integrations/accounting/overview#platform-keys), [banking](https://docs.codat.io/integrations/banking/overview#platform-keys), and [commerce](https://docs.codat.io/integrations/commerce/overview#platform-keys) platform keys.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Connection'
              examples:
                Connection:
                  value:
                    id: ee2eb431-c0fa-4dc9-93fa-d29781c12bcd
                    integrationId: bf083d72-62c7-493e-aec9-81b4dbba7e2c
                    integrationKey: dfxm
                    sourceId: bdd831ce-eebd-4896-89a7-20e5ee8989ee
                    platformName: Basiq
                    linkUrl: https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start
                    status: Linked
                    lastSync: '2022-10-27T10:22:43.6464237Z'
                    created: '2022-10-27T09:53:29Z'
                    sourceType: Banking
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/Payment-Required'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/Not-Found'
        '429':
          $ref: '#/components/responses/Too-Many-Requests'
        '500':
          $ref: '#/components/responses/Internal-Server-Error'
        '503':
          $ref: '#/components/responses/Service-Unavailable'
  /companies/{companyId}/connections/{connectionId}:
    get:
      summary: Get connection
      operationId: get-connection
      description: "\uFEFFReturns a specific connection for a company when valid identifiers are provided. If the identifiers are for a deleted company and/or connection, a not found response is returned."
      tags:
      - Connections
      parameters:
      - $ref: '#/components/parameters/companyId'
      - $ref: '#/components/parameters/connectionId'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Connection'
              examples:
                Connection:
                  value:
                    id: ee2eb431-c0fa-4dc9-93fa-d29781c12bcd
                    integrationId: bf083d72-62c7-493e-aec9-81b4dbba7e2c
                    integrationKey: dfxm
                    sourceId: bdd831ce-eebd-4896-89a7-20e5ee8989ee
                    platformName: Basiq
                    linkUrl: https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start
                    status: Linked
                    lastSync: '2022-10-27T10:22:43.6464237Z'
                    created: '2022-10-27T09:53:29Z'
                    sourceType: Banking
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/Payment-Required'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/Not-Found'
        '429':
          $ref: '#/components/responses/Too-Many-Requests'
        '500':
          $ref: '#/components/responses/Internal-Server-Error'
        '503':
          $ref: '#/components/responses/Service-Unavailable'
    delete:
      summary: Delete connection
      operationId: delete-connection
      description: "\uFEFFRevoke and remove a connection from a company.\nThis operation is not reversible. The end user would need to reauthorize a new data connection if you wish to view new data for this company."
      parameters:
      - $ref: '#/components/parameters/companyId'
      - $ref: '#/components/parameters/connectionId'
      tags:
      - Connections
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/Payment-Required'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/Not-Found'
        '429':
          $ref: '#/components/responses/Too-Many-Requests'
        '500':
          $ref: '#/components/responses/Internal-Server-Error'
        '503':
          $ref: '#/components/responses/Service-Unavailable'
    patch:
      summary: Unlink connection
      description: "\uFEFFThis allows you to deauthorize a connection, without deleting it from Codat. This means you can still view any data that has previously been pulled into Codat, and also lets you re-authorize in future if your customer wishes to resume sharing their data."
      operationId: unlink-connection
      x-speakeasy-name-override: unlink
      tags:
      - Connections
      parameters:
      - $ref: '#/components/parameters/companyId'
      - $ref: '#/components/parameters/connectionId'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Connection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/Payment-Required'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/Not-Found'
        '429':
          $ref: '#/components/responses/Too-Many-Requests'
        '500':
          $ref: '#/components/responses/Internal-Server-Error'
        '503':
          $ref: '#/components/responses/Service-Unavailable'
      requestBody:
        content:
          application/json:
            schema:
              title: Update connection
              x-internal: true
              type: object
              properties:
                status:
                  $ref: '#/components/schemas/Connection/definitions/dataConnectionStatus'
                  description: The current authorization status of the data connection.
                  nullable: true
              additionalProperties: false
            examples:
              Example:
                value:
                  status: Unlinked
        description: ''
  /companies/{companyId}/connections/{connectionId}/authorization:
    parameters:
    - $ref: '#/components/parameters/companyId_2'
    - $ref: '#/components/parameters/connectionId'
    put:
      summary: Update authorization
      operationId: update-connection-authorization
      x-speakeasy-name-override: update-authorization
      description: Update data connection's authorization.
      tags:
      - Connections
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Connection_3'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/Payment-Required'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/Not-Found'
        '429':
          $ref: '#/components/responses/Too-Many-Requests'
        '500':
          $ref: '#/components/responses/Internal-Server-Error'
        '503':
          $ref: '#/components/responses/Service-Unavailable'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties:
                type: string
        description: ''
components:
  schemas:
    Integration:
      title: Integration
      description: An integration that Codat supports
      examples:
      - key: gbol
        logoUrl: http://example.com
        name: Xero
        enabled: true
        sourceId: accounting
        sourceType: 8193a927-ab7a-45a3-9dc2-d357a4932dfe
        integrationId: 497a18ca-284e-40c0-985d-f72be35d468e
        isOfflineConnector: true
        isBeta: true
        dataProvidedBy: string
        datatypeFeatures:
        - datatype: invoices
          supportedFeatures:
          - featureType: get
            featureState: release
      type: object
      properties:
        key:
          $ref: '#/components/parameters/platformKey/schema'
        logoUrl:
          type: string
          format: uri
          description: Static url for integration's logo.
        name:
          type: string
          example: Xero
          description: Name of integration.
        enabled:
          type: boolean
          description: Whether this integration is enabled for your customers to use.
        sourceId:
          $ref: '#/components/schemas/Branding/properties/sourceId'
        sourceType:
          $ref: '#/components/schemas/Integration/definitions/sourceType'
        integrationId:
          $ref: '#/components/schemas/Connection/properties/integrationId'
        isOfflineConnector:
          type: boolean
          description: '`True` if the integration is to an application installed and run locally on an SMBs computer.'
        isBeta:
          type: boolean
          description: '`True` if the integration is currently in beta release.'
        dataProvidedBy:
          type: string
          description: The name of the data provider.
        datatypeFeatures:
          type: array
          items:
            $ref: '#/components/schemas/Integration/definitions/dataTypeFeature'
      required:
      - key
      - logoUrl
      - name
      - enabled
      definitions:
        sourceType:
          title: Source Type
          description: The type of platform of the connection.
          type: string
          enum:
          - Accounting
          - Banking
          - BankFeed
          - Commerce
          - Expense
          - Other
          - Unknown
          example: Accounting
        dataTypeFeature:
          title: Data type feature
          description: Describes support for a given datatype and associated operations
          type: object
          properties:
            dataType:
              $ref: '#/components/schemas/DataStatus/properties/dataType'
            supportedFeatures:
              type: array
              items:
                $ref: '#/components/schemas/Integration/definitions/supportedFeature'
          required:
          - datatype
          - supportedFeatures
          examples:
          - datatype: invoices
            supportedFeatures:
            - featureType: Get
              featureState: Release
        supportedFeature:
          type: object
          x-internal: true
          properties:
            featureType:
              $ref: '#/components/schemas/Integration/definitions/featureType'
            featureState:
              $ref: '#/components/schemas/Integration/definitions/featureState'
          required:
          - featureType
          - featureState
        featureState:
          title: Feature state
          type: string
          example: Release
          description: The current release state of the feature.
          enum:
          - Release
          - Alpha
          - Beta
          - Deprecated
          - NotSupported
          - NotImplemented
        featureType:
          type: string
          x-internal: true
          description: The type of feature.
          enum:
          - Get
          - Post
          - Categorization
          - Delete
          - Put
          - GetAsPdf
          - DownloadAttachment
          - GetAttachment
          - GetAttachments
          - UploadAttachment
          example: Get
    Companies:
      title: Companies
      x-internal: true
      allOf:
      - type: object
        properties:
          results:
            type: array
            items:
              $ref: '#/components/schemas/Company'
      - type: object
        title: Pagination information
        x-internal: true
        properties:
          pageNumber:
            type: integer
            description: Current page number.
          pageSize:
            type: integer
            description: Number of items to return in results array.
            maximum: 2000
          totalResults:
            type: integer
            description: Total number of items.
          _links:
            $ref: '#/components/schemas/Companies/allOf/1/definitions/links'
        definitions:
          links:
            title: Hal Links
            type: object
            required:
            - self
            - current
            properties:
              self:
                $ref: '#/components/schemas/Companies/allOf/1/definitions/halRef'
              current:
                $ref: '#/components/schemas/Companies/allOf/1/definitions/halRef'
              next:
                $ref: '#/components/schemas/Companies/allOf/1/definitions/halRef'
              previous:
                $ref: '#/components/schemas/Companies/allOf/1/definitions/halRef'
            examples:
            - self:
                href: /companies
              current:
                href: /companies?page=1&pageSize=10
          halRef:
            title: Hypertext reference
            type: object
            properties:
              href:
                type: string
                format: uri-reference
                description: Uri hypertext reference.
        required:
        - pageNumber
        - pageSize
        - totalResults
        - _links
        examples:
        - pageNumber: 1
          pageSize: 10
          totalResults: 1
          _links:
            self:
              href: /companies/{id}/data/{dataType}
            current:
              href: /companies/{id}/data/{dataType}?page=1&pageSize=10
    DateTime:
      title: Date time
      type: string
      examples:
      - '2022-10-23T00:00:00Z'
      - '2022-10-23'
      description: "In Codat's data model, dates and times are represented using the <a class=\"external\" href=\"https://en.wikipedia.org/wiki/ISO_8601\" target=\"_blank\">ISO 8601 standard</a>. Date and time fields are formatted as strings; for example:\n\n```\n2020-10-08T22:40:50Z\n2021-01-01T00:00:00\n```\n\n\n\nWhen syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:\n\n- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`\n- Unqualified local time: `2021-11-15T01:00:00`\n- UTC time offsets: `2021-11-15T01:00:00-05:00`\n\n> Time zones\n> \n> Not all dates from Codat will contain information about time zones.  \n> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced."
    Connections:
      title: Connections
      x-internal: true
      allOf:
      - type: object
        properties:
          results:
            type: array
            items:
              $ref: '#/components/schemas/Connection'
      - $ref: '#/components/schemas/Companies/allOf/1'
    Connection_3:
      title: Connection
      description: "\uFEFFA connection represents a [company's](https://docs.codat.io/platform-api#/schemas/Company) connection to a data source and allows you to synchronize data (pull and/or push) with that source.\n\nA company can have multiple data connections depending on the type of data source it is connecting to. For example, a single company can link to:\n\n- [Accounting data](https://docs.codat.io/accounting-api/overview) - 1 active connection.\n- [Banking data](https://docs.codat.io/banking-api/overview) - Multiple active connections.\n- [Commerce data](https://docs.codat.io/commerce-api/overview) - Multiple active connections.\nAny combination of accounting, banking, and commerce data connections is allowed.\n\nBefore you can use a data connection to pull or push data, the company must grant you access to their business data by [linking the connection](https://docs.codat.io/auth-flow/overview)."
      type: object
      properties:
        id:
          $ref: '#/components/parameters/connectionId/schema'
        integrationId:
          type: string
          format: uuid
          example: fd321cb6-7963-4506-b873-e99593a45e30
          description: A Codat ID representing the integration.
        integrationKey:
          type: string
          description: A unique four-character ID that identifies the platform of the company's data connection. This ensures continuity if the platform changes its name in the future.
        sourceId:
          $ref: '#/components/schemas/Branding/properties/sourceId'
        sourceType:
          $ref: '#/components/schemas/Integration/definitions/sourceType'
        platformName:
          type: string
          description: Name of integration connected to company.
        linkUrl:
          type: string
          format: uri
          description: The link URL your customers can use to authorize access to their business application.
          example: https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/2e2eb431-c1fa-4dc9-93fa-d29781c12bcd/start
        status:
          $ref: '#/components/schemas/Connection/definitions/dataConnectionStatus'
        lastSync:
          $ref: '#/components/schemas/DateTime'
          nullable: true
        created:
          $ref: '#/components/schemas/DateTime'
        dataConnectionErrors:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/Connection/definitions/dataConnectionError'
        connectionInfo:
          type: object
          nullable: true
          additionalProperties: true
      additionalProperties: false
      required:
      - id
      - integrationId
      - integrationKey
      - sourceId
      - platformName
      - linkUrl
      - status
      - created
      - sourceType
      definitions:
        dataConnectionStatus:
          title: Data connection status
          description: The current authorization status of the data connection.
          type: string
          enum:
          - PendingAuth
          - Linked
          - Unlinked
          - Deauthorized
        dataConnectionError:
          title: Data connection error
          type: object
          properties:
            statusCode:
              type: string
              description: The HTTP status code returned by the source platform when the error occurred.
            statusText:
              type: string
              description: A non-numeric status code/text returned by the source platform when the error occurred.
            errorMessage:
              type: string
              description: A message about a error returned by Codat.
            erroredOnUtc:
              $ref: '#/components/schemas/DateTime'
            status:
              title: Error status
              description: The current status of a transient error. Null statuses indicate that the error is not transient.
              type: string
              nullable: true
              enum:
              - Active
              - Resolved
            resolvedOnUtc:
              description: The datetime in Utc that the error was resolved.
              nullable: true
              $ref: '#/components/schemas/DateTime'
        dataConnectionSourceType:
          title: Source Type
          description: The type of platform of the connection.
          type: string
          enum:
          - Accounting
          - Banking
          - BankFeed
          - Commerce
          - Expense
          - Other
          - Unknown
          example: Accounting
      example:
        id: ee2eb431-c0fa-4dc9-93fa-d29781c12bcd
        integrationId: bf083d72-62c7-493e-aec9-81b4dbba7e2c
        integrationKey: dfxm
        sourceId: bdd831ce-eebd-4896-89a7-20e5ee8989ee
        platformName: Basiq
        linkUrl: https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93fa-d29781c12bcd/start
        status: Linked
        lastSync: '2022-10-27T10:22:43.6464237Z'
        created: '2022-10-27T09:53:29Z'
        sourceType: Banking
    ErrorMessage:
      title: Error message
      type: object
      x-internal: true
      properties:
        statusCode:
          type: integer
          description: The HTTP status code returned by the error.
        service:
          type: string
          description: Codat's service the returned the error.
        error:
          type: string
          description: A brief description of the error.
        correlationId:
          type: string
          description: Unique identifier used to propagate to all downstream services and determine the source of the error.
        validation:
          $ref: '#/components/schemas/ErrorMessage/definitions/errorValidation'
        canBeRetried:
          type: string
          description: '`True` if the error occurred transiently and can be retried.'
        detailedErrorCode:
          type: integer
          description: Machine readable error code used to automate processes based on the code returned.
      definitions:
        errorValidation:
          title: Validation error
          type: object
          nullable: true
          description: A human-readable object describing validation decisions Codat has made. If an operation has failed because of validation errors, they will be detailed here.
          properties:
            errors:
              type: array
              nullable: true
              items:
                $ref: '#/components/schemas/ErrorMessage/definitions/errorValidationItem'
            warnings:
              type: array
              nullable: true
              items:
                $ref: '#/components/schemas/ErrorMessage/definitions/errorValidationItem'
        errorValidationItem:
          title: Validation error item
          type: object
          properties:
            itemId:
              type: string
              nullable: true
              description: Unique identifier for a validation item.
            message:
              type: string
              nullable: true
              description: A message outlining validation item's issue.
            validatorName:
              type: string
              nullable: true
              description: Name of validator.
    Connection:
      title: Connection
      description: "\uFEFFA connection represents a [company's](https://docs.codat.io/bank-feeds-api#/schemas/Company) connection to a data source and allows you to synchronize data (pull and/or push) with that source.\n\nA company can have multiple data connections depending on the type of data source it is connecting to. For example, a single company can link to:\n\n- [Accounting data](https://docs.codat.io/accounting-api/overview) - 1 active connection.\n- [Banking data](https://docs.codat.io/banking-api/overview) - Multiple active connections.\n- [Commerce data](https://docs.codat.io/commerce-api/overview) - Multiple active connections.\nAny combination of accounting, banking, and commerce data connections is allowed.\n\nBefore you can use a data connection to pull or push data, the company must grant you access to their business data by [linking the connection](https://docs.codat.io/auth-flow/overview)."
      type: object
      properties:
        id:
          $ref: '#/components/parameters/connectionId/schema'
        integrationId:
          type: string
          format: uuid
          example: fd321cb6-7963-4506-b873-e99593a45e30
          description: A Codat ID representing the integration.
        integrationKey:
          type: string
          description: A unique four-character ID that identifies the platform of the company's data connection. This ensures continuity if the platform changes its name in the future.
        sourceId:
          type: string
          format: uuid
          example: 35b92968-9851-4095-ad60-395c95cbcba4
          description: A source-specific ID used to distinguish between different sources originating from the same data connection. In general, a data connection is a single data source. However, for TrueLayer, `sourceId` is associated with a specific bank and has a many-to-one relationship with the `integrationId`.
        sourceType:
          title: Source Type
          description: The type of platform of the connection.
          type: string
          enum:
          - Accounting
          - Banking
          - BankFeed
          - Commerce
          - Expense
          - Other
          - Unknown
          example: Accounting
        platformName:
          type: string
          description: Name of integration connected to company.
        linkUrl:
          type: string
          format: uri
          description: The link URL your customers can use to authorize access to their business application.
          example: https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/2e2eb431-c1fa-4dc9-93fa-d29781c12bcd/start
        status:
          $ref: '#/components/schemas/Connection/definitions/dataConnectionStatus'
        lastSync:
          $ref: '#/components/schemas/DateTime'
          nullable: true
        created:
          $ref: '#/components/schemas/DateTime'
        dataConnectionErrors:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/Connection/definitions/dataConnectionError'
        connectionInfo:
          type: object
          nullable: true
          additionalProperties: true
      additionalProperties: false
      required:
      - id
      - integrationId
      - integrationKey
      - sourceId
      - platformName
      - linkUrl
      - status
      - created
      - sourceType
      definitions:
        dataConnectionStatus:
          title: Data connection status
          description: The current authorization status of the data connection.
          type: string
          enum:
          - PendingAuth
          - Linked
          - Unlinked
          - Deauthorized
        dataConnectionError:
          title: Data connection error
          type: object
          properties:
            statusCode:
              type: string
              description: The HTTP status code returned by the source platform when the error occurred.
            statusText:
              type: string
              description: A non-numeric status code/text returned by the source platform when the error occurred.
            errorMessage:
              type: string
              description: A message about a error returned by Codat.
            erroredOnUtc:
              $ref: '#/components/schemas/DateTime'
            status:
              title: Error status
              description: The current status of a transient error. Null statuses indicate that the error is not transient.
              type: string
              nullable: true
              enum:
              - Active
              - Resolved
            resolvedOnUtc:
              description: The datetime in Utc that the error was resolved.
              nullable: true
              $ref: '#/components/schemas/DateTime'
        dataConnectionSourceType:
          title: Source Type
          description: The type of platform of the connection.
          type: string
          enum:
          - Accounting
          - Banking
          - BankFeed
          - Commerce
          - Expense
          - Other
          - Unknown
          example: Accounting
      example:
        id: ee2eb431-c0fa-4dc9-93fa-d29781c12bcd
        integrationId: bf083d72-62c7-493e-aec9-81b4dbba7e2c
        integrationKey: dfxm
        sourceId: bdd831ce-eebd-4896-89a7-20e5ee8989ee
        platformName: Basiq
        linkUrl: https://link-api.codat.io/companies/86bd88cb-44ab-4dfb-b32f-87b19b14287f/connections/ee2eb431-c0fa-4dc9-93

# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/codat/refs/heads/main/openapi/codat-connections-api-openapi.yml