Codat Integrations API

Get a list of integrations supported by Codat and their logos.

OpenAPI Specification

codat-integrations-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Bank Feeds Account mapping Integrations 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: Integrations
  description: Get a list of integrations supported by Codat and their logos.
paths:
  /integrations:
    get:
      summary: List integrations
      description: List your available integrations
      tags:
      - Integrations
      operationId: list-integrations
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Integrations'
        '400':
          $ref: '#/components/responses/Malformed-Query'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/Payment-Required'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/Too-Many-Requests'
        '500':
          $ref: '#/components/responses/Internal-Server-Error'
        '503':
          $ref: '#/components/responses/Service-Unavailable'
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/query'
      - $ref: '#/components/parameters/orderBy'
  /integrations/{platformKey}:
    parameters:
    - $ref: '#/components/parameters/platformKey'
    get:
      summary: Get integration
      tags:
      - Integrations
      operationId: get-integration
      description: Get single integration, by platformKey
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Integration'
        '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'
  /integrations/{platformKey}/branding:
    parameters:
    - $ref: '#/components/parameters/platformKey'
    get:
      summary: Get branding
      tags:
      - Integrations
      operationId: get-integrations-branding
      x-speakeasy-name-override: get-branding
      description: Get branding for platform.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Branding'
        '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'
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
    Connection:
      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
    DataStatus:
      title: Data status
      description: Describes the state of data in the Codat cache for a company and data type
      type: object
      required:
      - dataType
      - currentStatus
      properties:
        dataType:
          title: Data types
          x-internal: true
          type: string
          description: Available data types
          enum:
          - accountTransactions
          - balanceSheet
          - bankAccounts
          - bankTransactions
          - billCreditNotes
          - billPayments
          - bills
          - cashFlowStatement
          - chartOfAccounts
          - company
          - creditNotes
          - customers
          - directCosts
          - directIncomes
          - invoices
          - itemReceipts
          - items
          - journalEntries
          - journals
          - paymentMethods
          - payments
          - profitAndLoss
          - purchaseOrders
          - salesOrders
          - suppliers
          - taxRates
          - trackingCategories
          - transfers
          - banking-accountBalances
          - banking-accounts
          - banking-transactionCategories
          - banking-transactions
          - commerce-companyInfo
          - commerce-customers
          - commerce-disputes
          - commerce-locations
          - commerce-orders
          - commerce-paymentMethods
          - commerce-payments
          - commerce-productCategories
          - commerce-products
          - commerce-taxComponents
          - commerce-transactions
          example: invoices
        lastSuccessfulSync:
          $ref: '#/components/schemas/DateTime'
        currentStatus:
          $ref: '#/components/schemas/PullOperation/properties/status'
        latestSyncId:
          type: string
          description: Unique identifier for most recent sync of data type.
          format: uuid
          example: ad474a37-2003-478e-baee-9af9f1ec2fe3
        latestSuccessfulSyncId:
          type: string
          description: Unique identifier for the most recent successful sync of data type.
          format: uuid
          example: 8220fc90-55b6-47bc-9417-48ac6ea93101
      examples:
      - dataType: string
        lastSuccessfulSync: '2022-01-01T13:00:00.000Z'
        currentStatus: string
        latestSyncId: ad474a37-2003-478e-baee-9af9f1ec2fe3
        latestSuccessfulSyncId: 8220fc90-55b6-47bc-9417-48ac6ea93101
    PagingInfo:
      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/PagingInfo/definitions/links'
      definitions:
        links:
          title: Hal Links
          type: object
          required:
          - self
          - current
          properties:
            self:
              $ref: '#/components/schemas/PagingInfo/definitions/halRef'
            current:
              $ref: '#/components/schemas/PagingInfo/definitions/halRef'
            next:
              $ref: '#/components/schemas/PagingInfo/definitions/halRef'
            previous:
              $ref: '#/components/schemas/PagingInfo/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
    Branding:
      title: Branding
      type: object
      properties:
        logo:
          $ref: '#/components/schemas/Branding/definitions/brandingLogo'
        button:
          $ref: '#/components/schemas/Branding/definitions/brandingButton'
        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`.
      definitions:
        brandingLogo:
          description: Logo branding references.
          type: object
          properties:
            full:
              $ref: '#/components/schemas/Branding/definitions/brandingImage'
            square:
              $ref: '#/components/schemas/Branding/definitions/brandingImage'
        brandingButton:
          type: object
          description: Button branding references.
          properties:
            default:
              $ref: '#/components/schemas/Branding/definitions/brandingImage'
            hover:
              $ref: '#/components/schemas/Branding/definitions/brandingImage'
        brandingImage:
          title: Branding Image
          type: object
          properties:
            image:
              $ref: '#/components/schemas/Branding/definitions/imageReference'
          examples: []
        imageReference:
          type: object
          title: Image Reference
          description: Image reference.
          properties:
            src:
              type: string
              format: uri
              description: Source URL for image.
            alt:
              type: string
              description: Alternative text when image is not available.
      examples:
      - logo:
          full:
            image:
              src: https://static.codat.io/public/officialLogos/Full/8A156A5A-39CB-4F9D-856E-76EF9B9A9607.png
              alt: xero full icon
          square:
            image:
              src: https://static.codat.io/public/officialLogos/Square/8A156A5A-39CB-4F9D-856E-76EF9B2W3607.png
              alt: xero square icon
        button:
          default:
            image:
              src: https://static.codat.io/public/officialButtons/Full/8A156A5A-39CB-4F9D-856E-76EF9Q7A9607.png
              alt: xero default button icon
          hover:
            image:
              src: https://static.codat.io/public/officialLogos/Full/8A156A5A-39CB-4F9D-856E-76EF9B9A9607.png
              alt: xero hover button icon
        sourceId: 35b92968-9851-4095-ad60-395c95cbcba4
    Integrations:
      title: Integrations
      x-internal: true
      allOf:
      - type: object
        properties:
          results:
            type: array
            items:
              $ref: '#/components/schemas/Integration'
      - $ref: '#/components/schemas/PagingInfo'
    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.
  responses:
    Unauthorized:
      description: Your API request was not properly authorized.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            Unauthorized:
              value:
                statusCode: 401
                service: PublicApi
                error: Unauthorized
                correlationId: 7eb40d6b415d7bcd99ce658268284056
                canBeRetried: Unknown
                detailedErrorCode: 0
    Malformed-Query:
      description: Your `query` parameter was not correctly formed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            Malformed query:
              value:
                statusCode: 400
                service: ClientsApi
                error: Error parsing query - Malformed query.
                correlationId: bc997528a9d7abb9161ef45f05d38599
                canBeRetried: Unknown
                detailedErrorCode: 0
            Unresolved property:
              value:
                statusCode: 400
                service: PullApi
                error: Error parsing query - Could not resolve property isCompleted on Dataset
                correlationId: 98457fb9956b7f9b4b2fd4f6e23bb5c8
                canBeRetried: Unknown
                detailedErrorCode: 0
    Payment-Required:
      description: 'An account limit has been exceeded. The type of limit is described in the error property:


        - You have exceeded the 50-company limit that applies to a Free plan. Delete any companies you no longer need and retry the request.

        - The requested sync schedule is not allowed. You requested an hourly sync schedule but this functionality is not included in the Free plan.

        - Your Free account is older than 365 days and has expired. Contact support@codat.io.

        '
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            Conflict:
              value:
                statusCode: 429
                service: PublicApi
                error: You have exceeded the 50-company limit that applies to a Free plan. We recommend that you delete any companies you no longer need and retry the request.
                correlationId: bc997528a9d7abb9161ef45f05d38599
                canBeRetried: Unknown
                detailedErrorCode: 0
    Too-Many-Requests:
      description: Too many requests were made in a given amount of time. Wait a short period and then try again.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            Conflict:
              value:
                statusCode: 429
                service: PublicApi
                error: You have made too many requests in a given amount of time; please retry later.
                correlationId: bc997528a9d7abb9161ef45f05d38599
                canBeRetried: Unknown
                detailedErrorCode: 0
    Not-Found:
      description: 'One or more of the resources you referenced could not be found.

        This might be because your company or data connection id is wrong, or was already deleted.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            Data connection not found:
              value:
                statusCode: 404
                service: PublicApi
                error: Data connection a22dd66b-564a-4832-9b37-7b3ce4aeb7de not found
                correlationId: 8fa2b5f4794970a4ee73758f612e8df0
                canBeRetried: Unknown
                detailedErrorCode: 0
            Company not found:
              value:
                statusCode: 404
                service: ClientsApi
                error: No company was found with ID 846ed55c-974b-4392-a1f1-87b6fdbf3c5e
                correlationId: 0a40c2f31fc8f992fb88b0853e4166f3
                canBeRetried: Unknown
                detailedErrorCode: 0
            No data available:
              value:
                statusCode: 404
                service: PublicApi
                error: No data available for accounts for ID e5889b459f544926ac5b8e6756df2s
                correlationId: 0a40c2f31fc8f992fb88b0853e4166f3
                canBeRetried: Unknown
                detailedErrorCode: 0
    Internal-Server-Error:
      description: There is a problem with our server. Please try again later.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            Conflict:
              value:
                statusCode: 500
                service: PublicApi
                error: There is a problem with our server. Please try again later.
                correlationId: bc997528a9d7abb9161ef45f05d38599
                canBeRetried: Unknown
                detailedErrorCode: 0
    Forbidden:
      description: You are using an outdated API key or a key not associated with that resource.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            Conflict:
              value:
                statusCode: 403
                service: PublicApi
                error: You are using an outdated API key or a key not associated with that resource.
                correlationId: bc997528a9d7abb9161ef45f05d38599
                canBeRetried: Unknown
                detailedErrorCode: 0
    Service-Unavailable:
      description: The Codat API is temporarily offline for maintenance. Please try again later.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            Conflict:
              value:
                statusCode: 500
                service: PublicApi
                error: The Codat API is temporarily offline for maintenance. Please try again later.
                correlationId: bc997528a9d7abb9161ef45f05d38599
                canBeRetried: Unknown
                detailedErrorCode: 0
  parameters:
    orderBy:
      name: orderBy
      in: query
      required: false
      schema:
        type: string
        example: -modifiedDate
      description: Field to order results by. [Read more](https://docs.codat.io/using-the-api/ordering-results).
    pageSize:
      name: pageSize
      in: query
      schema:
        type: integer
        format: int32
        default: 100
        example: 100
        minimum: 1
        maximum: 5000
      description: Number of records to return in a page. [Read more](https://docs.codat.io/using-the-api/paging).
    query:
      name: query
      in: query
      required: false
      schema:
        type: string
      example: id=e3334455-1aed-4e71-ab43-6bccf12092ee
      description: Codat query string. [Read more](https://docs.codat.io/using-the-api/querying).
    platformKey:
      name: platformKey
      in: path
      required: true
      schema:
        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.
      description: A unique 4-letter key to represent a platform in each integration.
    page:
      name: page
      in: query
      schema:
        type: integer
        format: int32
        minimum: 1
        example: 1
        default: 1
      description: Page number. [Read more](https://docs.codat.io/using-the-api/paging).
  securitySchemes:
    auth_header:
      name: Authorization
      description: The word "Basic" followed by a space and your API key. [API keys](https://docs.codat.io/platform-api#/schemas/ApiKeyDetails) are tokens used to control access to the API. You can get an API key via [the Codat Portal](https://app.codat.io/developers/api-keys), via [the API](https://docs.codat.io/platform-api#/operations/list-api-keys), or [read more](https://docs.codat.io/using-the-api/authentication) about authentication at Codat.
      type: apiKey
      in: header
      x-speakeasy-example: Basic BASE_64_ENCODED(API_KEY)
x-speakeasy-retries:
  strategy: backoff
  backoff:
    initialInterval: 500
    maxInterval: 60000
    maxElapsedTime: 3600000
    exponent: 1.5
  statusCodes:
  - 408
  - 429
  - 5XX
  retryConnectionErrors: true
x-speakeasy-name-override:
- operationId: ^list-.*?
  methodNameOverride: list
- operationId: ^list-.*?-attachments
  methodNameOverride: list-attachments
- operationId: ^get-.*?
  methodNameOverride: get
- operationId: ^get-create-.*?-model
  methodNameOverride: get-create-model
- operationId: ^get-create-update.*?-model
  methodNameOverride: get-create-update-model
- operationId: ^get-.*?-attachment
  methodNameOverride: get-attachment
- operationId: ^update-.*?
  methodNameOverride: update
- operationId: ^create-.*?
  methodNameOverride: create
- operationId: ^delete-.*?
  methodNameOverride: delete
- operationId: ^delete-.*?-attachment
  methodNameOverride: delete-attachment
- operationId: ^download-.*?-attachment
  methodNameOverride: downlo

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