Deck Link API

These endpoints are used by the Link widget. They can also be used for creating your own UX experience and connecting data from utility data sources.

Operations 10

POST /link/token/create Create a Link Token for running a Link session #
POST /link/info Get client information #
POST /link/sources Search sources #
POST /link/connect Connect with credentials #
POST /link/connection/status Get the status of an attempted connection #
POST /link/authentication/mfa/get Get the security question #
POST /link/authentication/mfa/answer Provide MFA code #
POST /link/account/select Select accounts #
POST /link/token/get Get information about a previously created link_token #
POST /link/account/list Return the list of accounts found while creating connection #

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/deck:deck-link-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

deck-link-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Deck Link API
  description: '# Deck API makes it straightforward for users to connect to any portal securely and quickly.


    ### Welcome! Looking for a quick introduction to our API? Check out the 🚀Quickstart guide.


    Starting on the sandbox server is easy:


    1. Create an account using the dashboard to get your client id and sandbox secret

    2. Enter your client id and sandbox secret in the Authentication section below

    3. Hit the "Try" buttons below for each endpoint.


    Happy querying!'
  contact:
    name: Ready to start building? Contact us!
    url: https://deck.co
  version: v1
servers:
- url: https://sandbox.deck.co/api/v1
  description: Deck Sandbox API
- url: https://live.deck.co/api/v1
  description: Deck API
tags:
- name: Link
  description: These endpoints are used by the Link widget. They can also be used for creating your own UX experience and connecting data from utility data sources.
paths:
  /link/token/create:
    post:
      tags:
      - Link
      summary: Create a Link Token for running a Link session
      description: Returns a Link Token to be used in a Link session, customized with options for controlling which sources to make available.
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkTokenCreateRequest'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkTokenCreateRequest'
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkTokenCreateRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkTokenRequestResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/LinkTokenRequestResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageResponse'
        '401':
          description: Unauthorized - Invalid API key
      security:
      - client_id:
        - ''
        secret:
        - ''
      operationId: postLinkTokenCreate
      x-operation-id-source: derived
  /link/info:
    post:
      tags:
      - Link
      summary: Get client information
      description: Returns information about the client currently using Datadeck for connecting data from a utility data source. The client name and logo are displayed on the first screen of the Datadeck Link widget.
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkTokenRequestResponse'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkTokenRequestResponse'
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkTokenRequestResponse'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkClientInfoResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/LinkClientInfoResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageResponse'
      operationId: postLinkInfo
      x-operation-id-source: derived
  /link/sources:
    post:
      tags:
      - Link
      summary: Search sources
      description: Returns a list of data sources based on a few search parameters
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkSourcesRequest'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkSourcesRequest'
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkSourcesRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkSourcesResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/LinkSourcesResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageResponse'
      operationId: postLinkSources
      x-operation-id-source: derived
  /link/connect:
    post:
      tags:
      - Link
      summary: Connect with credentials
      description: Sends credential information to a utility data source and attempts to create a connection request asynchronously.
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkConnectRequest'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkConnectRequest'
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkConnectRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkConnectResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/LinkConnectResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageResponse'
      operationId: postLinkConnect
      x-operation-id-source: derived
  /link/connection/status:
    post:
      tags:
      - Link
      summary: Get the status of an attempted connection
      description: Returns the connectivity status about a connection
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkTokenRequestResponse'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkTokenRequestResponse'
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkTokenRequestResponse'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkConnectionStatusResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/LinkConnectionStatusResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageResponse'
      operationId: postLinkConnectionStatus
      x-operation-id-source: derived
  /link/authentication/mfa/get:
    post:
      tags:
      - Link
      summary: Get the security question
      description: Call this endpoint when receiving the connection status MfaQuestion, to get the text of the MFA security question
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkTokenRequestResponse'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkTokenRequestResponse'
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkTokenRequestResponse'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityQuestionResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/SecurityQuestionResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageResponse'
      operationId: postLinkAuthenticationMfaGet
      x-operation-id-source: derived
  /link/authentication/mfa/answer:
    post:
      tags:
      - Link
      summary: Provide MFA code
      description: Call this endpoint to send your MFA code, when receiving MfaCodeRequired or MfaCodeInvalid status from webhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/SecurityQuestionAnswerSaveRequest'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/SecurityQuestionAnswerSaveRequest'
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/SecurityQuestionAnswerSaveRequest'
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageResponse'
      operationId: postLinkAuthenticationMfaAnswer
      x-operation-id-source: derived
  /link/account/select:
    post:
      tags:
      - Link
      summary: Select accounts
      description: Call this endpoint to select which accounts to consider, when receiving AccountSelectionRequired status from webhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkAccountSelectRequest'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkAccountSelectRequest'
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkAccountSelectRequest'
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageResponse'
      operationId: postLinkAccountSelect
      x-operation-id-source: derived
  /link/token/get:
    post:
      tags:
      - Link
      summary: Get information about a previously created link_token
      description: Returns the associated parameters that were used when creating a link_token
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkTokenRequestResponse'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkTokenRequestResponse'
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkTokenRequestResponse'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkTokenGetResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/LinkTokenGetResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageResponse'
        '401':
          description: Unauthorized - Invalid API key
      security:
      - client_id:
        - ''
        secret:
        - ''
      operationId: postLinkTokenGet
      x-operation-id-source: derived
  /link/account/list:
    post:
      tags:
      - Link
      summary: Return the list of accounts found while creating connection
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkTokenRequestResponse'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkTokenRequestResponse'
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkTokenRequestResponse'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkAccountListResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/LinkAccountListResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageResponse'
      operationId: postLinkAccountList
      x-operation-id-source: derived
components:
  schemas:
    SecurityQuestionResponse:
      required:
      - question
      type: object
      properties:
        question:
          minLength: 1
          type: string
      additionalProperties: false
    LinkTokenRequestResponse:
      required:
      - link_token
      type: object
      properties:
        link_token:
          minLength: 1
          type: string
          description: The link_token, must be provided when calling Link endpoints, for identifying the Link session.
      additionalProperties: false
    ErrorCategoryEnum:
      enum:
      - INVALID_REQUEST
      - INVALID_RESULT
      - INVALID_INPUT
      - DATA_SOURCE_ERROR
      - RATE_LIMIT_EXCEEDED
      - API_ERROR
      - CONNECTION_ERROR
      - RECAPTCHA_ERROR
      - FETCH_BALANCE
      - ADD_PAYMENT_METHOD
      - FETCH_PAYMENT_METHODS
      - PAYMENT
      type: string
    LanguageEnum:
      enum:
      - EN
      - ES
      - FR
      - DE
      - IT
      - PT
      - NL
      - PL
      - SV
      - DA
      - 'NO'
      - ET
      - LT
      - LV
      - RO
      type: string
    LinkSourcesResponse:
      type: object
      properties:
        sources:
          type: array
          items:
            $ref: '#/components/schemas/LinkSourcesResponseSource'
          description: List of data sources found.
      additionalProperties: false
    ErrorMessageResponse:
      type: object
      properties:
        error_category:
          allOf:
          - $ref: '#/components/schemas/ErrorCategoryEnum'
          description: A broad categorization of the error. Safe for programmatic use.
        error_code:
          allOf:
          - $ref: '#/components/schemas/ErrorCodeEnum'
          description: The particular error code. Safe for programmatic use.
        error_message:
          type: string
          description: A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.
        display_message:
          type:
          - string
          - 'null'
          description: A user-friendly representation of the error code. null if the error is not related to user action. This may change over time and is not safe for programmatic use.
      additionalProperties: false
    LinkSourcesResponseSourceField:
      required:
      - field_label
      - field_name
      - field_number
      type: object
      properties:
        field_number:
          type: integer
          format: int32
        field_name:
          type: string
        field_label:
          type: string
        field_value:
          type:
          - string
          - 'null'
        field_type:
          allOf:
          - $ref: '#/components/schemas/FieldTypeEnum'
      additionalProperties: false
    LinkAccountSelectRequest:
      required:
      - link_token
      type: object
      properties:
        link_token:
          minLength: 1
          type: string
          description: The link_token, must be provided when calling Link endpoints, for identifying the Link session.
        accounts:
          type: array
          items:
            type: string
            format: uuid
          description: List of selected accounts
      additionalProperties: false
    LinkConnectRequest:
      required:
      - fields
      - link_token
      - source_id
      type: object
      properties:
        link_token:
          minLength: 1
          type: string
          description: The link_token, must be provided when calling Link endpoints, for identifying the Link session.
        source_id:
          type: string
          description: Identifier of the data source to connect to.
          format: uuid
        fields:
          type: array
          items:
            $ref: '#/components/schemas/LinkConnectRequestField'
          description: List of values provided for fields specific to the selected source
        terms_of_use_url:
          type:
          - string
          - 'null'
          description: The accepted terms of use by the end-user
        privacy_policy_url:
          type:
          - string
          - 'null'
          description: The accepted privacy policy by the end-user
      additionalProperties: false
    LinkClientInfoResponseUpdateMode:
      required:
      - source
      type: object
      properties:
        source:
          allOf:
          - $ref: '#/components/schemas/LinkSourcesResponseSource'
          description: When using Link in Update mode, this contains information about the original data source for which we are updating the connection.
      additionalProperties: false
    BetaSourceStatusEnum:
      enum:
      - LiveAndBeta
      - OnlyLive
      - OnlyBeta
      type: string
    LinkTokenGetResponse:
      type: object
      properties:
        language:
          allOf:
          - $ref: '#/components/schemas/LanguageEnum'
          description: The language used for the Link session corresponding to the provided Link token
        beta_source_status:
          allOf:
          - $ref: '#/components/schemas/BetaSourceStatusEnum'
          description: The beta source status filter from which data sources will be displayed during the Link session corresponding to the provided Link token.
        countries:
          type:
          - array
          - 'null'
          items:
            type: string
          description: The countries filter from which data sources will be displayed during the Link session corresponding to the provided Link token
        source_types:
          type:
          - array
          - 'null'
          items:
            type: string
          description: The source types filter from which data sources will be displayed during the Link session corresponding to the provided Link token
        source_guids:
          type:
          - array
          - 'null'
          items:
            type: string
            format: uuid
      additionalProperties: false
    FieldTypeEnum:
      enum:
      - Text
      - Password
      type: string
    LinkSourcesRequest:
      required:
      - link_token
      type: object
      properties:
        link_token:
          minLength: 1
          type: string
          description: The link_token, must be provided when calling Link endpoints, for identifying the Link session.
        source_id:
          type:
          - string
          - 'null'
          description: The specific source identifier to find. If left to NULL, a list of the 15 most common data sources is returned. If specified, the search argument will be ignored.
          format: uuid
        search:
          maxLength: 255
          minLength: 3
          type:
          - string
          - 'null'
          description: A search term for filtering the list by data source name. If left to NULL or empty, a list of the 15 most common data sources is returned.
      additionalProperties: false
    LinkClientInfoResponse:
      type: object
      properties:
        name:
          type:
          - string
          - 'null'
          description: Client name to display. If the client did not set his name yet, this property will be NULL and a default name should be displayed in that case.
        image_url:
          type: string
          description: Client logo URL to display.
        language:
          allOf:
          - $ref: '#/components/schemas/LanguageEnum'
          description: The language that Link should be displayed in.
        update_mode:
          allOf:
          - $ref: '#/components/schemas/LinkClientInfoResponseUpdateMode'
          description: Information about the source, if using Link in Update mode.
        terms_of_use_url:
          type:
          - string
          - 'null'
          description: Your terms of use to be accepted by the end-user
        privacy_policy_url:
          type:
          - string
          - 'null'
          description: Your privacy policy to be accepted by the end-user
        mode:
          allOf:
          - $ref: '#/components/schemas/LinkTokenModeEnum'
          description: Indicates the mode in which the Link widget should run
        account_select_mode:
          allOf:
          - $ref: '#/components/schemas/AccountSelectModeEnum'
          description: Indicates the mode to select accounts
        allow_document_upload:
          type: boolean
          description: Indicates if the Link User should be able to upload documents by himself in Link
        show_step_consent:
          type: boolean
          description: Indicates if link widget should show the consent screen
        show_step_add_source:
          type: boolean
          description: Indicates if link widget should show the add source screen
        show_step_select_account:
          type: boolean
          description: Indicates if link widget should show the account selection screen
        show_step_add_account:
          type: boolean
          description: Indicates if link widget should show the add account screen
      additionalProperties: false
    LinkTokenCreateRequestUpdate:
      required:
      - access_token
      - mode
      type: object
      properties:
        access_token:
          minLength: 1
          type: string
          description: The `access_token` associated with the existing Connection to update
        mode:
          allOf:
          - $ref: '#/components/schemas/LinkTokenCreateRequestUpdateModeEnum'
          description: 'Set which mode you want to use between Update and Refresh.

            Update mode will ask to enter the password, for updating it.

            Refresh mode will re-use existing known credentials and will only let the user interact with the MFA step during sign-in.'
      additionalProperties: false
    LinkTokenCreateRequest:
      type: object
      properties:
        language:
          allOf:
          - $ref: '#/components/schemas/LanguageEnum'
          description: The language that Link should be displayed in.
        countries:
          type:
          - array
          - 'null'
          items:
            type: string
          description: Specify an array of Datadeck-supported country codes using the ISO-3166-1 alpha-2 country code standard. Sources from all listed countries will be shown.
        source_ids:
          type:
          - array
          - 'null'
          items:
            type: string
            format: uuid
          description: You can specify exactly the sources to be shown in Link by providing a list of source ids.
        source_types:
          type:
          - array
          - 'null'
          items:
            type: string
          description: You can limit the sources to be shown in Link by specifying which source types to be shown in Link.
        beta_source_status:
          allOf:
          - $ref: '#/components/schemas/BetaSourceStatusEnum'
          description: To control which sources to be shown regarding their beta status
        update:
          allOf:
          - $ref: '#/components/schemas/LinkTokenCreateRequestUpdate'
          description: Used for launching Link in update or refresh mode
        webhook_url:
          type:
          - string
          - 'null'
          description: The webhook URL to receive update events.
        auto_refresh:
          type:
          - boolean
          - 'null'
          description: If true, the Link session will automatically refresh the data.
        parsing_method:
          allOf:
          - $ref: '#/components/schemas/ParsingMethodEnum'
          description: Choose the type of parsing needed for the connection
        latest_invoice_only:
          type:
          - boolean
          - 'null'
          description: Specifies whether to collect only the latest invoice data or all available invoices
      additionalProperties: false
    LinkTokenModeEnum:
      enum:
      - Normal
      - UpdateCredentials
      - Refresh
      - UpdateAccountSelection
      type: string
    LinkAccountListResponseAccountItem:
      type: object
      properties:
        account_id:
          type: string
          description: The account identifier
          format: uuid
        account_number:
          type: string
        account_address:
          type:
          - string
          - 'null'
          description: The account's address if available
      additionalProperties: false
    LinkSourcesResponseSource:
      type: object
      properties:
        source_id:
          type: string
          description: Unique identifier of the source with Datadeck.
          format: uuid
        name:
          type: string
          description: Name of the data source.
        logo_url:
          type:
          - string
          - 'null'
          description: Url to display the data source logo, when available (can be null).
        country:
          maxLength: 2
          minLength: 2
          type:
          - string
          - 'null'
          description: Country code of the data source in ISO 3166 format (2 characters).
        website:
          type:
          - string
          - 'null'
          description: Website of the data source, useful for resetting a password.
        fields:
          type: array
          items:
            $ref: '#/components/schemas/LinkSourcesResponseSourceField'
          description: The required fields to be displayed to the user for entering his credentials. In Update mode (for changing a password), the Username value of the connection being updated will also be provided, to be displayed in read-only.
      additionalProperties: false
    LinkAccountListResponse:
      type: object
      properties:
        accounts:
          type: array
          items:
            $ref: '#/components/schemas/LinkAccountListResponseAccountItem'
          description: List of available accounts
      additionalProperties: false
    SecurityQuestionAnswerSaveRequest:
      required:
      - answer
      - link_token
      type: object
      properties:
        link_token:
          minLength: 1
          type: string
          description: The link_token, must be provided when calling Link endpoints, for identifying the Link session.
        answer:
          minLength: 1
          type: string
      additionalProperties: false
    LinkConnectionStatusResponse:
      type: object
      properties:
        status:
          allOf:
          - $ref: '#/components/schemas/LinkConnectionStatusResponseEnum'
          description: The current status of the connection requested
        additional_information:
          type:
          - string
          - 'null'
          description: Additional information related to the status
      additionalProperties: false
    AccountSelectModeEnum:
      enum:
      - All
      - Single
      - Multiple
      type: string
    ErrorCodeEnum:
      enum:
      - DATA_SOURCE_NOT_FOUND
      - DATA_SOURCE_NOT_RESPONDING
      - PRODUCT_NOT_READY
      - CONNECTION_NOT_FOUND
      - CONNECTION_FAILED
      - INVALID_CREDENTIALS
      - LIVE_CONNECTIVITY_NOT_ENABLED
      - PRODUCT_NOT_ENABLED
      - NO_ACCOUNTS
      - NO_STATEMENTS
      - CONNECTION_LOCKED
      - BLOCKED_BY_PIN
      - VALIDATION_FAILED
      - INVALID_API_KEYS
      - INVALID_LINK_TOKEN
      - INVALID_PUBLIC_TOKEN
      - INVALID_ACCESS_TOKEN
      - INVALID_ACCOUNT_ID
      - INVALID_STATEMENT_ID
      - CONSENT_REQUIRED
      - INVALID_CURP
      - INVALID_DOCUMENT_UPLOAD
      - INVALID_ARGUMENT
      - NOT_SUPPORTED
      - UNEXPECTED_ERROR
      - PLANNED_MAINTENANCE
      - SECURITY_QUESTION_NOT_FOUND
      - SECURITY_CAPTCHA_NOT_FOUND
      - RATE_LIMIT_EXCEEDED
      - NO_ACTIVE_CONNECTION
      - INVALID_SOURCE
      - ACTIVE_CONNECTION_EXISTS
      type: string
    LinkConnectRequestField:
      required:
      - field_name
      - field_value
      type: object
      properties:
        field_name:
          type: string
        field_value:
          type: string
      additionalProperties: false
    LinkTokenCreateRequestUpdateModeEnum:
      enum:
      - UpdateCredentials
      - Refresh
      - UpdateAccountSelection
      type: string
    ParsingMethodEnum:
      enum:
      - PdfOnly
      - Basic
      - FullSustainability
      - None
      type: string
    LinkConnectResponse:
      type: object
      properties:
        public_token:
          type:
          - string
          - 'null'
          description: 'This token must be exchanged for an access_token. In Update mode for an existing connection, the public_token is not returned: There is no need to go through the process of exchanging a public_token for an access_token and the connection''s existing access_token will not change.'
      additionalProperties: false
    LinkConnectionStatusResponseEnum:
      enum:
      - New
      - Connecting
      - Connected
      - InvalidCredentials
      - Error
      - MfaMethodChoice
      - MfaQuestion
      - MfaQuestionInvalidAnswer
      - MfaQuestionNoAnswer
      - Captcha
      - SecurityQuestion
      - AccountSelection
      type: string
  securitySchemes:
    client_id:
      type: apiKey
      description: Enter your client id
      name: x-deck-client-id
      in: header
    secret:
      type: apiKey
      description: Enter your secret
      name: x-deck-secret
      in: header