openapi: 3.0.3
info:
  title: Flinks API
  description: |
    Flinks API provides financial data connectivity, enrichment, and payment solutions.

    ## Authentication
    Endpoints require authentication using `flinks-auth-key` header (Bearer token).

    For more information, visit: https://docs.flinks.com
  version: 3.0.0
  contact:
    name: Flinks Support
    url: https://www.flinks.com/contact/sales
  termsOfService: https://www.flinks.com

servers:
  - url: https://{instance}-api.private.fin.ag
    description: Flinks API Environment
    variables:
      instance:
        default: toolbox
        description: The environment instance (e.g., toolbox, sandbox, production)

tags:
  - name: Authorization
    description: Endpoints for generating authorization tokens and authenticating requests
  - name: Enrich - Consumer Attributes
    description: Consumer financial attribute analysis and credit risk assessment

paths:
  /v3/{customerId}/partnerdata/{LoginId}/{AccountId}:
    get:
      tags:
        - Authorization
      summary: Get Partner Data
      description: Use the /PartnerData endpoint if you are a client of Flinks and want to grant access for a partner to retrieve data that is processed by Flinks. This endpoint generates a unique Access Token that's associated with a specific user.
      operationId: getPartnerData

      parameters:
        - name: customerId
          in: path
          required: true
          description: Key that grants access to the environment specified in the instance field. By default, the value is set to the toolbox environment key.
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
        - name: LoginId
          in: path
          required: true
          description: Unique identifier that represents a specific user. This value is available after successfully calling the /Authorize endpoint.
          schema:
            type: string
        - name: AccountId
          in: path
          required: true
          description: Unique identifier that represents a specific user account.
          schema:
            type: string
        - name: Authorization
          in: header
          required: false
          description: Contains the Bearer Token (the API secret key that Flinks provides you with).
          schema:
            type: string
            default: "Bearer {API Secret}"

      security: []
      responses:
        "200":
          description: "Response Body"
          content:
            application/json:
              schema:
                type: object
                properties:
                  RequestId:
                    type: string
                    description: Unique identifier for this request.
                  AccessToken:
                    type: string
                    description: The unique Access Token that your partner can use to retrieve data for the specific user.
                  Date:
                    type: string
                    description: Timestamp when the Access Token was created.
                  ExpirationDate:
                    type: string
                    description: Timestamp when the Access Token expires (30 days from creation).
              example:
                RequestId: "565c7b7a-fc01-45a1-aa7d-baaaa703a51b"
                AccessToken: "6087f84c-15ba-4113-82aa-a9d22ea6caac"
                Date: "2023-04-11T15:04:43.3464411Z"
                ExpirationDate: "2023-05-12T19:09:02.9650245Z"
        "400":
          description: "Response Body"
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                    description: HTTP status code of the response.
                  ValidationDetails:
                    type: object
                    description: Validation error details.
                    properties:
                      loginId:
                        type: array
                        items:
                          type: string
                        description: Validation error messages for the loginId or accountId.
                      accountId:
                        type: array
                        items:
                          type: string
                        description: Validation error messages for the accountId.
                  FlinksCode:
                    type: string
                    description: Flinks-specific error code (e.g., INVALID_REQUEST).
              examples:
                InvalidLoginId:
                  value:
                    HttpStatusCode: 400
                    ValidationDetails:
                      loginId: ["This loginId doesn't exist."]
                    FlinksCode: "INVALID_REQUEST"
                InvalidAccountId:
                  value:
                    HttpStatusCode: 400
                    ValidationDetails:
                      accountId:
                        ["This accountId doesn't exist within the Card."]
                    FlinksCode: "INVALID_REQUEST"

  /v3/{customerId}/partnerdata/authsecret/{nameofpartner}:
    get:
      tags:
        - Authorization
      summary: Generate Auth Secret
      description: Use the /AuthSecret endpoint if you are a client of Flinks and want to grant access for a partner to retrieve data that is processed by Flinks. This endpoint generates a unique authorization token that your partner can use to securely access Flinks APIs.
      operationId: generateAuthSecret
      parameters:
        - name: customerId
          in: path
          required: true
          description: Key that grants access to the environment specified in the instance field. By default, the value is set to the Sandbox environment key.
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
        - name: nameofpartner
          in: path
          required: true
          description: Name that you want to assign to this partner. If this field is left empty, the default value is `PartnerTest`.
          schema:
            type: string
            default: PartnerTest
        - name: Authorization
          in: header
          required: false
          description: Contains the Bearer Token (the API secret key that Flinks provides you with).
          schema:
            type: string
            default: "Bearer {API Secret}"

      security: []
      responses:
        "200":
          description: "Response Body"
          content:
            application/json:
              schema:
                type: object
                properties:
                  RequestId:
                    type: string
                    description: Unique identifier for this request.
                  PermissionId:
                    type: string
                    description: Unique identifier used to revoke access to Flinks APIs by disabling the authorization token. Save this value.
                  AuthSecret:
                    type: string
                    description: The unique authorization token that your partner can use to securely access Flinks APIs.
                  Message:
                    type: string
                    description: Success message confirming the token was generated.
              example:
                RequestId: "403cf9b2-9fda-441e-ac8b-b8346eb319ff"
                PermissionId: "058cb857-777e-4e68-96a8-33f7f2e09465"
                AuthSecret: "e17778dc-a592-409e-a752-ee276b106f4c"
                Message: "The partner authorization secret was generated successfully."
        "400":
          description: "Response Body"
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                    description: HTTP status code of the response.
                  ValidationDetails:
                    type: object
                    description: Validation error details.
                    properties:
                      externalPartnerName:
                        type: array
                        items:
                          type: string
                        description: Validation error messages for the partner name.
                  FlinksCode:
                    type: string
                    description: Flinks-specific error code (e.g., INVALID_REQUEST).
              example:
                HttpStatusCode: 400
                ValidationDetails:
                  externalPartnerName:
                    - "The externalPartnerName needs to contain at least 3 characters and no numbers."
                FlinksCode: "INVALID_REQUEST"
  /v3/{customerId}/partnerdata/authsecret/disable/{permissionId}:
    get:
      tags:
        - Authorization
      summary: Disable Auth Secret
      description: Use the /AuthSecret/Disable endpoint if you are a client of Flinks and want to revoke access from a partner that you have previously granted access to.
      operationId: disableAuthSecret
      parameters:
        - name: customerId
          in: path
          required: true
          description: Key that grants access to the environment specified in the instance field. By default, the value is set to the toolbox environment key.
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
        - name: permissionId
          in: path
          required: true
          description: Revokes access to Flinks APIs for the partner it's associated with.
          schema:
            type: string
      responses:
        "200":
          description: "Response Body"
          content:
            application/json:
              schema:
                type: object
                properties:
                  permissionId:
                    type: string
                    description: The permission ID that was disabled.
                  authSecret:
                    type: string
                    description: The authorization token that was disabled.
                  message:
                    type: string
                    description: Success message confirming the partner authorization was disabled.
              example:
                permissionId: "d68aa9e7-1fb3-46be-a4f6-6dfd9b7052c8"
                authSecret: "55e387aa-4f2b-4b78-b568-222db22b96e6"
                message: "The partner authorization was disabled successfully."
        "400":
          description: "Response Body"
          content:
            application/json:
              schema:
                type: object
              example: {}

  /v3/{customerId}/partnerdata/authsecret/enable/{permissionId}:
    get:
      tags:
        - Authorization
      summary: Enable Auth Secret
      description: Use the /AuthSecret/Enable endpoint if you are a client of Flinks and want to re-enable a partner's Auth Secret to provide access to data that is processed through Flinks.
      operationId: enableAuthSecret
      parameters:
        - name: customerId
          in: path
          required: true
          description: Key that grants access to the environment specified in the instance field. By default, the value is set to the toolbox environment key.
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
        - name: permissionId
          in: path
          required: true
          description: Revokes access to Flinks APIs for the partner it's associated with.
          schema:
            type: string

      responses:
        "200":
          description: Response Body
          content:
            application/json:
              schema:
                type: object
                properties:
                  permissionId:
                    type: string
                    description: The permission ID that was re-enabled.
                  authSecret:
                    type: string
                    description: The authorization token that was re-enabled.
                  message:
                    type: string
                    description: Success message confirming the partner authorization was re-enabled.
              example:
                permissionId: "d68aa9e7-1fb3-46be-a4f6-6dfd9b7052c8"
                authSecret: "55e387aa-4f2b-4b78-b568-222db22b96e6"
                message: "The partner authorization was re-enabled successfully."
        "400":
          description: Response Body
          content:
            application/json:
              schema:
                type: object
              example: {}

  /partneraccess/{accesstoken}:
    get:
      tags:
        - Authorization
      summary: Partner Access
      description: Retrieve shared user data through Flinks APIs using a partner access token.
      operationId: partnerAccess
      parameters:
        - name: accesstoken
          in: path
          required: true
          description: The access token provided by the partner.
          schema:
            type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  GetAccountsDetail:
                    type: object
                    description: The data that you retrieved from the endpoint.
                  RequestId:
                    type: string
                    description: Unique identifier for this request.
              example:
                GetAccountsDetail:
                  - LoginId: "eceae0c0-1ed3-468f-ae30-08d6decf1675"
                    CustomerId: "43387ca6-0391-4c82-857d-70d95f087ecb"
                RequestId: "12345678-1234-1234-1234-123456789012"
        "400":
          description: "Response Body"
          content:
            application/json:
              schema:
                type: object
              example: {}

  /v3/oauth/authorize:
    get:
      tags:
        - Authorization
      summary: OAuth Authorize
      security: []
      description: Use the /OAuth/Authorize endpoint if you are using a custom API integration and want to establish a secure connection using OAuth 2.0 technology.
      operationId: oauthAuthorize
      parameters:
        - name: institution_id
          in: query
          required: false
          description: The end-user's financial institution.
          schema:
            type: string
        - name: redirect_uri
          in: query
          required: false
          description: URL that redirects the end-user back to your app or website after completing the OAuth flow.
          schema:
            type: string
        - name: state
          in: query
          required: false
          description: A unique string that you can randomly generate and link to this request to establish legitimacy. For the request to be successful, this string must be validated to confirm it's being passed with the correct request. The value of this field can be anything you want. This is an OAuth 2.0 standard and adds an extra layer of security.
          schema:
            type: string
        - name: lang
          in: query
          required: false
          description: "Two-character abbreviation that specifies the language. Possible values include: - `en` = English - `fr` = French If this field is left empty, the default value is set to `en`."
          schema:
            type: string
            default: en
        - name: tag
          in: query
          required: false
          description: Custom name that's assigned to the request for identification and tracking purposes.
          schema:
            type: string
        - name: recipientId
          in: query
          required: false
          description: Specifies the Data Recipient who receives the data, only if the instance is associated with multiple Data Recipients.
          schema:
            type: string
        - name: Accept
          in: header
          required: true
          description: Acceptable response media type.
          schema:
            type: string
            default: text/plain
      responses:
        "302":
          description: "Redirect Response"
          content:
            text/html:
              schema:
                type: string
              example: |
                <html>
                <head>
                  <title>Submit Form</title>
                  <meta name="referrer" content="origin" />
                  <meta http-equiv="x-ua-compatible" content="IE=edge" />
                </head>
                <body onload="javascript:document.forms[0].submit()">
                  <noscript>
                    <p>
                      <strong>Note:</strong> Since your browser does not support JavaScript, you must press the Resume button once to proceed.
                    </p>
                  </noscript>
                  <form method="post" action="https://ob.flinksapp.com/api/v1/agentless">
                    <input type="hidden" name="REF" value="613D213BC21A4480DBC844AABC852EFDB129387225AE7317A77B7A56400C"/>
                    <input type="hidden" name="allowInteraction" value="true"/>
                    <input type="hidden" name="scope" value="ACCOUNT_BASIC ACCOUNT_DETAILED ACCOUNT_PAYMENTS INVESTMENTS TRANSACTIONS STATEMENTS CUSTOMER_CONTACT CUSTOMER_PERSONAL"/>
                    <input type="hidden" name="provider_id" value="4003"/>
                    <input type="hidden" name="response_type" value="code"/>
                    <input type="hidden" name="connectionId" value="dc-patrfyrs91n711c9jlmtsru97"/>
                    <input type="hidden" name="redirect_uri" value="https://toolbox-api.private.fin.ag/v3/43387ca6-0391-4c82-857d-70d95f087ecb/openbanking/callback"/>
                    <input type="hidden" name="state" value="jc1LCoAwDADRu2Rtjdag4G1i2qJYP7QBFfHuegT385gbJuiha9vKSk3GO7KGXNcYdhSMdQ1XQrUEClBA+tJRdc894s7XMem4XAOvcynbglk5KfpTfVo5onCMA8v8ufx38bw="/>
                    <input type="hidden" name="resumePath" value="/as/1PT1G/resume/as/authorization.ping"/>
                    <input type="hidden" name="lang" value="en"/>
                    <input type="hidden" name="client_id" value="dc-patrfyrs91n711c9jlmtsru97"/>
                    <input type="hidden" name="reauth" value="false"/>
                    <noscript><input type="submit" value="Resume"/></noscript>
                  </form>
                </body>
                </html>
        "400":
          description: "Response Body"
          content:
            application/json:
              schema:
                type: object
                properties:
                  lang:
                    type: array
                    items:
                      type: string
                    description: Validation error messages for the lang parameter.
              example:
                lang:
                  ["The field Lang must be a valid ISO-639-1 two letter code."]
  /v3/{customerId}/BankingServices/AnswerMFAQuestions:
    patch:
      tags:
        - Authorization
      summary: Answer MFA Questions
      description: |
        The `AnswerMFAQuestions` endpoint allows you to submit responses to multi-factor authentication questions in order to complete the authentication process and refresh the associated financial card.

        **Availability:**
        This endpoint is supported only in Canada and only for institutions using simple security questions as their MFA method.

        **Note:** This endpoint is specific to the Enhanced MFA flow, which preemptively collects simple security question answers to improve Nightly Refresh success. It does not handle advanced MFA types such as two-step verification, push notifications, or other specialized authentication mechanisms. Those are fully supported through Flinks' standard authentication flow via the [/Authorize](/api/authorize/endpoints/authorize) endpoint and Flinks Connect.
      operationId: answerMFAQuestions
      parameters:
        - name: customerId
          in: path
          required: true
          description: Key that grants access to the environment specified in the instance field. By default, the value is set to the toolbox environment key.
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                loginId:
                  type: string
                  description: The loginId you received after successfully connecting a customer account.
                Questions:
                  type: array
                  description: Your MFA questions. This is an array of objects, where each object contains a Question and Answer field.
                  items:
                    type: object
                    properties:
                      Question:
                        type: string
                        description: The security question text.
                      Answer:
                        type: string
                        description: The answer to the security question.
              example: {}
      responses:
        "200":
          description: "Confirmation message indicating that the answers were updated successfully."
          content:
            application/json:
              schema:
                type: object
                properties:
                  Message:
                    type: string
                    description: Confirmation message indicating that the answers were updated successfully.
              example:
                Message: "Answers updated"
        "400":
          description: "Error message describing the issue."
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                    description: HTTP status code of the response.
                  Message:
                    type: string
                    description: Error message describing the issue.
                  FlinksCode:
                    type: string
                    description: "Flinks-specific error code: `INVALID_REQUEST`."
              example:
                HttpStatusCode: 400
                Message: "The login 'bb8b8569-3bfc-43c1-ae31-08d6de7f1675' is invalid."
                FlinksCode: "INVALID_REQUEST"

  /v3/{customerId}/BankingServices/GetAccountsSummary:
    post:
      tags:
        - Connect
      summary: Get Accounts Summary
      description: To access general account details such as the cardholder's name (when available), account balance, account category and EFT eligibility, use the /GetAccountsSummary endpoint.
      operationId: getAccountsSummary
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
          description: Unique GUID provided by Flinks that grants you access to the environment specified in the instance field.
        - name: x-api-key
          in: header
          schema:
            type: string
          description: Security feature that grants access to this endpoint.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - RequestId
              properties:
                RequestId:
                  type: string
                  description: Unique identifier provided after a successful request to the /Authorize endpoint.
                WithBalance:
                  type: boolean
                  default: true
                  description: Specifies if you want to include account balances in the account summary.
                WithAccountIdentity:
                  type: boolean
                  default: true
                  description: Specifies if you want to include the account numbers in the account summary.
              example:
                RequestId: "3fa391bc-bc52-4424-82c5-8662600df9b2"
                WithBalance: true
                WithAccountIdentity: true
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                    description: HTTP status code of the response.
                  Accounts:
                    type: array
                    items:
                      type: object
                      properties:
                        EftEligibleRatio:
                          type: integer
                          description: Decimal value (0-1) indicating EFT eligibility percentage.
                        ETransferEligibleRatio:
                          type: integer
                          description: Decimal value (0-1) indicating e-Transfer eligibility percentage.
                        Title:
                          type: string
                          description: Account title (e.g., "Primary Chequing Account").
                        AccountNumber:
                          type: string
                          description: Account number.
                        LastFourDigits:
                          type: string
                          description: Last four digits of the account number.
                        Balance:
                          type: object
                          description: Account balance information.
                          properties:
                            Available:
                              type: number
                            Current:
                              type: number
                            Limit:
                              type: string
                        Category:
                          type: string
                          description: Account category (e.g., "Operations").
                        Type:
                          type: string
                          description: Account type (e.g., "Chequing", "Savings").
                        Currency:
                          type: string
                          description: Currency code (e.g., "CAD").
                        Holder:
                          type: object
                          description: Account holder information.
                          properties:
                            Name:
                              type: string
                              description: Account holder name.
                            Address:
                              type: object
                              description: Account holder address.
                              properties:
                                CivicAddress:
                                  type: string
                                  description: Street address.
                                City:
                                  type: string
                                  description: City name.
                                Province:
                                  type: string
                                  description: Province/State code.
                                PostalCode:
                                  type: string
                                  description: Postal/ZIP code.
                                POBox:
                                  type: string
                                  description: PO Box (if applicable).
                                Country:
                                  type: string
                                  description: Country code.
                            Email:
                              type: string
                              description: Account holder email.
                            PhoneNumber:
                              type: string
                              description: Account holder phone number.
                        AccountType:
                          type: string
                          nullable: true
                          enum:
                            - Personal
                            - Business
                          description: Type of account.
                        Id:
                          type: string
                          description: Unique account identifier.
                  Links:
                    type: array
                    description: List of available data endpoints.
                    items:
                      type: object
                      properties:
                        rel:
                          type: string
                          description: Relationship type of the link.
                        href:
                          type: string
                          description: Endpoint path.
                        example:
                          type: string
                          description: Example value (if applicable).
                  Tag:
                    type: string
                    description: User tag (if provided).
                  InstitutionName:
                    type: string
                    description: Name of the financial institution.
                  Login:
                    type: object
                    description: Login information.
                    properties:
                      Username:
                        type: string
                        description: Login username.
                      IsScheduledRefresh:
                        type: boolean
                        description: Indicates if scheduled refresh is enabled.
                      LastRefresh:
                        type: string
                        description: Timestamp of last data refresh.
                      Type:
                        type: string
                        description: Login type (e.g., "Personal", "Business").
                      Id:
                        type: string
                        description: Unique login identifier.
                  InstitutionId:
                    type: integer
                    description: Unique identifier of the financial institution.
                  Institution:
                    type: string
                    description: Name of the financial institution.
                  RequestId:
                    type: string
              example:
                HttpStatusCode: 200
                Accounts:
                  - EftEligibleRatio: 0
                    ETransferEligibleRatio: 0
                    Title: "Primary Chequing Account"
                    AccountNumber: "1234567"
                    LastFourDigits: null
                    Balance:
                      Available: 1234.45
                      Current: 4321.45
                      Limit: null
                    Category: "Operations"
                    Type: "Chequing"
                    Currency: "CAD"
                    Holder:
                      Name: "John Doe"
                      Address:
                        CivicAddress: "20 Park Avenue"
                        City: "Toronto"
                        Province: "ON"
                        PostalCode: "X1X X2X"
                        POBox: null
                        Country: "CA"
                      Email: "johndoe@test.com"
                      PhoneNumber: "+1 123-456-7890"
                    AccountType: "Personal"
                    Id: "xxxx-xxxx-xxxxxxx-xxxxxx"
                Links:
                  - rel: "AccountsDetail"
                    href: "/GetAccountsDetail"
                    example: null
                  - rel: "Statements"
                    href: "/GetStatements"
                    example: null
                Tag: "userId=xxxxxxxxxxxx"
                InstitutionName: "BMO"
                Login:
                  Username: "1234567890"
                  IsScheduledRefresh: false
                  LastRefresh: "2024-10-10T12:00:00.000000"
                  Type: "Business"
                  Id: "xxxx-xxxx-xxxxxx-xxxxxx"
                InstitutionId: 1
                Institution: "BMO"
                RequestId: "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx"

        "202":
          description: Operation Pending
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                    example: 202
                    description: HTTP status code of the response.
                  FlinksCode:
                    type: string
                    example: OPERATION_PENDING
                    description: Flinks-specific code OPERATION_PENDING.
                  Links:
                    type: array
                    description: Links to async endpoint to check status.
                    items:
                      type: object
                      properties:
                        rel:
                          type: string
                        href:
                          type: string
                        example:
                          type: string
                  Message:
                    type: string
                    example: Your operation is still processing
                    description: Status message.
                  RequestId:
                    type: string
                    description: Unique request identifier.
              example:
                FlinksCode: "OPERATION_PENDING"
                Links:
                  - rel: "{Endpoint}Async"
                    href: "/{Endpoint}Async"
                    example: "/{Endpoint}Async/{requestId}"
                HttpStatusCode: 202
                Message: "Your operation is still processing"
                RequestId: "077785a3-fd0f-42f7-9251-ee2ff7f3b4ff"
        "400":
          description: Session Nonexistent
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                    description: HTTP status code.
                  Message:
                    type: string
                    description: Error message.
                  FlinksCode:
                    type: string
              example:
                HttpStatusCode: 400
                Message: "RequestId 1df20baf-65d5-40ee-9be0-8058c13042e2 is invalid or session has ended"
                FlinksCode: "SESSION_NONEXISTENT"

  /v3/{customerId}/BankingServices/GetAccountsDetail:
    post:
      tags:
        - Connect
      summary: Get Accounts Detail
      description: To retrieve full account details, including transactions, the holder's name, address, email and phone number, use the /GetAccountsDetail endpoint.
      operationId: getAccountsDetail
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
          description: Unique GUID provided by Flinks.
        - name: x-api-key
          in: header
          schema:
            type: string
          description: Security feature that grants access to this endpoint.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - RequestId
              properties:
                RequestId:
                  type: string
                  default: 3fa391bc-bc52-4424-82c5-8662600df9b2
                  description: Unique identifier provided after a successful request to the /Authorize endpoint.
                WithAccountIdentity:
                  type: boolean
                  default: true
                  description: Specifies if you want to include the transit number, institution number and account number.
                WithKYC:
                  type: boolean
                  default: true
                  description: Specifies if you want to include customer information in the account details.
                WithTransactions:
                  type: boolean
                  default: true
                  description: Specifies if you want to include transactions in the account details.
                AccountsFilter:
                  type: array
                  items:
                    type: string
                  description: Accounts that you are linking to this session.
                DaysOfTransactions:
                  type: string
                  default: Days90
                  enum: [Days90, Days365]
                  description: Number of days that you want to see transaction data for.
                WithDetailsAndBankingStatements:
                  type: boolean
                  default: false
                  description: Specifies if you want to enable PDF statements.
                NumberOfBankingStatements:
                  type: string
                  default: MostRecent
                  description: Number of PDF banking statements that are returned.
              example:
                RequestId: "3fa391bc-bc52-4424-82c5-8662600df9b2"
                WithAccountIdentity: true
                WithKYC: true
                WithTransactions: true
                DaysOfTransactions: "Days90"
                WithDetailsAndBankingStatements: false
                NumberOfBankingStatements: "MostRecent"
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                  Accounts:
                    type: array
                    items:
                      type: object
                      properties:
                        Id:
                          type: string
                          description: Unique identifier for the account.
                        Title:
                          type: string
                          description: Display name of the account.
                        AccountNumber:
                          type: string
                          description: Full account number.
                        LastFourDigits:
                          type: string
                          description: Last four digits of the account number.
                        TransitNumber:
                          type: string
                          description: Transit or routing number for the account.
                        InstitutionNumber:
                          type: string
                          description: Institution number for the bank.
                        Balance:
                          type: object
                          description: Account balance information.
                          properties:
                            Available:
                              type: number
                            Current:
                              type: number
                            Limit:
                              type: string
                        Category:
                          type: string
                          description: Category of the account.
                        Type:
                          type: string
                          description: Type of account.
                        Currency:
                          type: string
                        Holder:
                          type: object
                          description: Information about the account holder.
                          properties:
                            Name:
                              type: string
                            Address:
                              type: object
                              properties:
                                CivicAddress:
                                  type: string
                                City:
                                  type: string
                                Province:
                                  type: string
                                PostalCode:
                                  type: string
                                POBox:
                                  type: string
                                Country:
                                  type: string
                            Email:
                              type: string
                            PhoneNumber:
                              type: string
                        Transactions:
                          type: array
                          description: Array of transaction records for the account.
                          items:
                            type: object
                            properties:
                              Id:
                                type: string
                              Date:
                                type: string
                              Description:
                                type: string
                              Debit:
                                type: number
                              Credit:
                                type: number
                              Balance:
                                type: number
                        AccountType:
                          type: string
                          nullable: true
                          enum:
                            - Personal
                            - Business
                          description: Type of account.
                  InstitutionName:
                    type: string
                  Login:
                    type: object
                    description: Information about the login session.
                  InstitutionId:
                    type: integer
                  Institution:
                    type: string
                  RequestId:
                    type: string
              example:
                HttpStatusCode: 200
                Accounts:
                  - Transactions:
                      - Date: "2025-01-31"
                        Code: null
                        Description: "PAYROLL - Stripe Paycheck"
                        Debit: 1000.4
                        Credit: 1500.25
                        Balance: 5105.6
                        Id: "94584aed-7c98-42a4-9836-9f8557db63f5"
                    TransitNumber: "12347"
                    InstitutionNumber: "777"
                    OverdraftLimit: 100.5
                    Title: "Chequing Account"
                    AccountNumber: "7641238"
                    LastFourDigits: null
                    Balance:
                      Available: 5405.5
                      Current: 5105.5
                      Limit: 5105.5
                    Category: "Operations"
                    Type: "Chequing"
                    Currency: "CAD"
                    Holder:
                      Name: "Testing"
                      Address:
                        CivicAddress: "25 york street"
                        City: "TOR"
                        Province: "ON"
                        PostalCode: "M5J 2V5"
                        POBox: null
                        Country: "CA"
                      Email: "test_user1@nomail.com"
                      PhoneNumber: "9051234567"
                    AccountType: null
                    Id: "27a9ffa0-c6b9-4cc6-9eaa-aa9efa07a889"
                InstitutionName: "FlinksCapital"
                Login:
                  Username: "chat_gpt"
                  IsScheduledRefresh: false
                  LastRefresh: "2025-01-31T17:40:54.569261"
                  Type: "Personal"
                  Id: "5602459c-f6d0-4ca0-6750-08dccdcadcc0"
                InstitutionId: 14
                Institution: "FlinksCapital"
                RequestId: "22178382-31ee-485c-a750-c20929b6a344"
        "202":
          description: Operation Pending
          content:
            application/json:
              schema:
                type: object
                properties:
                  FlinksCode:
                    type: string
                  Links:
                    type: array
                    items:
                      type: object
                  HttpStatusCode:
                    type: integer
                  Message:
                    type: string
                  RequestId:
                    type: string
              example:
                FlinksCode: "OPERATION_PENDING"
                Links:
                  - rel: "{Endpoint}Async"
                    href: "/{Endpoint}Async"
                    example: "/{Endpoint}Async/{requestId}"
                HttpStatusCode: 202
                Message: "Your operation is still processing"
                RequestId: "077785a3-fd0f-42f7-9251-ee2ff7f3b4ff"

  /v3/{customerId}/BankingServices/GetStatements:
    post:
      tags:
        - Connect
      summary: Get Statements
      description: To retrieve PDF statements from a customer's financial institution, use the /GetStatements endpoint.
      operationId: getStatements
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
          description: Key that grants access to the environment.
        - name: x-api-key
          in: header
          schema:
            type: string
          description: Security feature that grants access to this endpoint.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - RequestId
              properties:
                RequestId:
                  type: string
                  description: Unique identifier provided after a successful request to the /Authorize endpoint.
                NumberOfStatements:
                  type: string
                  default: MostRecent
                  enum: [MostRecent, Months3, Months12]
                  description: Number of PDF banking statements that are returned per customer account.
                AccountsFilter:
                  type: array
                  items:
                    type: string
                  description: You can include the AccountsFilter parameter in the request body.
              example:
                NumberOfStatements: "MostRecent"
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                  StatementsByAccount:
                    type: array
                    description: Array containing statements organized by account.
                    items:
                      type: object
                      properties:
                        AccountNumber:
                          type: string
                          description: The account number for which statements are provided.
                        Statements:
                          type: array
                          description: Array of statement objects for this account.
                          items:
                            type: object
                            properties:
                              UniqueId:
                                type: string
                                description: Unique identifier for the statement.
                              FileType:
                                type: string
                                description: File format of the statement (e.g., "PDF").
                              Base64Bytes:
                                type: string
                                description: Base64-encoded bytes of the PDF statement file.
                  Login:
                    type: object
                    description: Login information.
                    properties:
                      Username:
                        type: string
                      IsScheduledRefresh:
                        type: boolean
                      LastRefresh:
                        type: string
                      Type:
                        type: string
                      Id:
                        type: string
                  Institution:
                    type: string
                  RequestId:
                    type: string
              example:
                HttpStatusCode: 200
                StatementsByAccount:
                  - AccountNumber: "1111000"
                    Statements:
                      - UniqueId: "3DD209E106553D2BB0A6EFF57FD0480C"
                        FileType: "PDF"
                        Base64Bytes: "..."
                Login:
                  Username: "Greatday"
                  IsScheduledRefresh: false
                  LastRefresh: "2019-05-17T15:29:23.7035672"
                  Type: "Personal"
                  Id: "34c85a5d-f278-467b-29ed-08d682e1fef5"
                Institution: "FlinksCapital"
                RequestId: "f56f8b80-9949-4c60-ad63-dcdc0fd1456b"
        "202":
          description: Operation Pending
          content:
            application/json:
              schema:
                type: object
                properties:
                  FlinksCode:
                    type: string
                  Links:
                    type: array
                    items:
                      type: object
                      properties:
                        rel:
                          type: string
                        href:
                          type: string
                        example:
                          type: string
                  HttpStatusCode:
                    type: integer
                  Message:
                    type: string
                  RequestId:
                    type: string
              example:
                FlinksCode: "OPERATION_PENDING"
                Links:
                  - rel: "{Endpoint}Async"
                    href: "/{Endpoint}Async"
                    example: "/{Endpoint}Async/{requestId}"
                HttpStatusCode: 202
                Message: "Your operation is still processing"
                RequestId: "f56f8b80-9949-4c60-ad63-dcdc0fd1456b"

  /v3/{customerId}/BankingServices/Institutions:
    get:
      tags:
        - Connect
      summary: Get Institutions
      description: Retrieve all available institutions and their details.
      operationId: getInstitutions
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
          description: Unique GUID provided by Flinks.
        - name: x-api-key
          in: header
          schema:
            type: string
          description: Security feature that grants access to this endpoint.
        - name: skip
          in: query
          schema:
            type: integer
            default: 0
          description: The number of records to skip.
        - name: take
          in: query
          schema:
            type: integer
            default: 10
          description: The number of records to return.
        - name: countries
          in: query
          schema:
            type: string
          description: Return institutions filtered by country.
        - name: routingNumbers
          in: query
          schema:
            type: string
          description: Return institutions filtered by routing numbers.
      responses:
        "200":
          description: Result
          content:
            application/json:
              schema:
                type: object
                properties:
                  Data:
                    type: array
                    items:
                      type: object
                      properties:
                        Id:
                          type: integer
                          description: Unique identifier for the institution.
                        Localizations:
                          type: array
                          description: Localized information for the institution.
                          items:
                            type: object
                            properties:
                              Language:
                                type: string
                              Name:
                                type: string
                              Urls:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    Type:
                                      type: string
                                    Url:
                                      type: string
                        Status:
                          type: string
                          description: Status of the institution.
                        Country:
                          type: string
                          description: Country code.
                  Count:
                    type: integer
                    description: Total count of institutions matching the query.
              example:
                Data:
                  - Id: 1
                    Localizations:
                      - Language: "fr"
                        Name: "BMO"
                        Urls:
                          - Type: "Main"
                            Url: "https://www.bmo.com/principal/particuliers"
                      - Language: "en"
                        Name: "BMO"
                        Urls:
                          - Type: "Main"
                            Url: "https://www.bmo.com/main/personal"
                    Status: "Enabled"
                    Country: "CA"
                  - Id: 2
                    Localizations:
                      - Language: "en"
                        Name: "Desjardins"
                        Urls:
                          - Type: "Main"
                            Url: "https://www.desjardins.com/ca/index.jsp"
                      - Language: "fr"
                        Name: "Desjardins"
                        Urls:
                          - Type: "Main"
                            Url: "https://www.desjardins.com/index.jsp"
                    Status: "Enabled"
                    Country: "CA"
                Count: 249

  /v3/{customerId}/BankingServices/DeleteCard/{loginId}:
    delete:
      tags:
        - Connect
      summary: Delete Card
      description: Delete all data that's associated with a specific user account.
      operationId: deleteCard
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
          description: Unique GUID provided by Flinks.
        - name: loginId
          in: path
          required: true
          schema:
            type: string
          description: Unique loginId associated with the account you want to delete.
        - name: x-api-key
          in: header
          schema:
            type: string
          description: Security feature that grants access to this endpoint.
        - name: Content-Type
          in: header
          required: true
          description: Content type of the request.
          schema:
            type: string
            enum: ["application/json"]
            default: application/json
            example: "application/json"
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  StatusCode:
                    type: integer
                  Message:
                    type: string
              example:
                StatusCode: 200
                Message: "All of the information about LoginId eceae0c0-1ed3-468f-ae30-08d6decf1675 has been removed"
        "400":
          description: Card In Use
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                  Message:
                    type: string
                  FlinksCode:
                    type: string
              example:
                HttpStatusCode: 400
                Message: "You can't remove the card and use the card in parallel. Please stop using the card and remove it again"
                FlinksCode: "CARD_IN_USE"

  /v3/{customerId}/insight/login/{loginId}/attributes/{requestId}:
    post:
      tags:
        - Enrich
      summary: Attributes
      description: Use the /Attributes endpoint to tell us the data points in your attributes package you want to retrieve.
      operationId: attributes
      parameters:
        - name: customerId
          in: path
          required: true
          description: Unique GUID provided by Flinks that grants you access to the environment specified in the instance field.
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
        - name: loginId
          in: path
          required: true
          description: GUID representing end user's login ID.
          schema:
            type: string
        - name: requestId
          in: path
          required: true
          description: GUID representing an authorized request to the API.
          schema:
            type: string
        - name: limitDays
          in: query
          required: false
          description: (Optional) Includes an integer from 1 to 365 that will limit the range of transactions that will be used to calculate Attributes.
          schema:
            type: string
            default: "365"
        - name: Content-Type
          in: header
          required: true
          description: Content type of the request.
          schema:
            type: string
            enum: ["application/json"]
            default: application/json
            example: "application/json"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                Attributes:
                  type: object
                  description: Object specifying which attributes to retrieve, grouped by output target.
                  properties:
                    Card:
                      type: array
                      items:
                        type: string
                      description: List of attribute names to return on the Card.
                Filters:
                  type: object
                  description: (Optional) Filters applied to the data used for attribute calculation.
                  properties:
                    AccountCategory:
                      type: array
                      items:
                        type: string
                      description: List of account categories (Operations is currently the only supported value).
                Options:
                  type: object
                  description: (Optional) Additional calculation options.
                  properties:
                    OriginCountry:
                      type: string
                      description: Origin country of the accounts (e.g. "ca").
                    AccountType:
                      type: string
                      description: Account type to evaluate (e.g. "Personal").
                    AttributesDetail:
                      type: array
                      items:
                        type: string
                      description: List of attributes for which the underlying transactions should be returned.
              example:
                Attributes:
                  Card:
                    - account_age_days
                    - active_days_trend
                    - auto_loan_payment_frequency
                    - average_closing_balance_day_after_employer_income
                    - average_closing_balance_day_after_government_income
                    - average_closing_balance_day_after_income
                    - average_closing_balance_day_of_employer_income
                    - average_closing_balance_day_of_government_income
                    - count_telecom_payments_current_month
                Filters:
                  AccountCategory:
                    - Operations
                Options:
                  OriginCountry: ca
                  AccountFilter: 
                    - 32a25824-d43a-46f1-8980-22fd6aa95d24
                  AccountType: Personal
                  AttributesDetail:
                    - account_age_days
                    - active_days_trend
                    - auto_loan_payment_frequency
                    - average_closing_balance_day_after_employer_income
                    - average_closing_balance_day_after_government_income
                    - average_closing_balance_day_after_income
                    - average_closing_balance_day_of_employer_income
                    - average_closing_balance_day_of_government_income
                    - count_telecom_payments_current_month
      responses:
        "200":
          description: Result
          content:
            application/json:
              schema:
                type: object
                properties:
                  MostRecentTransactionDate:
                    type: string
                    description: Date of the most recent transaction used in the calculation (MM/DD/YYYY).
                  FlinksAttributesProcessId:
                    type: string
                    description: GUID identifying the attributes calculation process.
                  HttpStatusCode:
                    type: integer
                    description: HTTP status code of the response.
                  Card:
                    type: object
                    description: "Object containing an Id field (end user's LoginId) and all the requested attributes (name: value), plus optional AttributesDetail."
                    properties:
                      Id:
                        type: string
                        description: GUID representing the end user's LoginId.
                      AttributesDetail:
                        type: array
                        description: Underlying transactions for the requested attributes.
                        items:
                          type: object
                          properties:
                            Attribute:
                              type: string
                              description: Name of the attribute the transactions relate to.
                            Transactions:
                              type: array
                              items:
                                type: object
                                properties:
                                  TransactionId:
                                    type: string
                                  AccountId:
                                    type: string
                                  Date:
                                    type: string
                                  Description:
                                    type: string
                                  Debit:
                                    type: number
                                  Credit:
                                    type: number
                                  Balance:
                                    type: number
                      MostRecentTransactionDate:
                        type: string
                        description: Date of the most recent transaction used in the calculation (MM/DD/YYYY).
                      Country:
                        type: string
                        description: Origin country of the accounts.
                  ProcessId:
                    type: string
                    description: GUID identifying the request process.
                  Login:
                    type: object
                    description: Object representing end user's technical information.
                    properties:
                      IsScheduledRefresh:
                        type: boolean
                      LastRefresh:
                        type: string
                      Id:
                        type: string
                  RequestId:
                    type: string
                    description: GUID representing an authorized request to the API.
              example:
                MostRecentTransactionDate: 02/19/2026
                FlinksAttributesProcessId: 7206aa18-6c89-4db7-a2ad-f69d6e8e6a72
                HttpStatusCode: 200
                Card:
                  Id: b647eb14-c185-42a6-1b91-08dec54d7ce0
                  account_age_days: 49
                  active_days_trend: 1.14
                  auto_loan_payment_frequency: NONE_DETECTED
                  average_closing_balance_day_after_employer_income: 0
                  average_closing_balance_day_after_government_income: NONE_DETECTED
                  average_closing_balance_day_after_income: 0
                  average_closing_balance_day_of_employer_income: 0
                  average_closing_balance_day_of_government_income: NONE_DETECTED
                  count_telecom_payments_current_month: 3
                  AttributesDetail:
                    - Attribute: count_loan_payments_previous_month
                      Transactions:
                        - TransactionId: e29ae272-6107-4938-90d4-0e2b7216836c
                          AccountId: 38c21b3b-ba28-4f7c-9afb-8b1a81400c12
                          Date: 2026/01/02
                          Description: "Pre - Authorized Payment , 736 6TH AVENUE RLS / LOY"
                          Debit: 5180.14
                          Balance: 5363.26
                    - Attribute: count_telecom_payments_current_month
                      Transactions:
                        - TransactionId: ddb389f6-2dcc-42e4-a3cf-22f14ef7e44a
                          AccountId: 78f84600-90f3-4404-aa16-c0b5d59e2097
                          Date: 2026/02/11
                          Description: "SENT ROGERS TOGETHER WITH SHA FOR TELEPHONE / ONLINE BANKING , INTERAC ETRNSFR ACCOUNT 031249"
                          Debit: 125.85
                          Balance: 7096.03
                        - TransactionId: a6db5674-a876-4a8c-ab61-f0c99905516b
                          AccountId: 78f84600-90f3-4404-aa16-c0b5d59e2097
                          Date: 2026/02/11
                          Description: "Transfer of Funds , ROGERS ( 11 DIGIT BANK PAY"
                          Debit: 276.5
                          Balance: 7221.88
                        - TransactionId: 823dea4d-bbea-48d3-98df-dca2d6f970c5
                          AccountId: 78f84600-90f3-4404-aa16-c0b5d59e2097
                          Date: 2026/02/11
                          Description: "Transfer of Funds , ROGERS ( 11 DIGIT BANK PAY"
                          Debit: 69.68
                          Balance: 7498.38
                  MostRecentTransactionDate: 02/19/2026
                  Country: ca
                ProcessId: f04104bf-4309-4cf0-a04e-18b1b799b2e6
                Login:
                  IsScheduledRefresh: false
                  LastRefresh: "2026-06-01T07:38:03"
                  Id: 5ce21916-1ab1-41f0-a213-6be85220c2e3
                RequestId: 140b896f-a486-4708-98eb-5a9b6c79e81a
        "202":
          description: Operation Pending
          content:
            application/json:
              schema:
                type: object
                properties:
                  FlinksCode:
                    type: string
                  HttpStatusCode:
                    type: integer
                  Message:
                    type: string
                  RequestId:
                    type: string

  /v3/{customerId}/BankingServices/Categories/{CountryCode}:
    get:
      tags:
        - Enrich
      summary: Categories
      description: The /Categories endpoint returns an up-to-date list of all categories that can be applied to your customers' transactional data in either Canada or the US.
      operationId: categories
      parameters:
        - name: customerId
          in: path
          required: true
          description: Unique GUID provided by Flinks that grants you access to the environment specified in the instance field.
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
        - name: CountryCode
          in: path
          required: true
          description: Identifies the country of the library that you wish to return. Accepted values are CA for Canada or US for the United States.
          schema:
            type: string
            default: CA
        - name: Authorization
          in: header
          description: Contains the Bearer Token (the API secret key that Flinks provides you with).
          schema:
            type: string
            default: "Bearer {API Secret}"

      responses:
        "200":
          description: Result
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    PrimaryCategoryName:
                      type: string
                    Description:
                      type: string
                    SubCategories:
                      type: array
                      items:
                        type: object
                        properties:
                          SubCategoryName:
                            type: string
                          Description:
                            type: string
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                  Message:
                    type: string
                  FlinksCode:
                    type: string

  /v3/{customerId}/attributes/library:
    get:
      tags:
        - Enrich
      summary: Library (Consumer)
      description: This endpoint will return a list of all currently available Attributes in our Attributes Library for Consumers.
      operationId: consumerLibrary
      parameters:
        - name: customerId
          in: path
          required: true
          description: Unique GUID provided by Flinks that grants you access to the environment specified in the instance field.
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
        - name: Authorization
          in: header
          description: Contains the Bearer Token (the API secret key that Flinks provides you with).
          schema:
            type: string
            default: "Bearer {API Secret}"

      responses:
        "200":
          description: Partial Attributes Library Request (Consumer)
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    Category:
                      type: string
                    Attributes:
                      type: array
                      items:
                        type: object
                        properties:
                          Name:
                            type: string
                          Description:
                            type: string
        "400":
          description: Result
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object

  /v3/{customerId}/attributes/library/business:
    get:
      tags:
        - Enrich
      summary: Library (Business)
      description: This endpoint will return a list of all currently available Attributes in our Attributes Library for Business.
      operationId: businessLibrary
      parameters:
        - name: customerId
          in: path
          required: true
          description: Unique GUID provided by Flinks that grants you access to the environment specified in the instance field.
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
        - name: Authorization
          in: header
          description: Contains the Bearer Token (the API secret key that Flinks provides you with).
          schema:
            type: string
            default: "Bearer {API Secret}"

      responses:
        "200":
          description: Partial Attributes Library Request (Business)
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    Category:
                      type: string
                    Attributes:
                      type: array
                      items:
                        type: object
                        properties:
                          Name:
                            type: string
                          Description:
                            type: string
        "400":
          description: Result
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object

  /v3/{customerId}/BankingServices/GenerateAuthorizeToken:
    post:
      tags:
        - Authorization
      summary: Generate Authorize Token
      description: Use the /GenerateAuthorizeToken endpoint to get an Authorize Token (the RequestId) that's valid for 30 minutes.
      operationId: generateAuthorizeToken
      parameters:
        - name: customerId
          in: path
          required: true
          description: Unique GUID provided by Flinks that grants you access to the environment specified in the instance field.
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
        - name: flinks-auth-key
          in: header
          required: true
          description: "Your secret key (provided by Flinks during integration setup). Used only on this endpoint to generate a one-time authorize token; on `/Authorize`, pass the generated token instead."
          schema:
            type: string
            example: "c4569c54-e167-4d34-8de6-f4113bc82414"
            default: "c4569c54-e167-4d34-8de6-f4113bc82414"
        - name: Content-Type
          in: header
          required: true
          description: Content type of the request.
          schema:
            type: string
            default: application/json
        - name: Accept
          in: header
          required: true
          description: Acceptable response media type.
          schema:
            type: string
            default: application/json
      security: []
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                  Token:
                    type: string
              example:
                HttpStatusCode: 200
                Token: "d65f1adb-8ebc-48dc-be8b-20c773ba1565"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                  Message:
                    type: string
                  FlinksCode:
                    type: string
              example:
                HttpStatusCode: 401
                Message: "You must provide a valid auth key"
                FlinksCode: "UNAUTHORIZED"

  /v3/{customerId}/BankingServices/Authorize:
    post:
      tags:
        - Authorization
      summary: Authorize

      parameters:
        - name: flinks-auth-key
          in: header
          required: true
          description: "Authorize token (one-time, 15-minute lifetime) generated by [/GenerateAuthorizeToken](./generate-authorize-token). Do not pass your secret key here. The secret key is only used when generating the token."
          schema:
            type: string
            example: "d65f1adb-8ebc-48dc-be8b-20c773ba1565"
            default: "d65f1adb-8ebc-48dc-be8b-20c773ba1565"
        - name: Content-Type
          in: header
          required: false
          description: Content type of the request.
          example: application/json
          schema:
            type: string
            default: application/json
            example: application/json
        - name: Accept
          in: header
          required: false
          description: Acceptable response media type.
          example: application/json
          schema:
            type: string
            default: application/json
            example: application/json
        - name: customerId
          in: path
          required: true
          description: Unique GUID provided by Flinks that grants you access to the environment specified in the instance field. By default, the value is the key for the toolbox environment.
          example: 43387ca6-0391-4c82-857d-70d95f087ecb
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
            example: 43387ca6-0391-4c82-857d-70d95f087ecb
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AuthorizeRequest"
      responses:
        "200":
          description: Authorization successful - Session opened and RequestId can be used for subsequent data calls
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthorizeResponse200"
        "203":
          description: Multi-Factor Authentication (MFA) required - Collect user's answers and call /Authorize again
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthorizeResponse203"
        "400":
          description: Bad Request - Invalid parameters
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
              example:
                HttpStatusCode: 400
                Message: The LoginId provided is either invalid or does not belong to the CustomerId.
                FlinksCode: INVALID_LOGIN
        "401":
          description: Unauthorized - Authentication failed
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
              examples:
                questionNotFound:
                  summary: Question not found
                  value:
                    HttpStatusCode: 401
                    Message: Question not found
                    FlinksCode: QUESTION_NOT_FOUND
                disabledLogin:
                  summary: Disabled login
                  value:
                    HttpStatusCode: 401
                    Message: Login has been disabled
                    FlinksCode: DISABLED_LOGIN

  /v3/{customerId}/insight/login/{loginId}/attributes/{requestId}/GetUserAnalysisAttributes:
    get:
      tags:
        - Enrich
      summary: Get User Analysis Attributes
      description: This endpoint will provide you with all Credit Risk use-case attributes. Please refer to our Quickstart guide for further information on the use-cases / when to use this specific endpoint.
      operationId: getUserAnalysisAttributes
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
          description: Unique GUID representing your customer ID.
        - name: loginId
          in: path
          required: true
          schema:
            type: string
          description: GUID representing end user's login ID.
        - name: requestId
          in: path
          required: true
          schema:
            type: string
          description: GUID representing an authorized request to the API.
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                    description: HTTP status code of the response.
                  Card:
                    type: object
                    description: Object containing an Id field and all the requested attributes.
                    properties:
                      Id:
                        type: string
                        description: Unique identifier for the card.
                      AttributesDetail:
                        type: array
                        description: Array of detailed attribute information including supporting transactions for each attribute.
                        items:
                          type: object
                  Login:
                    type: object
                    description: Object containing login metadata.
                    properties:
                      Username:
                        type: string
                        description: The username associated with the login.
                      IsScheduledRefresh:
                        type: boolean
                        description: Whether this is a scheduled refresh.
                      LastRefresh:
                        type: string
                        description: Timestamp of the last refresh.
                      Type:
                        type: string
                        description: Type of account.
                      Id:
                        type: string
                        description: The login ID.
                  RequestId:
                    type: string
                    description: Unique identifier for the request.
              example:
                HttpStatusCode: 200
                Card:
                  Id: 367046b0-7699-483d-94c2-08d9a3d5c70f
                  auto_loan_deposits_frequency_biz: NONE_DETECTED
                  auto_loan_deposits_trend_biz: 0
                  auto_loan_payments_frequency_biz: Monthly
                  auto_loan_payments_trend_biz: 0.94
                  average_monthly_auto_loan_payments_biz: 532.54
                  sum_auto_loan_payments_365_days_biz: 6000
                  average_monthly_operating_income_biz: 6443.79
                  sum_operating_income_365_days_biz: 72600
                  average_monthly_payroll_deposits_biz: 5485.21
                  sum_payroll_deposits_365_days_biz: 61800
                  AttributesDetail:
                  - Attribute: count_auto_loan_payments_10_months_ago_biz
                    Transactions:
                    - TransactionId: 8c0eb24f-f395-48d3-9bf2-d170a6793e57
                      AccountId: 249516f6-d40d-4d86-b064-dbb4e0a59688
                      Date: 2021/01/08
                      Description: FORD CREDIT CA APY
                      Debit: 500
                      Credit: null
                      Balance: 11550
                Login:
                  Username: multiple_employers
                  IsScheduledRefresh: false
                  LastRefresh: '2021-11-10T15:01:27.7756841'
                  Type: Personal
                  Id: 367046b0-7699-483d-94c2-08d9a3d5c70f
                RequestId: b0ad6069-b40c-4c7e-aead-91c849d0b9f1
        "202":
          description: Operation Pending
          content:
            application/json:
              schema:
                type: object
                properties:
                  FlinksCode:
                    type: string
                    description: Flinks-specific status code.
                  HttpStatusCode:
                    type: integer
                    description: HTTP status code of the response (202).
                  Message:
                    type: string
                    description: Message indicating the operation is still processing.
                  RequestId:
                    type: string
                    description: Unique identifier for the request.
              example:
                FlinksCode: "OPERATION_PENDING"
                HttpStatusCode: 202
                Message: "Your operation is still processing"
                RequestId: "e39262e3-c1ea-4d19-a331-f141dfdd29fd"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Message:
                    type: string
                    description: Error message indicating the customer ID is not authorized for the login ID.
              example:
                Message: "Given customer id is not authorized for the login id"

  /v3/{customerId}/insight/login/{loginId}/attributes/{requestId}/GetAllAttributes:
    get:
      tags:
        - Enrich
      summary: Get All Attributes
      description: Use the /GetAllAttributes endpoint to return a list of all customer attributes (only available to Flinks clients who take a Tier 2 or above package).
      operationId: getAllAttributes
      parameters:
        - name: x-api-key
          in: header
          schema:
            type: string
          description: Security feature that grants access to this endpoint.
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
          description: Unique GUID provided by Flinks that grants you access to the environment specified in the instance field.
        - name: loginId
          in: path
          required: true
          schema:
            type: string
          description: GUID representing end user's login ID.
        - name: requestId
          in: path
          required: true
          schema:
            type: string
          description: GUID representing an authorized request to the API.
      responses:
        "200":
          description: Success
          content:
            application/json:
              example:
                HttpStatusCode: 200
                Card:
                  Id: 1987302e-498c-48d6-a0c3-3e6061c78235
                  active_days_trend: 1.25
                  active_days_trend_simple: INCREASING
                  average_monthly_active_days: 11.18
                  count_active_days: 129
                  count_active_days_30_days: 14
                  credit_activity_trend_simple: DECREASING
                  debit_activity_trend_simple: DECREASING
                  overall_activity_trend_simple: DECREASING
                  unusual_recent_activity: 0.71
                  unusual_recent_credit_activity: 0.68
                  unusual_recent_debit_activity: 0.73
                  account_age: 11
                  account_age_90_days: 90
                  account_age_days: 346
                  average_monthly_free_cash_flow: 334.96
                  auto_loan_payment_average: 0.0
                  auto_loan_payment_frequency: NONE_DETECTED
                  auto_loan_trend: 0.0
                  auto_loan_trend_simple: NONE_DETECTED
                  average_monthly_auto_loan_payments: 0.0
                  average_monthly_auto_loan_payments_complex: 0.0
                  count_auto_loan_payments_10_months_ago: 0
                  count_auto_loan_payments_11_months_ago: 0
                  count_auto_loan_payments_12_months_ago: 0
                  count_auto_loan_payments_180_days: 0
                  count_auto_loan_payments_2_months_ago: 0
                  count_auto_loan_payments_30_days: 0
                  count_auto_loan_payments_365_days: 0
                  count_auto_loan_payments_3_months_ago: 0
                  count_auto_loan_payments_4_months_ago: 0
                  count_auto_loan_payments_5_months_ago: 0
                  count_auto_loan_payments_60_days: 0
                  count_auto_loan_payments_6_months_ago: 0
                  count_auto_loan_payments_7_months_ago: 0
                  count_auto_loan_payments_8_months_ago: 0
                  count_auto_loan_payments_90_days: 0
                  count_auto_loan_payments_9_months_ago: 0
                  count_auto_loan_payments_current_month: 0
                  count_auto_loan_payments_previous_month: 0
                  last_2_auto_loan_payments_dates: NONE_DETECTED
                  sum_auto_loan_payments: 0.0
                  sum_auto_loan_payments_10_months_ago: 0.0
                  sum_auto_loan_payments_11_months_ago: 0.0
                  sum_auto_loan_payments_12_months_ago: 0.0
                  sum_auto_loan_payments_180_days: 0.0
                  sum_auto_loan_payments_2_months_ago: 0.0
                  sum_auto_loan_payments_30_days: 0.0
                  sum_auto_loan_payments_365_days: 0.0
                  sum_auto_loan_payments_3_months_ago: 0.0
                  sum_auto_loan_payments_4_months_ago: 0.0
                  sum_auto_loan_payments_5_months_ago: 0.0
                  sum_auto_loan_payments_60_days: 0.0
                  sum_auto_loan_payments_6_months_ago: 0.0
                  sum_auto_loan_payments_7_months_ago: 0.0
                  sum_auto_loan_payments_8_months_ago: 0.0
                  sum_auto_loan_payments_90_days: 0.0
                  sum_auto_loan_payments_9_months_ago: 0.0
                  sum_auto_loan_payments_current_month: 0.0
                  sum_auto_loan_payments_previous_month: 0.0
                  average_closing_balance_2_days_after_employer_a_income: 2103.74
                  average_closing_balance_2_days_after_employer_b_income: NONE_DETECTED
                  average_closing_balance_2_days_after_employer_income: 1979.94
                  average_closing_balance_2_days_after_employer_other_income: NONE_DETECTED
                  average_closing_balance_2_days_after_government_income: 2517.18
                  average_closing_balance_2_days_after_last_4_employer_income: 8602.38
                  average_closing_balance_2_days_after_last_4_government_income: NOT_ENOUGH_DATA
                  average_closing_balance_day_after_employer_a_income: 2940.43
                  average_closing_balance_day_after_employer_b_income: NONE_DETECTED
                  average_closing_balance_day_after_employer_income: 2019.47
                  average_closing_balance_day_after_employer_other_income: NONE_DETECTED
                  average_closing_balance_day_after_government_income: 2517.18
                  average_closing_balance_day_after_income: 3106.06
                  average_closing_balance_day_after_last_4_employer_a_income: 2537.26
                  average_closing_balance_day_after_last_4_employer_b_income: NOT_ENOUGH_DATA
                  average_closing_balance_day_after_last_4_employer_income: 8602.38
                  average_closing_balance_day_after_last_4_employer_other_income: NOT_ENOUGH_DATA
                  average_closing_balance_day_after_last_4_government_income: NOT_ENOUGH_DATA
                  average_closing_balance_day_after_last_6_employer_a_income: 2736.36
                  average_closing_balance_day_after_last_6_employer_b_income: NOT_ENOUGH_DATA
                  average_closing_balance_day_after_last_6_employer_other_income: NOT_ENOUGH_DATA
                  average_closing_balance_day_after_last_6_government_income: NOT_ENOUGH_DATA
                  average_closing_balance_day_of_employer_a_income: 2833.1
                  average_closing_balance_day_of_employer_b_income: NONE_DETECTED
                  average_closing_balance_day_of_employer_income: 2122.05
                  average_closing_balance_day_of_employer_other_income: NONE_DETECTED
                  average_closing_balance_day_of_government_income: 2760.58
                  average_closing_balance_day_of_income: 3137.15
                  average_closing_balance_day_of_last_4_employer_a_income: 2361.21
                  average_closing_balance_day_of_last_4_employer_b_income: NOT_ENOUGH_DATA
                  average_closing_balance_day_of_last_4_employer_income: 8609.88
                  average_closing_balance_day_of_last_4_employer_other_income: NOT_ENOUGH_DATA
                  average_closing_balance_day_of_last_4_government_income: NOT_ENOUGH_DATA
                  average_closing_balance_day_of_last_6_employer_a_income: 2518.64
                  average_closing_balance_day_of_last_6_employer_b_income: NOT_ENOUGH_DATA
                  average_closing_balance_day_of_last_6_employer_other_income: NOT_ENOUGH_DATA
                  average_closing_balance_day_of_last_6_government_income: NOT_ENOUGH_DATA
                  balance_90_days_ago: 507.81
                  balance_current: 3880.28
                  balance_max: 38780.97
                  balance_min: 105.16
                  balance_trend: 1.51
                  balance_trend_simple: INCREASING
                  closing_balance_2_days_after_last_employer_a_deposit: 6717.76
                  closing_balance_2_days_after_last_employer_b_deposit: LAST_DEPOSIT_TOO_RECENT_TO_CALCULATE
                  closing_balance_2_days_after_last_employer_income_deposit: 6717.76
                  closing_balance_2_days_after_last_employer_other_deposit: LAST_DEPOSIT_TOO_RECENT_TO_CALCULATE
                  closing_balance_2_days_after_last_government_income_deposit: 2786.27
                  closing_balance_day_after_last_employer_a_deposit: 6717.76
                  closing_balance_day_after_last_employer_b_deposit: LAST_DEPOSIT_TOO_RECENT_TO_CALCULATE
                  closing_balance_day_after_last_employer_income_deposit: 6717.76
                  closing_balance_day_after_last_employer_other_deposit: LAST_DEPOSIT_TOO_RECENT_TO_CALCULATE
                  closing_balance_day_after_last_government_income_deposit: 2786.27
                  closing_balance_day_after_penultimate_employer_a_income: 1572.59
                  closing_balance_day_after_penultimate_employer_b_income: NONE_DETECTED
                  closing_balance_day_after_penultimate_employer_other_income: NONE_DETECTED
                  closing_balance_day_after_penultimate_government_income: 2248.09
                  closing_balance_day_of_last_employer_a_deposit: 6717.76
                  closing_balance_day_of_last_employer_b_deposit: LAST_DEPOSIT_TOO_RECENT_TO_CALCULATE
                  closing_balance_day_of_last_employer_income_deposit: 6717.76
                  closing_balance_day_of_last_employer_other_deposit: LAST_DEPOSIT_TOO_RECENT_TO_CALCULATE
                  closing_balance_day_of_last_government_income_deposit: 3273.07
                  closing_balance_day_of_penultimate_employer_a_income: 2072.59
                  closing_balance_day_of_penultimate_employer_b_income: NONE_DETECTED
                  closing_balance_day_of_penultimate_employer_other_income: NONE_DETECTED
                  closing_balance_day_of_penultimate_government_income: 2248.09
                  count_days_negative_balance_90_days: 0
                  average_closing_balance_day_of_last_6_employment_insurance_income: NOT_ENOUGH_DATA
                  average_closing_balance_day_after_last_6_employment_insurance_income: NOT_ENOUGH_DATA
                  average_closing_balance_day_of_last_4_employment_insurance_income: NOT_ENOUGH_DATA
                  average_closing_balance_day_after_last_4_employment_insurance_income: NOT_ENOUGH_DATA
                  closing_balance_day_of_last_employment_insurance_income: NONE_DETECTED
                  closing_balance_day_after_last_employment_insurance_income: NONE_DETECTED
                  closing_balance_day_after_penultimate_employment_insurance_income: LAST_DEPOSIT_TOO_RECENT_TO_CALCULATE
                  minimum_negative_balance_no_nsf_last_90_days: NO_NEGATIVE_BALANCE_DETECTED
                  average_daily_balance_last_30_days: 2393.23
                  average_daily_balance: 1587.42
                  average_monthly_bank_fees: 9.27
                  average_monthly_bank_fees_complex: 9.6
                  bank_fees_average: 7.64
                  bank_fees_frequency: Monthly
                  bank_fees_trend: 0.43
                  bank_fees_trend_simple: DECREASING
                  count_bank_fees_10_months_ago: 1
                  count_bank_fees_11_months_ago: 1
                  count_bank_fees_12_months_ago: 0
                  count_bank_fees_180_days: 9
                  count_bank_fees_2_months_ago: 2
                  count_bank_fees_30_days: 1
                  count_bank_fees_365_days: 14
                  count_bank_fees_3_months_ago: 1
                  count_bank_fees_4_months_ago: 2
                  count_bank_fees_5_months_ago: 2
                  count_bank_fees_60_days: 3
                  count_bank_fees_6_months_ago: 1
                  count_bank_fees_7_months_ago: 1
                  AttributesDetail:
                  - Attribute: average_closing_balance_2_days_after_last_4_government_income
                    Transactions:
                    - TransactionId: 2e9e3ea2-c918-4302-8dc1-738672c4e177
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-04-09'
                      Description: 3903214 CANADA
                      Credit: 2200.48
                      Balance: 3773.07
                    - TransactionId: d8d668eb-77ba-4b60-8e1a-375ba0e669cc
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-03-26'
                      Description: 3903214 CANADA
                      Credit: 1702.11
                      Balance: 3348.09
                  - Attribute: average_closing_balance_day_after_last_4_government_income
                    Transactions:
                    - TransactionId: 2e9e3ea2-c918-4302-8dc1-738672c4e177
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-04-09'
                      Description: 3903214 CANADA
                      Credit: 2200.48
                      Balance: 3773.07
                    - TransactionId: d8d668eb-77ba-4b60-8e1a-375ba0e669cc
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-03-26'
                      Description: 3903214 CANADA
                      Credit: 1702.11
                      Balance: 3348.09
                  - Attribute: average_closing_balance_day_after_last_6_government_income
                    Transactions:
                    - TransactionId: 2e9e3ea2-c918-4302-8dc1-738672c4e177
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-04-09'
                      Description: 3903214 CANADA
                      Credit: 2200.48
                      Balance: 3773.07
                    - TransactionId: d8d668eb-77ba-4b60-8e1a-375ba0e669cc
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-03-26'
                      Description: 3903214 CANADA
                      Credit: 1702.11
                      Balance: 3348.09
                Login:
                  Username: multiple_employers
                  IsScheduledRefresh: false
                  LastRefresh: '2021-11-10T15:01:27.7756841'
                  Type: Personal
                  Id: 367046b0-7699-483d-94c2-08d9a3d5c70f
                RequestId: b0ad6069-b40c-4c7e-aead-91c849d0b9f1
              schema:
                type: object
                properties:
                  Card:
                    type: object
                    description: "Object containing an id field (end user's LoginId) and all the requested attributes (name: value)."
                  Login:
                    type: object
                    description: Object representing some end user's technical information such as the LoginId.
                  RequestId:
                    type: string
                    description: GUID representing an authorized request to the API.
                  AttributesDetails:
                    type: object
                    description: Object containing the fields for attribute details.
        "202":
          description: Operation Pending
          content:
            application/json:
              schema:
                type: object
                properties:
                  FlinksCode:
                    type: string
                  HttpStatusCode:
                    type: integer
                  Message:
                    type: string
                  RequestId:
                    type: string
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Message:
                    type: string

  /v3/{customerId}/insight/login/{loginId}/attributes/{requestId}/GetAllBusinessAttributes:
    get:
      tags:
        - Enrich
      summary: Get All Business Attributes
      description: This endpoint will provide you with all the currently available Business Attributes.
      operationId: getAllBusinessAttributes
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
          description: Unique GUID provided by Flinks that grants you access to the environment.
        - name: loginId
          in: path
          required: true
          schema:
            type: string
          description: GUID representing end user's login ID.
        - name: requestId
          in: path
          required: true
          schema:
            type: string
          description: GUID representing an authorized request to the API.
      responses:
        "200":
          description: Result
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                  Card:
                    type: object
                    description: "Object containing an Id field (end user's loginId) and all the available business attributes (name: value pairs)."
                  Login:
                    type: object
                    description: Object representing end user's technical information.
                  RequestId:
                    type: string
                    description: GUID representing an authorized request to the API.
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                  Message:
                    type: string
                  FlinksCode:
                    type: string
        "401":
          description: Unauthorized

  /v3/{customerId}/insight/login/{loginId}/attributes/{requestId}/GetBusinessAnalysisAttributes:
    get:
      tags:
        - Enrich
      summary: Get Business Analysis Attributes
      description: This endpoint will provide you with all Business Analysis Use-Case Attributes.
      operationId: getBusinessAnalysisAttributes
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
          description: Unique GUID provided by Flinks that grants you access to the environment.
        - name: loginId
          in: path
          required: true
          schema:
            type: string
          description: GUID representing end user's login ID.
        - name: requestId
          in: path
          required: true
          schema:
            type: string
          description: GUID representing an authorized request to the API.
      responses:
        "200":
          description: Result
          content:
            application/json:
              schema:
                type: object
                properties:
                  Card:
                    type: object
                    description: "Object containing an Id field (end user's loginId) and all the requested business analysis attributes (name: value pairs)."
                  Login:
                    type: object
                    description: Object representing end user's technical information.
                  RequestId:
                    type: string
                    description: GUID representing an authorized request to the API.
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                  Message:
                    type: string
                  FlinksCode:
                    type: string
        "401":
          description: Unauthorized

  /v3/{customerId}/prepayment/login/{LoginId}/{RequestId}:
    post:
      tags:
        - Enrich
      summary: Prepayment
      description: Use this endpoint to submit additional information on a given end-user and retrieve Payment Optimization insights.
      operationId: prepayment
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
          description: Key that grants access to the environment specified in the instance field.
        - name: LoginId
          in: path
          required: true
          schema:
            type: string
          description: GUID representing end user's login ID.
        - name: RequestId
          in: path
          required: true
          schema:
            type: string
          description: GUID representing an authorized request to the API.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                LoanFrequency:
                  type: string
                  description: Input that defines the frequency to be used in calculating the optimal days of payment.
                  enum: [Weekly, BiWeekly, BiMonthly, Monthly]
                ExpectedRepaymentTotal:
                  type: string
                  description: Submitted value that represents the entire amount that will be repaid back at the end of the given duration/term.
                FundingDate:
                  type: string
                  description: The date that a funding event is expected to occur. Format should be in YYYY-MM-DD.
                Duration:
                  type: string
                  description: An integer corresponding with how many payments are expected to take place.
              example:
                LoanFrequency: Monthly
      responses:
        "200":
          description: Successful Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  UserInformation:
                    type: object
                    description: Object containing user details.
                  AccountsInformation:
                    type: array
                    items:
                      type: object
                    description: Array of account objects containing payment optimization details.
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    description: Error object returned when the request is invalid.

  /v3/{customerId}/categorization/login/{loginId}/requestid/{requestId}:
    get:
      tags:
        - Enrich
      summary: Get Categorization
      description: Returns categorized transactional data. This data is aggregated by Flinks through the /GetAccountsDetail endpoint.
      operationId: getCategorization
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
          description: Unique GUID provided by Flinks that grants you access to the environment.
        - name: loginId
          in: path
          required: true
          schema:
            type: string
          description: A unique identifier that represents the login information for the customer.
        - name: requestId
          in: path
          required: true
          schema:
            type: string
          description: A unique identifier that represents a successful call to the /Authorize endpoint.
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                    description: HTTP status code of the response.
                  LoginId:
                    type: string
                    description: Unique identifier for the end user's login.
                  RequestId:
                    type: string
                    description: GUID representing an authorized request to the API.
                  Transactions:
                    type: array
                    description: Array of categorized transaction records.
                    items:
                      type: object
                      properties:
                        Id:
                          type: string
                          description: Unique identifier for the transaction.
                        AccountId:
                          type: string
                          description: Unique identifier for the account the transaction belongs to.
                        Date:
                          type: string
                          format: date
                          description: Date of the transaction (YYYY-MM-DD).
                        Description:
                          type: string
                          description: Raw description of the transaction as reported by the financial institution.
                        Code:
                          type: string
                          nullable: true
                          description: Transaction code from the financial institution, if available.
                        Debit:
                          type: number
                          nullable: true
                          description: Debit amount (money out).
                        Credit:
                          type: number
                          nullable: true
                          description: Credit amount (money in).
                        Balance:
                          type: number
                          description: Account balance after the transaction.
                        CategoryId:
                          type: string
                          description: Unique identifier for the assigned category.
                        Category:
                          type: string
                          description: Primary category name (e.g., "Income", "Transfers", "Bills & Utilities").
                        SubCategory:
                          type: string
                          description: Sub-category name within the primary category (e.g., "Payroll", "Telecom").
                        Type:
                          type: string
                          description: Type of transaction (e.g., "Debit", "Credit", "Transfer").
                        IsRecurring:
                          type: boolean
                          description: Indicates whether the transaction is part of a recurring series.
                        Merchant:
                          type: string
                          nullable: true
                          description: Merchant name extracted from the transaction description, when identifiable.
              example:
                HttpStatusCode: 200
                LoginId: a1b2c3d4-5e6f-7890-abcd-ef1234567890
                RequestId: f9e8d7c6-b5a4-3210-9876-543210fedcba
                Transactions:
                  - TransactionId: da4cb17a-2798-4eb0-a40a-69d3d1e1ae70
                    AccountId: 74141696-a808-4e6d-93b6-b758cdd749e7
                    Description: Point of Sale - Visa Debit VISA Debit RETAIL PURCHASE ATLANTIC LOTTER 215020217028
                    Category: Entertainment
                    SubCategory: Gambling
                    Balance: 2793.61
                    Debit: 10
                    Date: '2022-05-31'
                  - TransactionId: fafc01e8-1971-4ba3-b7a4-2105c326ef69
                    AccountId: 74141696-a808-4e6d-93b6-b758cdd749e7
                    Description: Point of Sale - INTERAC RETAIL PURCHASE 215015119851 SP CURLYS SPORT
                    Category: Food and Dining
                    SubCategory: Restaurants
                    Balance: 2803.61
                    Debit: 9.18
                    Date: '2022-05-30'
                  - TransactionId: 25176d2e-5f15-4d83-a104-d3d38652bf8a
                    AccountId: 74141696-a808-4e6d-93b6-b758cdd749e7
                    Description: Point of Sale - INTERAC MDSE RETURN 000001001663 KENT AMHERST
                    Category: Transfers and Adjustments
                    SubCategory: Balance Adjustment
                    Balance: 2812.79
                    credit: 268.03
                    Date: '2022-05-30'
                  - TransactionId: ffb757ef-7faf-441a-86f2-a799c9338e06
                    AccountId: 74141696-a808-4e6d-93b6-b758cdd749e7
                    Description: Point of Sale - INTERAC RETAIL PURCHASE 214912259678 PITA PIT
                    Category: Food and Dining
                    SubCategory: Fast Food
                    Balance: 2544.76
                    Debit: 34.24
                    Date: '2022-05-30'
                  - TransactionId: c3f3158b-909c-4969-b2e6-0d8e3139b4ce
                    AccountId: 74141696-a808-4e6d-93b6-b758cdd749e7
                    Description: Point of Sale - INTERAC RETAIL PURCHASE 000001034052 CIRCLE K / IRVI
                    Category: Goods and Merchandise
                    SubCategory: General Merchandise
                    Balance: 2579
                    Debit: 5.3
                    Date: '2022-05-30'
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                  Message:
                    type: string
                  FlinksCode:
                    type: string

  /v3/{customerId}/insight/login/{loginId}/attributes/{requestId}/GetCreditRiskAttributes:
    get:
      tags:
        - Enrich
      summary: Get Credit Risk Attributes
      description: This endpoint will provide you with all Credit Risk Use-Case Attributes.
      operationId: getCreditRiskAttributes
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
          description: Unique GUID representing your customer ID.
        - name: loginId
          in: path
          required: true
          schema:
            type: string
          description: GUID representing end user's login ID.
        - name: requestId
          in: path
          required: true
          schema:
            type: string
          description: GUID representing an authorized request to the API.
      responses:
        "200":
          description: Result
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                    description: HTTP status code of the response.
                  Card:
                    type: object
                    description: Object containing an Id field, all requested credit risk attributes, and an AttributesDetail array with supporting transactions.
                    properties:
                      Id:
                        type: string
                        description: Unique identifier for the card.
                      AttributesDetail:
                        type: array
                        description: Array of detailed attribute information including supporting transactions for each attribute.
                        items:
                          type: object
                  Login:
                    type: object
                    description: Object representing end user's technical information.
                  RequestId:
                    type: string
                    description: GUID representing an authorized request to the API.
              example:
                HttpStatusCode: 200
                Card:
                  Id: 367046b0-7699-483d-94c2-08d9a3d5c70f
                  average_monthly_free_cash_flow: 334.96
                  balance_trend_simple: INCREASING
                  employer_name: Unknown
                  employer_income_trend_simple: NONE_DETECTED
                  sum_total_credits_current_month: 4525.47
                  sum_total_credits_previous_month: 16388.11
                  sum_total_credits_2_months_ago: 41461.75
                  sum_total_credits_3_months_ago: 4517.42
                  sum_total_credits_4_months_ago: 7256.69
                  sum_total_credits_5_months_ago: 4227.87
                  sum_total_credits_6_months_ago: 4475.84
                  sum_total_credits_7_months_ago: 4447.21
                  sum_total_credits_8_months_ago: 3700.8
                  sum_total_credits_9_months_ago: 6222.78
                  sum_total_credits_10_months_ago: 3776.11
                  sum_total_credits_11_months_ago: 3950.19
                  sum_total_credits_12_months_ago: 0.0
                  average_monthly_employer_income_complex: 4665.78
                  average_monthly_government_income_complex: 3902.59
                  average_monthly_non_employer_income_complex: 2998.26
                  total_deposits_trend_simple: DECREASING
                  average_monthly_loan_payments_complex: 190.5
                  average_monthly_auto_loan_payments_complex: 0.0
                  average_monthly_mortgage_payments_complex: 190.5
                  average_monthly_micro_loan_payments_complex: 0.0
                  average_monthly_student_loan_payments_complex: 0.0
                  average_monthly_other_loan_payments_complex: 0.0
                  average_monthly_utility_payments_complex: 0.0
                  average_monthly_telecom_payments_complex: 1159.67
                  micro_lender_name: NONE_DETECTED
                  sum_loan_payments: 2391.78
                  average_monthly_debit: 8764.77
                  count_nsf_90_days: 1
                  count_reversed_payments_because_of_nsf_90_days: 0
                  count_stop_payment_90_days: 0
                  count_days_negative_balance_90_days: 0
                  balance_min: 105.16
                  account_age_days: 346
                  sum_employer_income_current_month: 0.0
                  sum_employer_income_previous_month: 4276.0
                  sum_employer_income_2_months_ago: 4197.6
                  sum_employer_income_3_months_ago: 4517.42
                  sum_employer_income_4_months_ago: 7096.69
                  sum_employer_income_5_months_ago: 4227.87
                  sum_employer_income_6_months_ago: 4475.84
                  sum_employer_income_7_months_ago: 4434.58
                  sum_employer_income_8_months_ago: 3700.8
                  sum_employer_income_9_months_ago: 5954.9
                  sum_employer_income_10_months_ago: 3776.11
                  sum_employer_income_11_months_ago: 3950.19
                  sum_employer_income_12_months_ago: 0.0
                  count_employer_income_current_month: 0
                  count_employer_income_previous_month: 2
                  count_employer_income_2_months_ago: 2
                  count_employer_income_3_months_ago: 2
                  count_employer_income_4_months_ago: 3
                  count_employer_income_5_months_ago: 2
                  count_employer_income_6_months_ago: 2
                  count_employer_income_7_months_ago: 2
                  count_employer_income_8_months_ago: 2
                  count_employer_income_9_months_ago: 3
                  count_employer_income_10_months_ago: 2
                  count_employer_income_11_months_ago: 2
                  count_employer_income_12_months_ago: 0
                  sum_employer_income: 50608.0
                  AttributesDetail:
                  - Attribute: sum_total_credits_current_month
                    Transactions:
                    - TransactionId: 2e3cb553-a27e-4208-bf8b-1ab4ccd7eb3e
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-04-15'
                      Description: INTERAC e-Transfer
                      Credit: 1300.0
                      Balance: 4080.28
                    - TransactionId: 2e9e3ea2-c918-4302-8dc1-738672c4e177
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-04-09'
                      Description: 3903214 CANADA
                      Credit: 2200.48
                      Balance: 3773.07
                    - TransactionId: b6ad031b-79f8-40af-be6d-70464b30bf50
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-04-07'
                      Description: Mobile deposit
                      Credit: 1024.99
                      Balance: 2072.59
                  - Attribute: sum_total_credits_previous_month
                    Transactions:
                    - TransactionId: d8d668eb-77ba-4b60-8e1a-375ba0e669cc
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-03-26'
                      Description: 3903214 CANADA
                      Credit: 1702.11
                      Balance: 3348.09
                    - TransactionId: 72cfe1e6-e14a-46f4-9325-ac34f2522d61
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-03-25'
                      Description: INTERAC e-Transfer service
                      Credit: 0.0
                      Balance: 1649.93
                    - TransactionId: 7b6ef27d-3b87-49bf-b3b6-a25c1febd337
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-03-25'
                      Description: Debit card puchase fees
                      Credit: 0.0
                      Balance: 1649.93
                    - TransactionId: 35ddd4ae-f970-49fe-b644-6b41b364396b
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-03-25'
                      Description: Monthly transaction fees
                      Credit: 0.0
                      Balance: 1649.93
                    - TransactionId: 357e0a70-aa19-4c67-8c9a-ff0cf19702f0
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-03-18'
                      Description: Transfer between accounts
                      Credit: 9000.0
                      Balance: 15717.76
                    - TransactionId: bbab0598-5bbe-4603-8cae-942a2095a0b8
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-03-12'
                      Description: Paie/Payroll
                      Credit: 2192.54
                      Balance: 7493.61
                    - TransactionId: 2fff2d1a-0845-405e-a619-12794c78ad27
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-03-12'
                      Description: Paie/Payroll
                      Credit: 2083.46
                      Balance: 5301.07
                    - TransactionId: d4c7f0e0-50b2-4634-a31c-f2b6e1169039
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-03-11'
                      Description: INTERAC e-Transfer
                      Credit: 1310.0
                      Balance: 3217.61
                    - TransactionId: d52d0c07-1604-421c-844c-1394e317a553
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-03-09'
                      Description: INTERAC e-Transfer
                      Credit: 100.0
                      Balance: 2083.26
                  - Attribute: sum_total_credits_2_months_ago
                    Transactions:
                    - TransactionId: 013a8ce8-9645-4278-bd65-32c72471b16b
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-02-26'
                      Description: Paie/Payroll
                      Credit: 1920.99
                      Balance: 11908.26
                    - TransactionId: 7ee4d267-e7f0-4a8d-a403-c6d4c0397cbe
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-02-25'
                      Description: INTERAC e-Transfer service
                      Credit: 0.0
                      Balance: 10001.22
                    - TransactionId: 37f4a85e-3333-4566-a45d-8549680f74be
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-02-25'
                      Description: Debit card puchase fees
                      Credit: 0.0
                      Balance: 10001.22
                    - TransactionId: d1341b58-404e-497b-9e9a-9f0c3138dd5f
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-02-25'
                      Description: Monthly transaction fees
                      Credit: 0.0
                      Balance: 10001.22
                    - TransactionId: 455a371c-647a-4c0f-9d43-183924da9f52
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-02-25'
                      Description: Eft debit reversal
                      Credit: 264.15
                      Balance: 10001.22
                    - TransactionId: 98929e5a-dd96-4033-b54a-3534f0d69f4b
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-02-23'
                      Description: INTERAC e-Transfer
                      Credit: 2000.0
                      Balance: 38780.97
                    - TransactionId: ec5d5d7d-ff93-4b0d-b9f0-d83dd78e0e75
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-02-23'
                      Description: Mobile deposit
                      Credit: 28000.0
                      Balance: 36780.97
                    - TransactionId: ceaaeb12-15bc-47bd-a814-874be5d728c8
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-02-12'
                      Description: Paie/Payroll
                      Credit: 2276.61
                      Balance: 9395.76
                    - TransactionId: 60fd7d37-0896-4e5d-b4c9-5723ba2a65c3
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-02-04'
                      Description: Cashback
                      Credit: 7000.0
                      Balance: 8123.28
                Login:
                  Username: multiple_employers
                  IsScheduledRefresh: false
                  LastRefresh: '2021-11-10T15:01:27.7756841'
                  Type: Personal
                  Id: 367046b0-7699-483d-94c2-08d9a3d5c70f
                RequestId: b0ad6069-b40c-4c7e-aead-91c849d0b9f1
        "202":
          description: Operation Pending
          content:
            application/json:
              schema:
                type: object
                properties:
                  FlinksCode:
                    type: string
                  HttpStatusCode:
                    type: integer
                  Message:
                    type: string
                  RequestId:
                    type: string
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Message:
                    type: string

  /v3/{customerId}/insight/login/{loginId}/attributes/{requestId}/GetIncomeAttributes:
    get:
      tags:
        - Enrich
      summary: Get Income Attributes
      description: This endpoint will provide you with all Income use-case Attributes.
      operationId: getIncomeAttributes
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
          description: Unique GUID provided by Flinks that grants you access to the environment.
        - name: loginId
          in: path
          required: true
          schema:
            type: string
          description: GUID representing end user's login ID.
        - name: requestId
          in: path
          required: true
          schema:
            type: string
          description: GUID representing an authorized request to the API.
      responses:
        "200":
          description: Result
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                    description: HTTP status code of the response.
                  Card:
                    type: object
                    description: Object containing an Id field, all requested income attributes, and an AttributesDetail array with supporting transactions.
                    properties:
                      Id:
                        type: string
                        description: Unique identifier for the card.
                      AttributesDetail:
                        type: array
                        description: Array of detailed attribute information including supporting transactions for each attribute.
                        items:
                          type: object
                  Login:
                    type: object
                    description: Object representing end user's technical information.
                  RequestId:
                    type: string
                    description: GUID representing an authorized request to the API.
              example:
                HttpStatusCode: 200
                Card:
                  Id: 367046b0-7699-483d-94c2-08d9a3d5c70f
                  average_monthly_free_cash_flow: 334.96
                  account_age_days: 346
                  employer_name: Unknown
                  average_monthly_employer_income_complex: 4665.78
                  average_monthly_non_employer_income_complex: 2998.26
                  average_monthly_government_income_complex: 3902.59
                  employer_income_trend_simple: NONE_DETECTED
                  total_deposits_trend_simple: DECREASING
                  sum_employer_income_current_month: 0.0
                  sum_employer_income_previous_month: 4276.0
                  sum_employer_income_2_months_ago: 4197.6
                  sum_employer_income_3_months_ago: 4517.42
                  sum_employer_income_4_months_ago: 7096.69
                  sum_employer_income_5_months_ago: 4227.87
                  sum_employer_income_6_months_ago: 4475.84
                  sum_employer_income_7_months_ago: 4434.58
                  sum_employer_income_8_months_ago: 3700.8
                  sum_employer_income_9_months_ago: 5954.9
                  sum_employer_income_10_months_ago: 3776.11
                  sum_employer_income_11_months_ago: 3950.19
                  sum_employer_income_12_months_ago: 0.0
                  count_employer_income_current_month: 0
                  count_employer_income_previous_month: 2
                  count_employer_income_2_months_ago: 2
                  count_employer_income_3_months_ago: 2
                  count_employer_income_4_months_ago: 3
                  count_employer_income_5_months_ago: 2
                  count_employer_income_6_months_ago: 2
                  count_employer_income_7_months_ago: 2
                  count_employer_income_8_months_ago: 2
                  count_employer_income_9_months_ago: 3
                  count_employer_income_10_months_ago: 2
                  count_employer_income_11_months_ago: 2
                  count_employer_income_12_months_ago: 0
                  sum_employer_income: 50608.0
                  sum_government_income_90_days: 3902.59
                  sum_government_income_current_month: 2200.48
                  sum_government_income_previous_month: 1702.11
                  sum_government_income_2_months_ago: 0.0
                  sum_government_income_3_months_ago: 0.0
                  sum_government_income_4_months_ago: 0.0
                  sum_government_income_5_months_ago: 0.0
                  sum_government_income_6_months_ago: 0.0
                  sum_government_income_7_months_ago: 0.0
                  sum_government_income_8_months_ago: 0.0
                  sum_government_income_9_months_ago: 0.0
                  sum_government_income_10_months_ago: 0.0
                  sum_government_income_11_months_ago: 0.0
                  sum_government_income_12_months_ago: 0.0
                  count_government_income_current_month: 1
                  count_government_income_previous_month: 1
                  count_government_income_2_months_ago: 0
                  count_government_income_3_months_ago: 0
                  count_government_income_4_months_ago: 0
                  count_government_income_5_months_ago: 0
                  count_government_income_6_months_ago: 0
                  count_government_income_7_months_ago: 0
                  count_government_income_8_months_ago: 0
                  count_government_income_9_months_ago: 0
                  count_government_income_10_months_ago: 0
                  count_government_income_11_months_ago: 0
                  count_government_income_12_months_ago: 0
                  sum_employment_insurance_income_90_days: 0.0
                  sum_social_assistance_income_90_days: 0.0
                  sum_wsib_income_90_days: 0.0
                  sum_pension_income_90_days: 0.0
                  sum_child_support_income_government_90_days: 3902.59
                  sum_other_income_90_days: 0.0
                  sum_total_credits_current_month: 4525.47
                  sum_total_credits_previous_month: 16388.11
                  sum_total_credits_2_months_ago: 41461.75
                  sum_total_credits_3_months_ago: 4517.42
                  sum_total_credits_4_months_ago: 7256.69
                  sum_total_credits_5_months_ago: 4227.87
                  sum_total_credits_6_months_ago: 4475.84
                  sum_total_credits_7_months_ago: 4447.21
                  sum_total_credits_8_months_ago: 3700.8
                  sum_total_credits_9_months_ago: 6222.78
                  sum_total_credits_10_months_ago: 3776.11
                  sum_total_credits_11_months_ago: 3950.19
                  sum_total_credits_12_months_ago: 0.0
                  AttributesDetail:
                  - Attribute: sum_employer_income
                    Transactions:
                    - TransactionId: bbab0598-5bbe-4603-8cae-942a2095a0b8
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-03-12'
                      Description: Paie/Payroll
                      Credit: 2192.54
                      Balance: 7493.61
                    - TransactionId: 2fff2d1a-0845-405e-a619-12794c78ad27
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-03-12'
                      Description: Paie/Payroll
                      Credit: 2083.46
                      Balance: 5301.07
                    - TransactionId: 013a8ce8-9645-4278-bd65-32c72471b16b
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-02-26'
                      Description: Paie/Payroll
                      Credit: 1920.99
                      Balance: 11908.26
                Login:
                  Username: multiple_employers
                  IsScheduledRefresh: false
                  LastRefresh: '2026-04-16T09:23:14.5821093'
                  Type: Personal
                  Id: 367046b0-7699-483d-94c2-08d9a3d5c70f
                RequestId: b0ad6069-b40c-4c7e-aead-91c849d0b9f1
        "202":
          description: Operation Pending
          content:
            application/json:
              schema:
                type: object
                properties:
                  FlinksCode:
                    type: string
                  HttpStatusCode:
                    type: integer
                  Message:
                    type: string
                  RequestId:
                    type: string
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Message:
                    type: string

  /v3/{customerId}/insight/login/{loginId}/attributes/{requestId}/GetLendingAttributes:
    get:
      tags:
        - Enrich
      summary: Get Lending Attributes
      description: This endpoint will provide you with all Lending Use-Case Attributes.
      operationId: getLendingAttributes
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
          description: Unique GUID provided by Flinks that grants you access to the environment.
        - name: loginId
          in: path
          required: true
          schema:
            type: string
          description: GUID representing end user's login ID.
        - name: requestId
          in: path
          required: true
          schema:
            type: string
          description: GUID representing an authorized request to the API.
      responses:
        "200":
          description: Result
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                    description: HTTP status code of the response.
                  Card:
                    type: object
                    description: Object containing an Id field and all the requested lending attributes.
                    properties:
                      Id:
                        type: string
                        description: Unique identifier for the card.
                      AttributesDetail:
                        type: array
                        description: Array of detailed attribute information including supporting transactions for each attribute.
                        items:
                          type: object
                  Login:
                    type: object
                    description: Object containing login metadata.
                  RequestId:
                    type: string
                    description: Unique identifier for the request.
              example:
                HttpStatusCode: 200
                Card:
                  Id: 367046b0-7699-483d-94c2-08d9a3d5c70f
                  account_age_days: 346
                  active_days_trend: 1.25
                  auto_loan_payment_frequency: NONE_DETECTED
                  average_closing_balance_day_after_employer_income: 2019.47
                  average_closing_balance_day_after_government_income: 2517.18
                  average_closing_balance_day_after_income: 3106.06
                  average_closing_balance_day_of_employer_income: 2122.05
                  average_closing_balance_day_of_government_income: 2760.58
                  average_closing_balance_day_of_income: 3137.15
                  average_disability_deposit: 0.0
                  average_employer_a_income_deposit: 1399.57
                  average_employer_b_income_deposit: 0.0
                  average_employer_income_deposit: 2108.67
                  average_employer_other_income_deposit: 0.0
                  average_employment_insurance_deposit: 0.0
                  average_government_income_deposit: 1951.3
                  average_micro_loan_payment: 0.0
                  average_monthly_auto_loan_payments_complex: 0.0
                  average_monthly_child_support_income_government_complex: 3902.59
                  average_monthly_disability_income_complex: 0.0
                  average_monthly_employer_a_income_complex: 4665.78
                  average_monthly_employer_b_income_complex: 0.0
                  average_monthly_employer_income_complex: 4665.78
                  average_monthly_employer_other_income_complex: 0.0
                  average_monthly_employment_insurance_income_complex: 0.0
                  average_monthly_free_cash_flow: 334.96
                  average_monthly_government_income_complex: 3902.59
                  average_monthly_loan_deposits_complex: 0.0
                  average_monthly_loan_payments_complex: 190.5
                  average_monthly_micro_loan_payments_complex: 0.0
                  average_monthly_mortgage_payments_complex: 190.5
                  average_monthly_non_employer_income_complex: 2998.26
                  average_monthly_nsf_fees_count: 0.09
                  average_monthly_other_loan_payments_complex: 0.0
                  average_monthly_pension_income_complex: 0.0
                  average_monthly_recurring_transfers_in_complex: 0.0
                  average_monthly_recurring_transfers_out_complex: 0.0
                  average_monthly_social_assistance_income_complex: 0.0
                  average_monthly_student_loan_payments_complex: 0.0
                  average_monthly_telecom_payments_complex: 1159.67
                  average_monthly_total_income_complex: 7664.04
                  average_monthly_total_recurring_deposits_complex: 4835.99
                  average_monthly_total_recurring_payments_complex: 311.42
                  average_monthly_utility_payments_complex: 0.0
                  average_monthly_wsib_income_complex: 0.0
                  average_pension_deposit: 0.0
                  average_social_assistance_deposit: 0.0
                  average_wsib_deposit: 0.0
                  balance_90_days_ago: 507.81
                  balance_current: 3880.28
                  balance_max: 38780.97
                  balance_min: 105.16
                  balance_trend_simple: INCREASING
                  child_support_income_government_frequency: BiWeekly
                  count_active_days: 129
                  count_auto_loan_payments_10_months_ago: 0
                  count_auto_loan_payments_11_months_ago: 0
                  count_auto_loan_payments_12_months_ago: 0
                  count_auto_loan_payments_2_months_ago: 0
                  count_auto_loan_payments_3_months_ago: 0
                  count_auto_loan_payments_4_months_ago: 0
                  count_auto_loan_payments_5_months_ago: 0
                  count_auto_loan_payments_6_months_ago: 0
                  count_auto_loan_payments_7_months_ago: 0
                  count_auto_loan_payments_8_months_ago: 0
                  count_auto_loan_payments_9_months_ago: 0
                  count_auto_loan_payments_current_month: 0
                  count_auto_loan_payments_previous_month: 0
                  count_child_support_income_government_10_months_ago: 0
                  count_child_support_income_government_11_months_ago: 0
                  count_child_support_income_government_12_months_ago: 0
                  count_child_support_income_government_2_months_ago: 0
                  count_child_support_income_government_3_months_ago: 0
                  count_child_support_income_government_4_months_ago: 0
                  count_child_support_income_government_5_months_ago: 0
                  count_child_support_income_government_6_months_ago: 0
                  count_child_support_income_government_7_months_ago: 0
                  count_child_support_income_government_8_months_ago: 0
                  count_child_support_income_government_9_months_ago: 0
                  count_child_support_income_government_current_month: 1
                  count_child_support_income_government_previous_month: 1
                  count_days_negative_balance_90_days: 0
                  count_disability_income_10_months_ago: 0
                  count_disability_income_11_months_ago: 0
                  count_disability_income_12_months_ago: 0
                  count_disability_income_2_months_ago: 0
                  count_disability_income_3_months_ago: 0
                  count_disability_income_4_months_ago: 0
                  count_disability_income_5_months_ago: 0
                  count_disability_income_6_months_ago: 0
                  count_disability_income_7_months_ago: 0
                  count_disability_income_8_months_ago: 0
                  count_disability_income_9_months_ago: 0
                  count_disability_income_current_month: 0
                  count_disability_income_previous_month: 0
                  count_distinct_micro_lenders: 0
                  count_employer_a_income_10_months_ago: 2
                  count_employer_a_income_11_months_ago: 2
                  count_employer_a_income_12_months_ago: 0
                  count_employer_a_income_2_months_ago: 2
                  count_employer_a_income_3_months_ago: 2
                  count_employer_a_income_4_months_ago: 3
                  count_employer_a_income_5_months_ago: 2
                  count_employer_a_income_6_months_ago: 2
                  count_employer_a_income_7_months_ago: 2
                  count_employer_a_income_8_months_ago: 2
                  count_employer_a_income_9_months_ago: 3
                  count_employer_a_income_current_month: 0
                  count_employer_a_income_previous_month: 2
                  count_employer_b_income_10_months_ago: 0
                  count_employer_b_income_11_months_ago: 0
                  count_employer_b_income_12_months_ago: 0
                  count_employer_b_income_2_months_ago: 0
                  count_employer_b_income_3_months_ago: 0
                  count_employer_b_income_4_months_ago: 0
                  count_employer_b_income_5_months_ago: 0
                  count_employer_b_income_6_months_ago: 0
                  count_employer_b_income_7_months_ago: 0
                  count_employer_b_income_8_months_ago: 0
                  count_employer_b_income_9_months_ago: 0
                  count_employer_b_income_current_month: 0
                  count_employer_b_income_previous_month: 0
                  count_employer_income_10_months_ago: 2
                  count_employer_income_11_months_ago: 2
                  count_employer_income_12_months_ago: 0
                  count_employer_income_2_months_ago: 2
                  count_employer_income_3_months_ago: 2
                  count_employer_income_4_months_ago: 3
                  count_employer_income_5_months_ago: 2
                  count_employer_income_6_months_ago: 2
                  count_employer_income_7_months_ago: 2
                  count_employer_income_8_months_ago: 2
                  count_employer_income_9_months_ago: 3
                  count_employer_income_current_month: 0
                  count_employer_income_previous_month: 2
                  count_employer_other_income_10_months_ago: 0
                  count_employer_other_income_11_months_ago: 0
                  count_employer_other_income_12_months_ago: 0
                  count_employer_other_income_2_months_ago: 0
                  count_employer_other_income_3_months_ago: 0
                  count_employer_other_income_4_months_ago: 0
                  count_employer_other_income_5_months_ago: 0
                  count_employer_other_income_6_months_ago: 0
                  count_employer_other_income_7_months_ago: 0
                  count_employer_other_income_8_months_ago: 0
                  count_employer_other_income_9_months_ago: 0
                  count_employer_other_income_current_month: 0
                  count_employer_other_income_previous_month: 0
                  count_employment_insurance_income_10_months_ago: 0
                  count_employment_insurance_income_11_months_ago: 0
                  count_employment_insurance_income_12_months_ago: 0
                  count_employment_insurance_income_2_months_ago: 0
                  count_employment_insurance_income_3_months_ago: 0
                  count_employment_insurance_income_4_months_ago: 0
                  count_employment_insurance_income_5_months_ago: 0
                  count_employment_insurance_income_6_months_ago: 0
                  count_employment_insurance_income_7_months_ago: 0
                  count_employment_insurance_income_8_months_ago: 0
                  count_employment_insurance_income_9_months_ago: 0
                  count_employment_insurance_income_current_month: 0
                  count_employment_insurance_income_previous_month: 0
                  count_government_income_10_months_ago: 0
                  count_government_income_11_months_ago: 0
                  count_government_income_12_months_ago: 0
                  count_government_income_2_months_ago: 0
                  count_government_income_3_months_ago: 0
                  count_government_income_4_months_ago: 0
                  count_government_income_5_months_ago: 0
                  count_government_income_6_months_ago: 0
                  count_government_income_7_months_ago: 0
                  count_government_income_8_months_ago: 0
                  count_government_income_9_months_ago: 0
                  count_government_income_current_month: 1
                  count_government_income_previous_month: 1
                  count_insurance_income_10_months_ago: 0
                  count_insurance_income_11_months_ago: 0
                  count_insurance_income_12_months_ago: 0
                  count_insurance_income_2_months_ago: 0
                  count_insurance_income_3_months_ago: 0
                  count_insurance_income_4_months_ago: 0
                  count_insurance_income_5_months_ago: 0
                  count_insurance_income_6_months_ago: 0
                  count_insurance_income_7_months_ago: 0
                  count_insurance_income_8_months_ago: 0
                  count_insurance_income_9_months_ago: 0
                  count_insurance_income_current_month: 0
                  count_insurance_income_previous_month: 0
                  count_loan_payments_10_months_ago: 0
                  count_loan_payments_11_months_ago: 0
                  count_loan_payments_12_months_ago: 0
                  count_loan_payments_2_months_ago: 0
                  count_loan_payments_3_months_ago: 0
                  count_loan_payments_4_months_ago: 0
                  count_loan_payments_5_months_ago: 0
                  count_loan_payments_6_months_ago: 0
                  count_loan_payments_7_months_ago: 0
                  count_loan_payments_8_months_ago: 0
                  count_loan_payments_9_months_ago: 0
                  count_loan_payments_current_month: 1
                  count_loan_payments_previous_month: 1
                  count_micro_loan_payments_10_months_ago: 0
                  count_micro_loan_payments_11_months_ago: 0
                  count_micro_loan_payments_12_months_ago: 0
                  count_micro_loan_payments_2_months_ago: 0
                  count_micro_loan_payments_3_months_ago: 0
                  count_micro_loan_payments_4_months_ago: 0
                  count_micro_loan_payments_5_months_ago: 0
                  count_micro_loan_payments_6_months_ago: 0
                  count_micro_loan_payments_7_months_ago: 0
                  count_micro_loan_payments_8_months_ago: 0
                  count_micro_loan_payments_9_months_ago: 0
                  count_micro_loan_payments_current_month: 0
                  count_micro_loan_payments_previous_month: 0
                  count_mortgage_payments_10_months_ago: 0
                  count_mortgage_payments_11_months_ago: 0
                  count_mortgage_payments_12_months_ago: 0
                  count_mortgage_payments_2_months_ago: 0
                  count_mortgage_payments_3_months_ago: 0
                  count_mortgage_payments_4_months_ago: 0
                  count_mortgage_payments_5_months_ago: 0
                  count_mortgage_payments_6_months_ago: 0
                  count_mortgage_payments_7_months_ago: 0
                  count_mortgage_payments_8_months_ago: 0
                  count_mortgage_payments_9_months_ago: 0
                  count_mortgage_payments_current_month: 1
                  count_mortgage_payments_previous_month: 1
                  count_non_employer_income_10_months_ago: 0
                  count_non_employer_income_11_months_ago: 0
                  count_non_employer_income_12_months_ago: 0
                  count_non_employer_income_2_months_ago: 1
                  count_non_employer_income_3_months_ago: 0
                  count_non_employer_income_4_months_ago: 0
                  count_non_employer_income_5_months_ago: 0
                  count_non_employer_income_6_months_ago: 0
                  count_non_employer_income_7_months_ago: 1
                  count_non_employer_income_8_months_ago: 0
                  count_non_employer_income_9_months_ago: 1
                  count_non_employer_income_current_month: 2
                  count_non_employer_income_previous_month: 1
                  count_nsf: 1
                  count_nsf_30_days: 0
                  count_nsf_6_months: 1
                  count_nsf_60_days: 1
                  count_nsf_90_days: 1
                  count_nsf_day_after_employer_income: 0
                  count_nsf_day_after_government_income: 0
                  count_nsf_day_of_employer_income: 0
                  count_nsf_day_of_government_income: 0
                  count_other_loan_payments_10_months_ago: 0
                  count_other_loan_payments_11_months_ago: 0
                  count_other_loan_payments_12_months_ago: 0
                  count_other_loan_payments_2_months_ago: 0
                  count_other_loan_payments_3_months_ago: 0
                  count_other_loan_payments_4_months_ago: 0
                  count_other_loan_payments_5_months_ago: 0
                  count_other_loan_payments_6_months_ago: 0
                  count_other_loan_payments_7_months_ago: 0
                  count_other_loan_payments_8_months_ago: 0
                  count_other_loan_payments_9_months_ago: 0
                  count_other_loan_payments_current_month: 0
                  count_other_loan_payments_previous_month: 0
                  count_pension_income_10_months_ago: 0
                  count_pension_income_11_months_ago: 0
                  count_pension_income_12_months_ago: 0
                  count_pension_income_2_months_ago: 0
                  count_pension_income_3_months_ago: 0
                  count_pension_income_4_months_ago: 0
                  count_pension_income_5_months_ago: 0
                  count_pension_income_6_months_ago: 0
                  count_pension_income_7_months_ago: 0
                  count_pension_income_8_months_ago: 0
                  count_pension_income_9_months_ago: 0
                  count_pension_income_current_month: 0
                  count_pension_income_previous_month: 0
                  count_social_assistance_income_10_months_ago: 0
                  count_social_assistance_income_11_months_ago: 0
                  count_social_assistance_income_12_months_ago: 0
                  count_social_assistance_income_2_months_ago: 0
                  count_social_assistance_income_3_months_ago: 0
                  count_social_assistance_income_4_months_ago: 0
                  count_social_assistance_income_5_months_ago: 0
                  count_social_assistance_income_6_months_ago: 0
                  count_social_assistance_income_7_months_ago: 0
                  count_social_assistance_income_8_months_ago: 0
                  count_social_assistance_income_9_months_ago: 0
                  count_social_assistance_income_current_month: 0
                  count_social_assistance_income_previous_month: 0
                  count_stop_payment_30_days: 0
                  count_stop_payment_60_days: 0
                  count_stop_payment_90_days: 0
                  count_stop_payment_reversals_30_days: 0
                  count_stop_payment_reversals_60_days: 0
                  count_stop_payment_reversals_90_days: 0
                  count_student_loan_payments_10_months_ago: 0
                  count_student_loan_payments_11_months_ago: 0
                  count_student_loan_payments_12_months_ago: 0
                  count_student_loan_payments_2_months_ago: 0
                  count_student_loan_payments_3_months_ago: 0
                  count_student_loan_payments_4_months_ago: 0
                  count_student_loan_payments_5_months_ago: 0
                  count_student_loan_payments_6_months_ago: 0
                  count_student_loan_payments_7_months_ago: 0
                  count_student_loan_payments_8_months_ago: 0
                  count_student_loan_payments_9_months_ago: 0
                  count_student_loan_payments_current_month: 0
                  count_student_loan_payments_previous_month: 0
                  count_telecom_payments_10_months_ago: 0
                  count_telecom_payments_11_months_ago: 0
                  count_telecom_payments_12_months_ago: 0
                  count_telecom_payments_2_months_ago: 0
                  count_telecom_payments_3_months_ago: 0
                  count_telecom_payments_4_months_ago: 0
                  count_telecom_payments_5_months_ago: 0
                  count_telecom_payments_6_months_ago: 0
                  count_telecom_payments_7_months_ago: 0
                  count_telecom_payments_8_months_ago: 0
                  count_telecom_payments_9_months_ago: 0
                  count_telecom_payments_current_month: 0
                  count_telecom_payments_previous_month: 1
                  count_total_income_10_months_ago: 2
                  count_total_income_11_months_ago: 2
                  count_total_income_12_months_ago: 0
                  count_total_income_2_months_ago: 3
                  count_total_income_3_months_ago: 2
                  count_total_income_4_months_ago: 3
                  count_total_income_5_months_ago: 2
                  count_total_income_6_months_ago: 2
                  count_total_income_7_months_ago: 3
                  count_total_income_8_months_ago: 2
                  count_total_income_9_months_ago: 4
                  count_total_income_current_month: 2
                  count_total_income_previous_month: 3
                  count_utility_payments_10_months_ago: 0
                  count_utility_payments_11_months_ago: 0
                  count_utility_payments_12_months_ago: 0
                  count_utility_payments_2_months_ago: 0
                  count_utility_payments_3_months_ago: 0
                  count_utility_payments_4_months_ago: 0
                  count_utility_payments_5_months_ago: 0
                  count_utility_payments_6_months_ago: 0
                  count_utility_payments_7_months_ago: 0
                  count_utility_payments_8_months_ago: 0
                  count_utility_payments_9_months_ago: 0
                  count_utility_payments_current_month: 0
                  count_utility_payments_previous_month: 0
                  count_wsib_income_10_months_ago: 0
                  count_wsib_income_11_months_ago: 0
                  count_wsib_income_12_months_ago: 0
                  count_wsib_income_2_months_ago: 0
                  count_wsib_income_3_months_ago: 0
                  count_wsib_income_4_months_ago: 0
                  count_wsib_income_5_months_ago: 0
                  count_wsib_income_6_months_ago: 0
                  count_wsib_income_7_months_ago: 0
                  count_wsib_income_8_months_ago: 0
                  count_wsib_income_9_months_ago: 0
                  count_wsib_income_current_month: 0
                  count_wsib_income_previous_month: 0
                  credit_activity_trend_simple: DECREASING
                  total_deposits_trend_simple: DECREASING
                  debit_activity_trend_simple: DECREASING
                  disability_income_frequency: NONE_DETECTED
                  employer_a_frequency: Unknown
                  employer_a_name: Unknown
                  employer_b_frequency: NONE_DETECTED
                  employer_b_name: NONE_DETECTED
                  employer_income_frequency: Unknown
                  employer_income_trend_simple: NONE_DETECTED
                  employer_name: Unknown
                  employer_other_frequency: NONE_DETECTED
                  employer_other_name: NONE_DETECTED
                  employment_insurance_income_frequency: NONE_DETECTED
                  estimated_annual_net_employer_a_income: 55989.36
                  estimated_annual_net_employer_b_income: 0.0
                  estimated_annual_net_employer_income: 56350.66
                  estimated_annual_net_employer_other_income: 0.0
                  government_income_frequency: BiWeekly
                  has_employer_income_in_last_14_days: 'NO'
                  has_employer_income_in_last_30_days: 'NO'
                  has_employer_income_in_last_7_days: 'NO'
                  has_government_income_in_last_14_days: 'YES'
                  has_government_income_in_last_30_days: 'YES'
                  has_government_income_in_last_7_days: 'NO'
                  has_overdraft: false
                  is_employment_loss_detected: 'True'
                  last_2_paydates_child_support_income_government: 2026-04-09, 2026-03-26
                  last_2_paydates_disability_income: NONE_DETECTED
                  last_2_paydates_employer_a: 2026-04-17, 2026-04-15
                  last_2_paydates_employer_b: NONE_DETECTED
                  last_2_paydates_employer_other: NONE_DETECTED
                  last_2_paydates_employment_insurance_income: NONE_DETECTED
                  last_2_paydates_government_income: 2026-04-09, 2026-03-26
                  last_2_paydates_pension_income: NONE_DETECTED
                  last_2_paydates_social_assistance_income: NONE_DETECTED
                  last_2_paydates_wsib_income: NONE_DETECTED
                  micro_lender_name: NONE_DETECTED
                  micro_loan_payment_frequency: NONE_DETECTED
                  overall_activity_trend_simple: DECREASING
                  pension_income_frequency: NONE_DETECTED
                  recurring_deposits_10_months_ago: 5954.9
                  recurring_deposits_11_months_ago: 3776.11
                  recurring_deposits_12_months_ago: 3950.19
                  recurring_deposits_2_months_ago: 5978.11
                  recurring_deposits_3_months_ago: 4197.6
                  recurring_deposits_4_months_ago: 4517.42
                  recurring_deposits_5_months_ago: 7096.69
                  recurring_deposits_6_months_ago: 4227.87
                  recurring_deposits_7_months_ago: 4475.84
                  recurring_deposits_8_months_ago: 4434.58
                  recurring_deposits_9_months_ago: 3700.8
                  recurring_deposits_current_month: 0.0
                  recurring_deposits_previous_month: 2200.48
                  social_assistance_income_frequency: NONE_DETECTED
                  sum_auto_loan_payments_10_months_ago: 0.0
                  sum_auto_loan_payments_11_months_ago: 0.0
                  sum_auto_loan_payments_12_months_ago: 0.0
                  sum_auto_loan_payments_2_months_ago: 0.0
                  sum_auto_loan_payments_3_months_ago: 0.0
                  sum_auto_loan_payments_4_months_ago: 0.0
                  sum_auto_loan_payments_5_months_ago: 0.0
                  sum_auto_loan_payments_6_months_ago: 0.0
                  sum_auto_loan_payments_7_months_ago: 0.0
                  sum_auto_loan_payments_8_months_ago: 0.0
                  sum_auto_loan_payments_9_months_ago: 0.0
                  sum_auto_loan_payments_current_month: 0.0
                  sum_auto_loan_payments_previous_month: 0.0
                  sum_child_support_income_government_10_months_ago: 0.0
                  sum_child_support_income_government_11_months_ago: 0.0
                  sum_child_support_income_government_12_months_ago: 0.0
                  sum_child_support_income_government_2_months_ago: 0.0
                  sum_child_support_income_government_3_months_ago: 0.0
                  sum_child_support_income_government_4_months_ago: 0.0
                  sum_child_support_income_government_5_months_ago: 0.0
                  sum_child_support_income_government_6_months_ago: 0.0
                  sum_child_support_income_government_7_months_ago: 0.0
                  sum_child_support_income_government_8_months_ago: 0.0
                  sum_child_support_income_government_9_months_ago: 0.0
                  sum_child_support_income_government_current_month: 2200.48
                  sum_child_support_income_government_previous_month: 1702.11
                  sum_disability_income_10_months_ago: 0.0
                  sum_disability_income_11_months_ago: 0.0
                  sum_disability_income_12_months_ago: 0.0
                  sum_disability_income_2_months_ago: 0.0
                  sum_disability_income_3_months_ago: 0.0
                  sum_disability_income_4_months_ago: 0.0
                  sum_disability_income_5_months_ago: 0.0
                  sum_disability_income_6_months_ago: 0.0
                  sum_disability_income_7_months_ago: 0.0
                  sum_disability_income_8_months_ago: 0.0
                  sum_disability_income_9_months_ago: 0.0
                  sum_disability_income_current_month: 0.0
                  sum_disability_income_previous_month: 0.0
                  sum_employer_a_income_10_months_ago: 3776.11
                  sum_employer_a_income_11_months_ago: 3950.19
                  sum_employer_a_income_12_months_ago: 0.0
                  sum_employer_a_income_2_months_ago: 4197.6
                  sum_employer_a_income_3_months_ago: 4517.42
                  sum_employer_a_income_4_months_ago: 7096.69
                  sum_employer_a_income_5_months_ago: 4227.87
                  sum_employer_a_income_6_months_ago: 4475.84
                  sum_employer_a_income_7_months_ago: 4434.58
                  sum_employer_a_income_8_months_ago: 3700.8
                  sum_employer_a_income_9_months_ago: 5954.9
                  sum_employer_a_income_current_month: 0.0
                  sum_employer_a_income_previous_month: 4276.0
                  sum_employer_b_income_10_months_ago: 0.0
                  sum_employer_b_income_11_months_ago: 0.0
                  sum_employer_b_income_12_months_ago: 0.0
                  sum_employer_b_income_2_months_ago: 0.0
                  sum_employer_b_income_3_months_ago: 0.0
                  sum_employer_b_income_4_months_ago: 0.0
                  sum_employer_b_income_5_months_ago: 0.0
                  sum_employer_b_income_6_months_ago: 0.0
                  sum_employer_b_income_7_months_ago: 0.0
                  sum_employer_b_income_8_months_ago: 0.0
                  sum_employer_b_income_9_months_ago: 0.0
                  sum_employer_b_income_current_month: 0.0
                  sum_employer_b_income_previous_month: 0.0
                  sum_employer_income_10_months_ago: 3776.11
                  sum_employer_income_11_months_ago: 3950.19
                  sum_employer_income_12_months_ago: 0.0
                  sum_employer_income_2_months_ago: 4197.6
                  sum_employer_income_3_months_ago: 4517.42
                  sum_employer_income_4_months_ago: 7096.69
                  sum_employer_income_5_months_ago: 4227.87
                  sum_employer_income_6_months_ago: 4475.84
                  sum_employer_income_7_months_ago: 4434.58
                  sum_employer_income_8_months_ago: 3700.8
                  sum_employer_income_9_months_ago: 5954.9
                  sum_employer_income_current_month: 0.0
                  sum_employer_income_previous_month: 4276.0
                  sum_employer_other_income_10_months_ago: 0.0
                  sum_employer_other_income_11_months_ago: 0.0
                  sum_employer_other_income_12_months_ago: 0.0
                  sum_employer_other_income_2_months_ago: 0.0
                  sum_employer_other_income_3_months_ago: 0.0
                  sum_employer_other_income_4_months_ago: 0.0
                  sum_employer_other_income_5_months_ago: 0.0
                  sum_employer_other_income_6_months_ago: 0.0
                  sum_employer_other_income_7_months_ago: 0.0
                  sum_employer_other_income_8_months_ago: 0.0
                  sum_employer_other_income_9_months_ago: 0.0
                  sum_employer_other_income_current_month: 0.0
                  sum_employer_other_income_previous_month: 0.0
                  sum_employment_insurance_income_10_months_ago: 0.0
                  sum_employment_insurance_income_11_months_ago: 0.0
                  sum_employment_insurance_income_12_months_ago: 0.0
                  sum_employment_insurance_income_2_months_ago: 0.0
                  sum_employment_insurance_income_3_months_ago: 0.0
                  sum_employment_insurance_income_4_months_ago: 0.0
                  sum_employment_insurance_income_5_months_ago: 0.0
                  sum_employment_insurance_income_6_months_ago: 0.0
                  sum_employment_insurance_income_7_months_ago: 0.0
                  sum_employment_insurance_income_8_months_ago: 0.0
                  sum_employment_insurance_income_9_months_ago: 0.0
                  sum_employment_insurance_income_current_month: 0.0
                  sum_employment_insurance_income_previous_month: 0.0
                  sum_government_income_10_months_ago: 0.0
                  sum_government_income_11_months_ago: 0.0
                  sum_government_income_12_months_ago: 0.0
                  sum_government_income_2_months_ago: 0.0
                  sum_government_income_3_months_ago: 0.0
                  sum_government_income_4_months_ago: 0.0
                  sum_government_income_5_months_ago: 0.0
                  sum_government_income_6_months_ago: 0.0
                  sum_government_income_7_months_ago: 0.0
                  sum_government_income_8_months_ago: 0.0
                  sum_government_income_9_months_ago: 0.0
                  sum_government_income_current_month: 2200.48
                  sum_government_income_previous_month: 1702.11
                  sum_government_income_total: 3902.59
                  sum_insurance_income: 0.0
                  sum_insurance_income_10_months_ago: 0.0
                  sum_insurance_income_11_months_ago: 0.0
                  sum_insurance_income_12_months_ago: 0.0
                  sum_insurance_income_2_months_ago: 0.0
                  sum_insurance_income_3_months_ago: 0.0
                  sum_insurance_income_4_months_ago: 0.0
                  sum_insurance_income_5_months_ago: 0.0
                  sum_insurance_income_6_months_ago: 0.0
                  sum_insurance_income_7_months_ago: 0.0
                  sum_insurance_income_8_months_ago: 0.0
                  sum_insurance_income_9_months_ago: 0.0
                  sum_insurance_income_current_month: 0.0
                  sum_insurance_income_previous_month: 0.0
                  sum_loan_deposits: 0.0
                  sum_loan_deposits_30_days: 0.0
                  sum_loan_deposits_60_days: 0.0
                  sum_loan_deposits_90_days: 0.0
                  sum_loan_payments: 2391.78
                  sum_loan_payments_10_months_ago: 0.0
                  sum_loan_payments_11_months_ago: 0.0
                  sum_loan_payments_12_months_ago: 0.0
                  sum_loan_payments_2_months_ago: 0.0
                  sum_loan_payments_3_months_ago: 0.0
                  sum_loan_payments_4_months_ago: 0.0
                  sum_loan_payments_5_months_ago: 0.0
                  sum_loan_payments_6_months_ago: 0.0
                  sum_loan_payments_7_months_ago: 0.0
                  sum_loan_payments_8_months_ago: 0.0
                  sum_loan_payments_9_months_ago: 0.0
                  sum_loan_payments_current_month: 486.8
                  sum_loan_payments_previous_month: 1904.98
                  sum_micro_loan_payments_10_months_ago: 0.0
                  sum_micro_loan_payments_11_months_ago: 0.0
                  sum_micro_loan_payments_12_months_ago: 0.0
                  sum_micro_loan_payments_2_months_ago: 0.0
                  sum_micro_loan_payments_3_months_ago: 0.0
                  sum_micro_loan_payments_4_months_ago: 0.0
                  sum_micro_loan_payments_5_months_ago: 0.0
                  sum_micro_loan_payments_6_months_ago: 0.0
                  sum_micro_loan_payments_7_months_ago: 0.0
                  sum_micro_loan_payments_8_months_ago: 0.0
                  sum_micro_loan_payments_9_months_ago: 0.0
                  sum_micro_loan_payments_current_month: 0.0
                  sum_micro_loan_payments_previous_month: 0.0
                  sum_mortgage_payments_10_months_ago: 0.0
                  sum_mortgage_payments_11_months_ago: 0.0
                  sum_mortgage_payments_12_months_ago: 0.0
                  sum_mortgage_payments_2_months_ago: 0.0
                  sum_mortgage_payments_3_months_ago: 0.0
                  sum_mortgage_payments_4_months_ago: 0.0
                  sum_mortgage_payments_5_months_ago: 0.0
                  sum_mortgage_payments_6_months_ago: 0.0
                  sum_mortgage_payments_7_months_ago: 0.0
                  sum_mortgage_payments_8_months_ago: 0.0
                  sum_mortgage_payments_9_months_ago: 0.0
                  sum_mortgage_payments_current_month: 486.8
                  sum_mortgage_payments_previous_month: 1904.98
                  sum_non_employer_income: 33208.09
                  sum_non_employer_income_10_months_ago: 0.0
                  sum_non_employer_income_11_months_ago: 0.0
                  sum_non_employer_income_12_months_ago: 0.0
                  sum_non_employer_income_2_months_ago: 28000.0
                  sum_non_employer_income_3_months_ago: 0.0
                  sum_non_employer_income_4_months_ago: 0.0
                  sum_non_employer_income_5_months_ago: 0.0
                  sum_non_employer_income_6_months_ago: 0.0
                  sum_non_employer_income_7_months_ago: 12.63
                  sum_non_employer_income_8_months_ago: 0.0
                  sum_non_employer_income_9_months_ago: 267.88
                  sum_non_employer_income_current_month: 3225.47
                  sum_non_employer_income_previous_month: 1702.11
                  sum_other_loan_payments_10_months_ago: 0.0
                  sum_other_loan_payments_11_months_ago: 0.0
                  sum_other_loan_payments_12_months_ago: 0.0
                  sum_other_loan_payments_2_months_ago: 0.0
                  sum_other_loan_payments_3_months_ago: 0.0
                  sum_other_loan_payments_4_months_ago: 0.0
                  sum_other_loan_payments_5_months_ago: 0.0
                  sum_other_loan_payments_6_months_ago: 0.0
                  sum_other_loan_payments_7_months_ago: 0.0
                  sum_other_loan_payments_8_months_ago: 0.0
                  sum_other_loan_payments_9_months_ago: 0.0
                  sum_other_loan_payments_current_month: 0.0
                  sum_other_loan_payments_previous_month: 0.0
                  sum_pension_income_10_months_ago: 0.0
                  sum_pension_income_11_months_ago: 0.0
                  sum_pension_income_12_months_ago: 0.0
                  sum_pension_income_2_months_ago: 0.0
                  sum_pension_income_3_months_ago: 0.0
                  sum_pension_income_4_months_ago: 0.0
                  sum_pension_income_5_months_ago: 0.0
                  sum_pension_income_6_months_ago: 0.0
                  sum_pension_income_7_months_ago: 0.0
                  sum_pension_income_8_months_ago: 0.0
                  sum_pension_income_9_months_ago: 0.0
                  sum_pension_income_current_month: 0.0
                  sum_pension_income_previous_month: 0.0
                  sum_social_assistance_income_10_months_ago: 0.0
                  sum_social_assistance_income_11_months_ago: 0.0
                  sum_social_assistance_income_12_months_ago: 0.0
                  sum_social_assistance_income_2_months_ago: 0.0
                  sum_social_assistance_income_3_months_ago: 0.0
                  sum_social_assistance_income_4_months_ago: 0.0
                  sum_social_assistance_income_5_months_ago: 0.0
                  sum_social_assistance_income_6_months_ago: 0.0
                  sum_social_assistance_income_7_months_ago: 0.0
                  sum_social_assistance_income_8_months_ago: 0.0
                  sum_social_assistance_income_9_months_ago: 0.0
                  sum_social_assistance_income_current_month: 0.0
                  sum_social_assistance_income_previous_month: 0.0
                  sum_student_loan_payments_10_months_ago: 0.0
                  sum_student_loan_payments_11_months_ago: 0.0
                  sum_student_loan_payments_12_months_ago: 0.0
                  sum_student_loan_payments_2_months_ago: 0.0
                  sum_student_loan_payments_3_months_ago: 0.0
                  sum_student_loan_payments_4_months_ago: 0.0
                  sum_student_loan_payments_5_months_ago: 0.0
                  sum_student_loan_payments_6_months_ago: 0.0
                  sum_student_loan_payments_7_months_ago: 0.0
                  sum_student_loan_payments_8_months_ago: 0.0
                  sum_student_loan_payments_9_months_ago: 0.0
                  sum_student_loan_payments_current_month: 0.0
                  sum_student_loan_payments_previous_month: 0.0
                  sum_telecom_payments_10_months_ago: 0.0
                  sum_telecom_payments_11_months_ago: 0.0
                  sum_telecom_payments_12_months_ago: 0.0
                  sum_telecom_payments_2_months_ago: 0.0
                  sum_telecom_payments_3_months_ago: 0.0
                  sum_telecom_payments_4_months_ago: 0.0
                  sum_telecom_payments_5_months_ago: 0.0
                  sum_telecom_payments_6_months_ago: 0.0
                  sum_telecom_payments_7_months_ago: 0.0
                  sum_telecom_payments_8_months_ago: 0.0
                  sum_telecom_payments_9_months_ago: 0.0
                  sum_telecom_payments_current_month: 0.0
                  sum_telecom_payments_previous_month: 11596.74
                  sum_total_income: 83816.09
                  sum_total_income_10_months_ago: 3776.11
                  sum_total_income_11_months_ago: 3950.19
                  sum_total_income_12_months_ago: 0.0
                  sum_total_income_2_months_ago: 32197.6
                  sum_total_income_3_months_ago: 4517.42
                  sum_total_income_4_months_ago: 7096.69
                  sum_total_income_5_months_ago: 4227.87
                  sum_total_income_6_months_ago: 4475.84
                  sum_total_income_7_months_ago: 4447.21
                  sum_total_income_8_months_ago: 3700.8
                  sum_total_income_9_months_ago: 6222.78
                  sum_total_income_current_month: 3225.47
                  sum_total_income_previous_month: 5978.11
                  sum_utility_payments_10_months_ago: 0.0
                  sum_utility_payments_11_months_ago: 0.0
                  sum_utility_payments_12_months_ago: 0.0
                  sum_utility_payments_2_months_ago: 0.0
                  sum_utility_payments_3_months_ago: 0.0
                  sum_utility_payments_4_months_ago: 0.0
                  sum_utility_payments_5_months_ago: 0.0
                  sum_utility_payments_6_months_ago: 0.0
                  sum_utility_payments_7_months_ago: 0.0
                  sum_utility_payments_8_months_ago: 0.0
                  sum_utility_payments_9_months_ago: 0.0
                  sum_utility_payments_current_month: 0.0
                  sum_utility_payments_previous_month: 0.0
                  sum_wsib_income_10_months_ago: 0.0
                  sum_wsib_income_11_months_ago: 0.0
                  sum_wsib_income_12_months_ago: 0.0
                  sum_wsib_income_2_months_ago: 0.0
                  sum_wsib_income_3_months_ago: 0.0
                  sum_wsib_income_4_months_ago: 0.0
                  sum_wsib_income_5_months_ago: 0.0
                  sum_wsib_income_6_months_ago: 0.0
                  sum_wsib_income_7_months_ago: 0.0
                  sum_wsib_income_8_months_ago: 0.0
                  sum_wsib_income_9_months_ago: 0.0
                  sum_wsib_income_current_month: 0.0
                  sum_wsib_income_previous_month: 0.0
                  wsib_income_frequency: NONE_DETECTED
                  active_days_trend_simple: INCREASING
                  auto_loan_payment_average: 0.0
                  average_child_support_income_government_deposit: 1951.3
                  student_loan_payments_average: 0.0
                  employer_a_income_trend_simple: NONE_DETECTED
                  employer_b_income_trend_simple: NONE_DETECTED
                  employer_other_income_simple: NONE_DETECTED
                  last_2_social_assistance_income_dates: NONE_DETECTED
                  last_2_employment_insurance_income_dates: NONE_DETECTED
                  last_2_wsib_income_dates: NONE_DETECTED
                  last_2_pension_income_dates: NONE_DETECTED
                  last_2_child_support_income_government_dates: 2026-04-09, 2026-03-26
                  last_2_disability_income_dates: NONE_DETECTED
                  mortgage_frequency: Unknown
                  mortgage_payments_average: 1195.89
                  sum_child_support_income_government: 3902.59
                  sum_disability_income: 0.0
                  sum_employment_insurance_income: 0.0
                  sum_pension_income: 0.0
                  sum_social_assistance_income: 0.0
                  sum_wsib_income: 0.0
                  student_loan_payments_frequency: NONE_DETECTED
                  telecom_payments_frequency: Unknown
                  telecom_payments_average: 11596.74
                  other_loan_payments_frequency: NONE_DETECTED
                  other_loan_payments_average: 0.0
                  utility_payments_frequency: NONE_DETECTED
                  utility_payments_average: 0.0
                  average_monthly_insurance_income_complex: 0.0
                  average_monthly_nsf_overdraft_protection_fees: 0.0
                  average_monthly_nsf_overdraft_protection_fees_complex: 0.0
                  count_nsf_overdraft_protection_fees_10_months_ago: 0
                  count_nsf_overdraft_protection_fees_11_months_ago: 0
                  count_nsf_overdraft_protection_fees_12_months_ago: 0
                  count_nsf_overdraft_protection_fees_180_days: 0
                  count_nsf_overdraft_protection_fees_2_months_ago: 0
                  count_nsf_overdraft_protection_fees_30_days: 0
                  count_nsf_overdraft_protection_fees_365_days: 0
                  count_nsf_overdraft_protection_fees_3_months_ago: 0
                  count_nsf_overdraft_protection_fees_4_months_ago: 0
                  count_nsf_overdraft_protection_fees_5_months_ago: 0
                  count_nsf_overdraft_protection_fees_60_days: 0
                  count_nsf_overdraft_protection_fees_6_months_ago: 0
                  count_nsf_overdraft_protection_fees_7_months_ago: 0
                  count_nsf_overdraft_protection_fees_8_months_ago: 0
                  count_nsf_overdraft_protection_fees_90_days: 0
                  count_nsf_overdraft_protection_fees_9_months_ago: 0
                  count_nsf_overdraft_protection_fees_current_month: 0
                  count_nsf_overdraft_protection_fees_previous_month: 0
                  last_2_nsf_overdraft_protection_fees_dates: NONE_DETECTED
                  nbr_nsf_overdraft_protection: 0
                  nsf_overdraft_protection_fees_average: 0.0
                  nsf_overdraft_protection_fees_frequency: NONE_DETECTED
                  nsf_overdraft_protection_fees_trend: 0.0
                  nsf_overdraft_protection_fees_trend_simple: NONE_DETECTED
                  sum_nsf_overdraft_protection_fees: 0.0
                  sum_nsf_overdraft_protection_fees_10_months_ago: 0.0
                  sum_nsf_overdraft_protection_fees_11_months_ago: 0.0
                  sum_nsf_overdraft_protection_fees_12_months_ago: 0.0
                  sum_nsf_overdraft_protection_fees_180_days: 0.0
                  sum_nsf_overdraft_protection_fees_2_months_ago: 0.0
                  sum_nsf_overdraft_protection_fees_30_days: 0.0
                  sum_nsf_overdraft_protection_fees_365_days: 0.0
                  sum_nsf_overdraft_protection_fees_3_months_ago: 0.0
                  sum_nsf_overdraft_protection_fees_4_months_ago: 0.0
                  sum_nsf_overdraft_protection_fees_5_months_ago: 0.0
                  sum_nsf_overdraft_protection_fees_60_days: 0.0
                  sum_nsf_overdraft_protection_fees_6_months_ago: 0.0
                  sum_nsf_overdraft_protection_fees_7_months_ago: 0.0
                  sum_nsf_overdraft_protection_fees_8_months_ago: 0.0
                  sum_nsf_overdraft_protection_fees_90_days: 0.0
                  sum_nsf_overdraft_protection_fees_9_months_ago: 0.0
                  sum_nsf_overdraft_protection_fees_current_month: 0.0
                  sum_nsf_overdraft_protection_fees_previous_month: 0.0
                  count_reversed_payments_because_of_nsf: 0
                  AttributesDetail:
                  - Attribute: count_child_support_income_government_current_month
                    Transactions:
                    - TransactionId: 2e9e3ea2-c918-4302-8dc1-738672c4e177
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-04-09'
                      Description: 3903214 CANADA
                      Credit: 2200.48
                      Balance: 3773.07
                  - Attribute: count_child_support_income_government_previous_month
                    Transactions:
                    - TransactionId: d8d668eb-77ba-4b60-8e1a-375ba0e669cc
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2026-03-26'
                      Description: 3903214 CANADA
                      Credit: 1702.11
                      Balance: 3348.09
                  - Attribute: count_employer_a_income_10_months_ago
                    Transactions:
                    - TransactionId: ea9286f8-c449-4418-a402-2a534abf6d24
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2025-06-19'
                      Description: Paie/Payroll
                      Credit: 1736.15
                      Balance: 1746.63
                    - TransactionId: bf673474-4de2-4ca2-b2d0-6ac09c0eda12
                      AccountId: 9141fa5d-9a0b-42cc-9f38-29231ad9c47d
                      Date: '2025-06-05'
                      Description: Paie/Payroll
                      Credit: 2039.96
                      Balance: 2114.48
                Login:
                  Username: multiple_employers
                  IsScheduledRefresh: false
                  LastRefresh: '2026-04-16T09:23:14.5821093'
                  Type: Personal
                  Id: 367046b0-7699-483d-94c2-08d9a3d5c70f
                RequestId: b0ad6069-b40c-4c7e-aead-91c849d0b9f1
        "202":
          description: Operation Pending
          content:
            application/json:
              schema:
                type: object
                properties:
                  FlinksCode:
                    type: string
                    description: Flinks-specific status code.
                  HttpStatusCode:
                    type: integer
                    description: HTTP status code of the response (202).
                  Message:
                    type: string
                    description: Message indicating the operation is still processing.
                  RequestId:
                    type: string
                    description: Unique identifier for the request.
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Message:
                    type: string
                    description: Error message indicating the customer ID is not authorized for the login ID.


  /v3/{customerId}/BankingServices/GetAccountsSummaryAsync/{requestId}:
    get:
      tags:
        - Connect
      summary: Get Accounts Summary Async
      description: Get pending requests from GetAccountsSummary.
      operationId: getAccountsSummaryAsync
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
          description: Unique GUID provided by Flinks.
        - name: requestId
          in: path
          required: true
          schema:
            type: string
          description: Unique identifier provided after a successful request to the Authorize endpoint.
        - name: x-api-key
          in: header
          schema:
            type: string
          description: Security feature that grants access to this endpoint.
        - name: Content-Type
          in: header
          required: true
          description: Content type of the request.
          schema:
            type: string
            default: application/json
            example: "application/json"
      responses:
        "200":
          description: Result
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                  Accounts:
                    type: array
                    items:
                      type: object
                      properties:
                        EftEligibleRatio:
                          type: integer
                        ETransferEligibleRatio:
                          type: integer
                        Title:
                          type: string
                        AccountNumber:
                          type: string
                        LastFourDigits:
                          type: string
                        Balance:
                          type: object
                          properties:
                            Available:
                              type: number
                            Current:
                              type: number
                            Limit:
                              type: string
                        Category:
                          type: string
                        Type:
                          type: string
                        Currency:
                          type: string
                        Holder:
                          type: object
                          properties:
                            Name:
                              type: string
                            Address:
                              type: object
                              properties:
                                CivicAddress:
                                  type: string
                                City:
                                  type: string
                                Province:
                                  type: string
                                PostalCode:
                                  type: string
                                POBox:
                                  type: string
                                Country:
                                  type: string
                            Email:
                              type: string
                            PhoneNumber:
                              type: string
                        AccountType:
                          type: string
                          nullable: true
                          enum:
                            - Personal
                            - Business
                          description: Type of account.
                        Id:
                          type: string
                  Login:
                    type: object
                    properties:
                      Username:
                        type: string
                      IsScheduledRefresh:
                        type: boolean
                      LastRefresh:
                        type: string
                      Type:
                        type: string
                      Id:
                        type: string
                  Institution:
                    type: string
                  RequestId:
                    type: string
        "202":
          description: Operation Pending
          content:
            application/json:
              schema:
                type: object
                properties:
                  FlinksCode:
                    type: string
                  Links:
                    type: array
                    items:
                      type: object
                      properties:
                        rel:
                          type: string
                        href:
                          type: string
                        example:
                          type: string
                  HttpStatusCode:
                    type: integer
                  Message:
                    type: string
                  RequestId:
                    type: string
              example:
                FlinksCode: "OPERATION_PENDING"
                Links:
                  - rel: "GetAccountsSummaryAsync"
                    href: "/GetAccountsSummaryAsync"
                    example: "/GetAccountsSummaryAsync/077785a3-fd0f-42f7-9251-ee2ff7f3b4ff"
                HttpStatusCode: 202
                Message: "Your operation is still processing"
                RequestId: "077785a3-fd0f-42f7-9251-ee2ff7f3b4ff"
        "400":
          description: Session Nonexistent
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                  Message:
                    type: string
                  FlinksCode:
                    type: string
              example:
                HttpStatusCode: 400
                Message: "RequestId 1df20baf-65d5-40ee-9be0-8058c13042e2 is invalid or session has ended"
                FlinksCode: "SESSION_NONEXISTENT"

  /v3/{customerId}/BankingServices/GetAccountsDetailAsync/{requestId}:
    get:
      tags:
        - Connect
      summary: Get Accounts Detail Async
      description: Get pending requests from GetAccountsDetail.
      operationId: getAccountsDetailAsync
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
          description: Key that grants access to the environment specified in the instance field. By default, the value is set to the toolbox environment key.
        - name: requestId
          in: path
          required: true
          schema:
            type: string
          description: Unique identifier provided after a successful request to the **/GetAccountsDetail** endpoint.
        - name: x-api-key
          in: header
          schema:
            type: string
          description: Security feature that grants access to this endpoint, but it must be enabled by Flinks. Please contact your Flinks representative to activate it.
        - name: Content-Type
          in: header
          required: true
          description: Content type of the request.
          schema:
            type: string
            enum: ["application/json"]
            default: application/json
            example: "application/json"
        - name: Accept
          in: header
          required: true
          description: Acceptable response media type.
          schema:
            type: string
            default: application/json
            example: "application/json"
      responses:
        "200":
          description: Result
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                    description: HTTP status code of the response.
                  Accounts:
                    type: array
                    description: Array containing detailed information about each linked account.
                    items:
                      type: object
                      properties:
                        Id:
                          type: string
                          description: Unique identifier for the account.
                        Title:
                          type: string
                          description: Display name of the account.
                        AccountNumber:
                          type: string
                          description: Full account number.
                        LastFourDigits:
                          type: string
                          description: Last four digits of the account number.
                        TransitNumber:
                          type: string
                          description: Transit or routing number for the account.
                        InstitutionNumber:
                          type: string
                          description: Institution number for the bank.
                        Balance:
                          type: object
                          description: Account balance information.
                          properties:
                            Available:
                              type: number
                              description: Available balance in the account.
                            Current:
                              type: number
                              description: Current balance in the account.
                            Limit:
                              type: string
                              description: Credit limit or overdraft limit.
                        Category:
                          type: string
                          description: Category of the account.
                        Type:
                          type: string
                          description: Type of account.
                        Currency:
                          type: string
                          description: Currency code.
                        Holder:
                          type: object
                          description: Account holder information.
                          properties:
                            Name:
                              type: string
                              description: Account holder name.
                            Address:
                              type: object
                              description: Account holder address.
                              properties:
                                CivicAddress:
                                  type: string
                                  description: Street address.
                                City:
                                  type: string
                                  description: City name.
                                Province:
                                  type: string
                                  description: Province/State code.
                                PostalCode:
                                  type: string
                                  description: Postal/ZIP code.
                                POBox:
                                  type: string
                                  nullable: true
                                  description: P.O. Box number if applicable.
                                Country:
                                  type: string
                                  description: Country code.
                            Email:
                              type: string
                              description: Account holder email.
                            PhoneNumber:
                              type: string
                              description: Account holder phone number.
                        Transactions:
                          type: array
                          description: Array of transaction records for the account.
                          items:
                            type: object
                            properties:
                              Id:
                                type: string
                                description: Unique identifier for the transaction.
                              Date:
                                type: string
                                description: Transaction date.
                              Description:
                                type: string
                                description: Description of the transaction.
                              Debit:
                                type: number
                                nullable: true
                                description: Debit amount if applicable.
                              Credit:
                                type: number
                                nullable: true
                                description: Credit amount if applicable.
                              Balance:
                                type: number
                                description: Account balance after this transaction.
                        AccountType:
                          type: string
                          nullable: true
                          enum:
                            - Personal
                            - Business
                          description: Type of account.
                  InstitutionName:
                    type: string
                    description: Name of the financial institution.
                  Login:
                    type: object
                    description: Login information.
                    properties:
                      Username:
                        type: string
                        description: Login username.
                      IsScheduledRefresh:
                        type: boolean
                        description: Indicates if scheduled refresh is enabled.
                      LastRefresh:
                        type: string
                        description: Timestamp of last data refresh.
                      Type:
                        type: string
                        description: Login type.
                      Id:
                        type: string
                        description: Unique login identifier.
                  InstitutionId:
                    type: integer
                    description: Numeric identifier for the financial institution.
                  Institution:
                    type: string
                    description: Institution name or code.
                  RequestId:
                    type: string
                    description: Unique request identifier.
              example:
                HttpStatusCode: 200
                Accounts:
                  - Transactions:
                      - Date: "2025-01-31"
                        Code: null
                        Description: "PAYROLL - Stripe Paycheck"
                        Debit: 1000.4
                        Credit: 1500.25
                        Balance: 5105.6
                        Id: "94584aed-7c98-42a4-9836-9f8557db63f5"
                      - Date: "2025-01-30"
                        Code: null
                        Description: "Credit Card Payment"
                        Debit: 150
                        Credit: 100
                        Balance: 3605
                        Id: "c2fb949a-86aa-470f-9a76-deb10d7c2b57"
                    TransitNumber: "12347"
                    InstitutionNumber: "777"
                    OverdraftLimit: 100.5
                    Title: "Chequing Account"
                    AccountNumber: "7641238"
                    LastFourDigits: null
                    Balance:
                      Available: 5405.5
                      Current: 5105.5
                      Limit: 5105.5
                    Category: "Operations"
                    Type: "Chequing"
                    Currency: "CAD"
                    Holder:
                      Name: "Testing"
                      Address:
                        CivicAddress: "25 york street"
                        City: "TOR"
                        Province: "ON"
                        PostalCode: "M5J 2V5"
                        POBox: null
                        Country: "CA"
                      Email: "test_user1@nomail.com"
                      PhoneNumber: "9051234567"
                    AccountType: null
                    Id: "27a9ffa0-c6b9-4cc6-9eaa-aa9efa07a889"
                InstitutionName: "FlinksCapital"
                Login:
                  Username: "chat_gpt"
                  IsScheduledRefresh: false
                  LastRefresh: "2025-01-31T17:40:54.569261"
                  Type: "Personal"
                  Id: "5602459c-f6d0-4ca0-6750-08dccdcadcc0"
                InstitutionId: 14
                Institution: "FlinksCapital"
                RequestId: "22178382-31ee-485c-a750-c20929b6a344"
        "202":
          description: Operation Pending
          content:
            application/json:
              schema:
                type: object
                properties:
                  FlinksCode:
                    type: string
                    description: "Flinks-specific code: `OPERATION_PENDING`."
                  Links:
                    type: array
                    description: Links to async endpoint to check status.
                    items:
                      type: object
                      properties:
                        rel:
                          type: string
                          description: Relationship type of the link.
                        href:
                          type: string
                          description: Endpoint path.
                        example:
                          type: string
                          description: Example value.
                  HttpStatusCode:
                    type: integer
                    description: HTTP status code of the response.
                  Message:
                    type: string
                    description: 'Status message: "Your operation is still processing".'
                  RequestId:
                    type: string
                    description: Unique request identifier.
              example:
                FlinksCode: "OPERATION_PENDING"
                Links:
                  - rel: "GetAccountsDetailAsync"
                    href: "/GetAccountsDetailAsync"
                    example: "/GetAccountsDetailAsync/077785a3-fd0f-42f7-9251-ee2ff7f3b4ff"
                HttpStatusCode: 202
                Message: "Your operation is still processing"
                RequestId: "077785a3-fd0f-42f7-9251-ee2ff7f3b4ff"
        "400":
          description: Session Nonexistent
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                    description: HTTP status code of the response.
                  Message:
                    type: string
                    description: Error message describing the issue.
                  FlinksCode:
                    type: string
                    description: "Flinks-specific error code: `SESSION_NONEXISTENT`."
              example:
                HttpStatusCode: 400
                Message: "RequestId 1df20baf-65d5-40ee-9be0-8058c13042e2 is invalid or session has ended"
                FlinksCode: "SESSION_NONEXISTENT"

  /v3/{customerId}/BankingServices/GetMFAQuestions/{loginId}:
    get:
      tags:
        - Connect
      summary: Get MFA Questions
      description: Retrieve the multi-factor authentication (MFA) questions associated with a user's account.
      operationId: getMfaQuestions
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
          description: Unique GUID provided by Flinks.
        - name: loginId
          in: path
          required: true
          schema:
            type: string
          description: Unique identifier that represents a specific user.
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  Message:
                    type: string
                    description: Status message indicating the result of the request.
                  Questions:
                    type: array
                    description: Array of MFA question objects.
                    items:
                      type: object
                      properties:
                        Question:
                          type: string
                          description: The security question text.
              example:
                Message: "SUCCESS"
                Questions:
                  - Question: "What shape do people like most?"
                  - Question: "What is the best country on earth?"
        "400":
          description: Invalid Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                    description: HTTP status code of the response.
                  Message:
                    type: string
                    description: Error message describing the issue.
                  FlinksCode:
                    type: string
                    description: "Flinks-specific error code: INVALID_REQUEST."
              example:
                HttpStatusCode: 400
                Message: "The login 'bb8b8569-3bfc-43c1-ae31-08d6de7f1675' is invalid."
                FlinksCode: "INVALID_REQUEST"

  /v3/{customerId}/BankingServices/GetNightlyRefreshStatus:
    get:
      tags:
        - Connect
      summary: Get Nightly Refresh Status
      description: Troubleshoot nightly refreshes and see ineligible accounts.
      operationId: getNightlyRefreshStatus
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
          description: Unique GUID provided by Flinks.
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
            default: "Bearer <API_Secret>"
          description: Contains the Bearer Token (API secret key) that's provided by Flinks.
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                    description: HTTP status code of the response.
                  IneligibleCards:
                    type: array
                    description: Array of cards that are not eligible for nightly refresh.
                    items:
                      type: object
                      properties:
                        LoginId:
                          type: string
                          description: Unique identifier for the user's account.
                        LastRefreshDate:
                          type: string
                          description: Date and time of the last refresh attempt.
                        LastRefreshState:
                          type: string
                          description: State of the last refresh attempt.
                        LastRefreshErrorCode:
                          type: string
                          nullable: true
                          description: Error code from the last refresh attempt, if applicable.
              example:
                HttpStatusCode: 200
                IneligibleCards:
                  - LoginId: "d12c531b-9622-4477-38c5-08d779b6f27e"
                    LastRefreshDate: "2020-06-18T03:26:34.6854364"
                    LastRefreshState: "AnsweringSecurityChallenge"
                    LastRefreshErrorCode: null
                Message: "The login 'bb8b8569-3bfc-43c1-ae31-08d6de7f1675' is invalid."
                FlinksCode: "INVALID_REQUEST"

  /v3/{customerId}/BankingServices/Institutions/RoutingNumber/{routingNumber}:
    get:
      tags:
        - Connect
      summary: Get Institution by Routing Number
      description: Returns the details of the institution corresponding to the routing number.
      operationId: getInstitutionByRoutingNumber
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
          description: Unique GUID provided by Flinks.
        - name: routingNumber
          in: path
          required: true
          schema:
            type: string
          description: Routing Number for the Institution details to be accessed.
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  Id:
                    type: integer
                    description: Unique identifier for the institution.
                  Localizations:
                    type: array
                    description: Localized information for the institution.
                    items:
                      type: object
                      properties:
                        Language:
                          type: string
                          description: Language code.
                        Name:
                          type: string
                          description: Localized name of the institution.
                        Urls:
                          type: array
                          description: URLs associated with the institution.
                          items:
                            type: object
                            properties:
                              Type:
                                type: string
                                description: Type of URL.
                              Url:
                                type: string
                                description: The URL.
                  Status:
                    type: string
                    description: Status of the institution.
                  Country:
                    type: string
                    description: Country code.
                  RoutingNumbers:
                    type: array
                    description: List of all routing numbers associated with the institution.
                    items:
                      type: string
              example:
                Id: 20
                Localizations:
                  - Language: "en"
                    Name: "Chase Bank"
                    Urls:
                      - Type: "Main"
                        Url: "https://www.chase.com/"
                Status: "Enabled"
                Country: "US"
                RoutingNumbers:
                  - "071000770"
                  - "072413201"
                  - "065000029"
                  - "071901141"
                  - "111100022"
                  - "043202409"
                  - "311972788"
                  - "121143257"
                  - "021000021"
                  - "322271627"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                    description: HTTP status code of the response.
                  Message:
                    type: string
                    description: Error message indicating no institution was found.
              example:
                HttpStatusCode: 404
                Message: "No institution was found with the Routing Number: 322271622"

  /v3/{customerId}/BankingServices/SetScheduledRefresh:
    patch:
      tags:
        - Connect
      summary: Set Scheduled Refresh
      description: Enable or disable nightly refreshes for a specific account.
      operationId: setScheduledRefresh
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
          description: Unique GUID provided by Flinks.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - isActivated
              properties:
                loginId:
                  type: string
                  description: Access Token that's associated with a customer account.
                isActivated:
                  type: boolean
                  default: false
                  description: Enabled or disabled (true or false).
              example:
                isActivated: false
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: string
                description: Confirmation message.
              example: "LoginId bb8b8569-3bfc-43c1-ae31-08d6decf1675 has now been activated for automatic refresh"
        "400":
          description: Invalid Login
          content:
            application/json:
              schema:
                type: object
                properties:
                  HttpStatusCode:
                    type: integer
                    description: HTTP status code of the response.
                  Message:
                    type: string
                    description: Error message describing the issue.
                  FlinksCode:
                    type: string
                    description: "Flinks-specific error code: INVALID_LOGIN."
              example:
                HttpStatusCode: 400
                Message: "We couldn't trace the source of this request."
                FlinksCode: "INVALID_LOGIN"

  /v3/{customerId}/BankingServices/FieldMatch:
    post:
      tags:
        - Connect
      summary: Field Match
      description: Verify customer identity and validate information against account data.
      operationId: fieldMatch
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
            default: 43387ca6-0391-4c82-857d-70d95f087ecb
          description: Unique GUID provided by Flinks.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                loginId:
                  type: string
                  description: The loginId you received after successfully connecting a customer account.
                fullName:
                  type: string
                  description: The user's full name.
                firstName:
                  type: string
                  description: The user's first name.
                middleName:
                  type: string
                  description: The user's middle name.
                lastName:
                  type: string
                  description: The user's last name.
                postalCode:
                  type: string
                  description: The user's postal code.
                civicAddress:
                  type: string
                  description: The user's home address.
                city:
                  type: string
                  description: The user's city.
                province:
                  type: string
                  description: The user's province.
                email:
                  type: string
                  description: The user's email address.
                phone:
                  type: string
                  description: The user's phone number.
                threshold:
                  type: string
                  description: A value between 0-1 that indicates the minimum threshold you require for a match.
              example: {}
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  overallMatch:
                    type: boolean
                    description: Indicates whether the overall match meets the threshold.
                  fieldLevelMatch:
                    type: object
                    description: Boolean values indicating whether each field meets the threshold.
                    properties:
                      fullName:
                        type: boolean
                        description: Whether the full name matches.
                      phone:
                        type: boolean
                        description: Whether the phone number matches.
                      email:
                        type: string
                        nullable: true
                        description: Whether the email matches (null if no data available).
                      civicAddress:
                        type: boolean
                        description: Whether the civic address matches.
                      city:
                        type: boolean
                        description: Whether the city matches.
                      province:
                        type: boolean
                        description: Whether the province matches.
                      postalCode:
                        type: boolean
                        description: Whether the postal code matches.
                      noData:
                        type: array
                        description: Fields for which no data was available to compare.
                        items:
                          type: object
                  overallMatchRate:
                    type: number
                    format: double
                    description: The overall match rate as a decimal between 0 and 1.
                  fieldLevelMatchRate:
                    type: object
                    description: Decimal values indicating the match rate for each field.
                    properties:
                      fullName:
                        type: number
                        format: double
                        description: Match rate for the full name.
                      phone:
                        type: integer
                        description: Match rate for the phone number.
                      email:
                        type: string
                        nullable: true
                        description: Match rate for the email (null if no data available).
                      civicAddress:
                        type: number
                        format: double
                        description: Match rate for the civic address.
                      city:
                        type: integer
                        description: Match rate for the city.
                      province:
                        type: integer
                        description: Match rate for the province.
                      postalCode:
                        type: integer
                        description: Match rate for the postal code.
                      noData:
                        type: array
                        description: Fields for which no data was available to compare.
                        items:
                          type: object
              example:
                overallMatch: true
                fieldLevelMatch:
                  fullName: true
                  phone: true
                  email: null
                  civicAddress: true
                  city: true
                  province: true
                  postalCode: true
                  noData: []
                overallMatchRate: 0.93666667
                fieldLevelMatchRate:
                  fullName: 0.83
                  phone: 1
                  email: null
                  civicAddress: 0.79
                  city: 1
                  province: 1
                  postalCode: 1
                  noData: []
        "400":
          description: Invalid Request
          content:
            application/json:
              schema:
                type: object
                description: Error response when the request is invalid.

components:
  securitySchemes:
    XApiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: Optional security feature (must be enabled by Flinks). Contact your Flinks representative to activate.

  schemas:
    Error:
      type: object
      properties:
        HttpStatusCode:
          type: integer
        Message:
          type: string
        FlinksCode:
          type: string

    Login:
      type: object
      description: End user's technical login information
      properties:
        Id:
          type: string
          format: uuid
          example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
        Username:
          type: string
          example: greatday
        IsScheduledRefresh:
          type: boolean
          default: false
          example: false
        LastRefresh:
          type: string
          format: date-time
          example: "2026-01-21T20:47:47.145999"
        Type:
          type: string
          nullable: true
          example: "Personal"

    AuthorizeRequest:
      type: object
      example:
        LoginId: "5e115eac-1209-4f19-641c-08d6d484e2fe"
        MostRecentCached: true
      properties:
        LoginId:
          type: string
          description: "Identifier returned by Flinks Connect after a successful customer authentication. Use this in combination with `MostRecentCached: true` to open a session against the cached data aggregated by the widget. This is the recommended flow for most integrations."
          example: "5e115eac-1209-4f19-641c-08d6d484e2fe"
        MostRecentCached:
          type: boolean
          description: "Controls how the session is opened. `true` = cached mode (recommended): pair with `LoginId` to retrieve the most recently aggregated data for a customer. `false` = live mode: initiates a fresh live connection to the financial institution; typically used for manual refresh or direct API (legacy) integrations with `Username`/`Password`."
          default: true
          example: true
        Username:
          type: string
          description: "Username used to connect to the financial institution. Only used for direct API (legacy) integrations when `MostRecentCached` is `false`. Flinks Connect handles authentication for the widget integration path."
          example: "greatday"
        Password:
          type: string
          description: "Password used to connect to the financial institution. Only used for direct API (legacy) integrations when `MostRecentCached` is `false`."
          example: "everyday"
        Institution:
          type: string
          description: "Unique identifier of the financial institution. Only required for direct API (legacy) integrations. The widget sets this automatically."
          example: "FlinksCapital"
        Language:
          type: string
          description: Preferred language for the connection process (en | fr)
          default: "en"
          example: "en"
        Save:
          type: boolean
          description: If set to true, all collected data and credentials will be saved after the request is completed.
          default: true
          example: true
        Tag:
          type: string
          description: Custom string to attach to a specific request.
        RequestId:
          type: string
          format: uuid
          description: "Required for MFA. Pass the RequestId received in the 203 response."
        SecurityResponses:
          type: object
          description: "Pass this parameter if you received a 203 response from the /Authorize endpoint and are calling it a second time to complete MFA questions. This parameter contains the user's responses to the MFA questions, where keys are the prompts and values are arrays of answers."
          additionalProperties:
            type: array
            items:
              type: string

    AuthorizeResponse200:
      type: object
      properties:
        HttpStatusCode:
          type: integer
          description: HTTP status code
          example: 200
        Links:
          type: array
          description: List of available data endpoints
          items:
            $ref: "#/components/schemas/Link"
          example:
            - rel: AccountsDetail
              href: /GetAccountsDetail
              example: null
            - rel: AccountsSummary
              href: /GetAccountsSummary
              example: null
            - rel: Statements
              href: /GetStatements
              example: null
        InstitutionName:
          type: string
          description: Name of the financial institution
          example: FlinksCapital
        Login:
          allOf:
            - $ref: "#/components/schemas/Login"
          example:
            Username: Greatday
            IsScheduledRefresh: false
            LastRefresh: "2026-01-21T20:47:47.145999"
            Type: "Personal"
            Id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
        InstitutionId:
          type: integer
          description: Unique identifier of the financial institution
          example: 14
        Institution:
          type: string
          description: Name of the financial institution
          example: FlinksCapital
        RequestId:
          type: string
          format: uuid
          description: Unique request identifier used for subsequent data calls
          example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

    AuthorizeResponse203:
      type: object
      properties:
        Links:
          type: array
          items:
            $ref: "#/components/schemas/Link"
        HttpStatusCode:
          type: integer
          example: 203
        SecurityChallenges:
          type: array
          description: List of security questions that need to be answered
          items:
            $ref: "#/components/schemas/SecurityChallenge"
        Institution:
          type: string
          example: FlinksCapital
        RequestId:
          type: string
          format: uuid
          example: 9022abc2-8a2e-4b06-a06e-c3e5449c4d10

    Link:
      type: object
      properties:
        rel:
          type: string
          description: Relationship type of the link
          example: AccountsDetail
        href:
          type: string
          description: Endpoint path
          example: /GetAccountsDetail
        example:
          type: string
          nullable: true
          example: null

    SecurityChallenge:
      type: object
      description: User's response to a security challenge, where keys are the prompts and values are arrays of answers.
      additionalProperties:
        type: array
        items:
          type: string