eToro Cash Accounts API

The Cash Accounts API from eToro — 5 operation(s) for cash accounts.

OpenAPI Specification

etoro-cash-accounts-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Deprecated eToro Public API operations Agent Portfolios Cash Accounts API
  version: v1.158.0
  description: Snapshot of API operations that existed in the previous docs OpenAPI file and are no longer present in the current upstream Swagger.
tags:
- name: Cash Accounts
paths:
  /api/v1/money/accounts/cash:
    post:
      tags:
      - Cash Accounts
      summary: Create a cash account
      description: Initiates the creation of a cash account. The user must be eligible (IbanEligible or CardAndIbanEligible). Returns 202 Accepted with a requestReferenceId for polling status.
      operationId: createCashAccount
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCashAccountRequest'
            example:
              requestReferenceId: a1b2c3d4-e5f6-7890-abcd-ef1234567890
              tncDocId: 42
      responses:
        '202':
          description: Request accepted for processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCashAccountAcceptedResponse'
              example:
                requestReferenceId: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                eligibilityStatus: CardAndIbanEligible
                status: Accepted
        '401':
          description: Unauthorized
        '409':
          description: Duplicate requestReferenceId
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
              example:
                errorCode: DuplicateRequestReferenceId
                errorMessage: A request with this requestReferenceId already exists
        '422':
          description: User not eligible for cash account creation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessErrorResponse'
              example:
                errorCode: NotEligibleForCashAccountCreation
                errorMessage: User is not eligible to create a cash account
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
      parameters:
      - name: x-request-id
        in: header
        required: true
        schema:
          type: string
          format: uuid
          example: bbb35ad7-fefa-4820-a92f-608ed1978f53
        description: A unique request identifier.
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663
        description: API key for authentication.
      - name: x-user-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_
        description: User-specific authentication key.
    get:
      tags:
      - Cash Accounts
      summary: Get user cash accounts
      description: Returns the eligibility of a user to create a cash account, and lists the existing cash accounts including the related bank account details and the cards related to each account. The user is identified from the OAuth token.
      operationId: getCashAccounts
      parameters:
      - name: x-request-id
        in: header
        required: true
        schema:
          type: string
          format: uuid
          example: 6a6ce5b2-e1ee-4c9a-ac8c-f2cdc7d27fb6
        description: A unique request identifier.
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663
        description: API key for authentication.
      - name: x-user-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_
        description: User-specific authentication key.
      responses:
        '200':
          description: Successfully retrieved cash accounts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CashAccountsResponse'
              example:
                accounts:
                - id: f0995efc-25a1-465e-bec3-d309aaf00ede
                  currency: GBP
                  status: Active
                  bankAccount:
                    id: 0f5270fe-200a-4c35-b788-bda212973fa2
                    accountName: John Doe
                    identifiers:
                    - type: bankAccountNumber
                      value: '11549380'
                    - type: ncc
                      value: '041335'
                    - type: iban
                      value: GB08MRMI04133511549380
                    - type: bic
                      value: MRMIGB22XXX
                    region: UK
                    countryCode: GB
                    bankProvider: ClearBank
                    institutionName: ClearBank
                  cards:
                  - id: 7f446164-57d8-4b87-9f0f-958083c7f459
                    status: Activated
                    maskedPan: 459688******0196
                    isVirtual: false
                    name: John Doe
                    created: '2026-04-27T12:40:55.7766667'
                    expirationDate: '2029-04-30T23:59:59'
                eligibilityStatus: CardAndIbanEligible
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
              example:
                errorCode: Unauthorized
                errorMessage: Unauthorized
        '403':
          description: Forbidden - Insufficient permissions
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
              example:
                errorCode: TooManyRequests
                errorMessage: Too many requests
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
              example:
                errorCode: GeneralError
                errorMessage: Internal server error. Please retry or contact support
  /api/v1/money/accounts/cash/eligibility:
    get:
      tags:
      - Cash Accounts
      summary: Get cash account creation eligibility
      description: Returns the user's eligibility to create a cash account, along with prerequisites (T&C), contact info, and basic user info needed for account creation.
      operationId: getCashAccountEligibility
      parameters:
      - name: x-request-id
        in: header
        required: true
        schema:
          type: string
          format: uuid
          example: 17c0c69b-4ea3-45d8-b629-0f293cf6117b
        description: A unique request identifier.
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663
        description: API key for authentication.
      - name: x-user-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_
        description: User-specific authentication key.
      responses:
        '200':
          description: Eligibility details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CashAccountEligibilityResponse'
              example:
                eligibilityStatus: CardAndIbanEligible
                ineligibilityReasons: []
                prerequisite:
                  tncInfo:
                    tncDocId: 42
                    url: https://example.com/tnc
                contactInfo:
                  address: 10 High Street
                  buildingNumber: '10'
                  city: London
                  zipCode: EC1A 1BB
                  country: GB
                  phone: '+441234567890'
                userInfo:
                  firstName: John
                  middleName: null
                  lastName: Doe
        '401':
          description: Unauthorized
        '403':
          description: Forbidden - Insufficient permissions
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
  /api/v1/money/accounts/cash/status:
    get:
      tags:
      - Cash Accounts
      summary: Get cash account creation status
      description: Polls the creation status of a previously submitted cash account creation request. Returns the account details when status is Success.
      operationId: getCashAccountCreationStatus
      parameters:
      - name: x-request-id
        in: header
        required: true
        schema:
          type: string
          format: uuid
          example: 40185c00-42db-4206-ae6d-c37f78242601
        description: A unique request identifier.
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663
        description: API key for authentication.
      - name: x-user-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_
        description: User-specific authentication key.
      - name: requestReferenceId
        in: query
        required: true
        schema:
          type: string
          format: uuid
        description: The requestReferenceId returned from the POST create endpoint.
      responses:
        '200':
          description: Creation status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CashAccountCreationStatusResponse'
              example:
                requestReferenceId: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                status: Pending
                updatedAt: '2026-05-13T10:00:00Z'
                account: null
        '400':
          description: Bad Request - missing requestReferenceId
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Creation request not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
  /api/v1/money/accounts/cash/{accountId}:
    get:
      tags:
      - Cash Accounts
      summary: Get cash account by id
      description: Returns a single cash account. The response body is identical in shape to one element of `accounts` from GET /api/v1/money/accounts/cash (CashAccount). Path accountId must match CashAccount.id for that element.
      operationId: getCashAccountById
      parameters:
      - name: x-request-id
        in: header
        required: true
        schema:
          type: string
          format: uuid
          example: 4f9b4d15-2f36-4b68-86bb-fb7f66248001
        description: A unique request identifier.
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663
        description: API key for authentication.
      - name: x-user-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_
        description: User-specific authentication key.
      - name: accountId
        in: path
        required: true
        schema:
          type: string
          format: uuid
        description: Must equal CashAccount.id from the list endpoint.
      responses:
        '200':
          description: One cash account (same schema as list item)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CashAccount'
              example:
                id: f0995efc-25a1-465e-bec3-d309aaf00ede
                currency: GBP
                status: Active
                bankAccount:
                  id: 0f5270fe-200a-4c35-b788-bda212973fa2
                  accountName: John Doe
                  identifiers:
                  - type: bankAccountNumber
                    value: '11549380'
                  - type: ncc
                    value: '041335'
                  - type: iban
                    value: GB08MRMI04133511549380
                  - type: bic
                    value: MRMIGB22XXX
                  region: UK
                  countryCode: GB
                  bankProvider: ClearBank
                  institutionName: ClearBank
                cards:
                - id: 7f446164-57d8-4b87-9f0f-958083c7f459
                  status: Activated
                  maskedPan: 459688******0196
                  isVirtual: false
                  name: John Doe
                  created: '2026-04-27T12:40:55.7766667'
                  expirationDate: '2029-04-30T23:59:59'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
              example:
                errorCode: Unauthorized
                errorMessage: Unauthorized
        '403':
          description: Forbidden - Insufficient permissions
        '404':
          description: Account not found or not owned by the user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
              example:
                errorCode: AccountNotFound
                errorMessage: Account not found
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
              example:
                errorCode: TooManyRequests
                errorMessage: Too many requests
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
              example:
                errorCode: GeneralError
                errorMessage: Internal server error. Please retry or contact support
  /api/v1/money/accounts/cash/{accountId}/transactions:
    get:
      tags:
      - Cash Accounts
      summary: List cash account transactions (paginated)
      description: Returns a cursor-paginated list of transactions for the given cash account. Use pageSize and pageToken for pagination; nextPageToken is null when there is no next page.
      operationId: listCashAccountTransactions
      parameters:
      - name: x-request-id
        in: header
        required: true
        schema:
          type: string
          format: uuid
          example: 06118bb9-9ae8-436f-b7fe-8ad7e1b68848
        description: A unique request identifier.
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663
        description: API key for authentication.
      - name: x-user-key
        in: header
        required: true
        schema:
          type: string
          format: password
          example: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_
        description: User-specific authentication key.
      - name: accountId
        in: path
        required: true
        schema:
          type: string
          format: uuid
        description: Cash account identifier (must equal CashAccount.id).
      - name: pageSize
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 500
          default: 50
        description: Page size (default 50, max 500).
      - name: pageToken
        in: query
        required: false
        schema:
          type: string
        description: Opaque pagination cursor from pagination.nextPageToken of the previous response.
      responses:
        '200':
          description: Successful response with transaction results and pagination metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CashAccountTransactionsResponse'
              example:
                results:
                - id: '12345'
                  accountId: f0995efc-25a1-465e-bec3-d309aaf00ede
                  transactionType: card
                  transactionSubtype: cardPayment
                  direction: debit
                  status: settled
                  amount: '100.00'
                  currency: USD
                  originalAmount: '90.00'
                  originalCurrency: EUR
                  conversionRate: '1.1111'
                  postedAt: '2026-05-03T10:16:12Z'
                  counterparty:
                    name: Acme Store
                    type: merchant
                  cardTransactionDetails:
                    cardId: '101'
                    merchantName: Acme Store
                    country: US
                    authorizationStatus: normal
                  bankTransferTransactionDetails: null
                  internalTransferTransactionDetails: null
                pagination:
                  pageSize: 50
                  nextPageToken: eyJsYXN0SWQiOjEyMzk1fQ==
                  hasNext: true
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
        '404':
          description: Account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
components:
  schemas:
    InternalTransferDetails:
      type: object
      required:
      - transferId
      properties:
        transferId:
          type: string
    CreateCashAccountRequest:
      type: object
      required:
      - requestReferenceId
      - tncDocId
      properties:
        requestReferenceId:
          type: string
          format: uuid
          description: Client-generated idempotency key
        tncDocId:
          type: integer
          format: int64
          description: Terms and conditions document ID accepted by the user
    CashAccountPrerequisite:
      type: object
      properties:
        tncInfo:
          $ref: '#/components/schemas/TncInfo'
    PaginationCursor:
      type: object
      required:
      - pageSize
      - hasNext
      properties:
        pageSize:
          type: integer
        nextPageToken:
          type: string
          nullable: true
        hasNext:
          type: boolean
    CashAccountUserInfo:
      type: object
      properties:
        firstName:
          type: string
        middleName:
          type: string
          nullable: true
        lastName:
          type: string
    CashAccountEligibilityResponse:
      type: object
      required:
      - eligibilityStatus
      properties:
        eligibilityStatus:
          type: string
          enum:
          - Ineligible
          - CardAndIbanEligible
          - IbanEligible
        ineligibilityReasons:
          type: array
          items:
            type: string
          nullable: true
        prerequisite:
          $ref: '#/components/schemas/CashAccountPrerequisite'
          nullable: true
        contactInfo:
          $ref: '#/components/schemas/CashAccountContactInfo'
          nullable: true
        userInfo:
          $ref: '#/components/schemas/CashAccountUserInfo'
          nullable: true
    PublicErrorResponse:
      type: object
      description: Error response with code and message.
      required:
      - errorCode
      - errorMessage
      properties:
        errorCode:
          type: string
          description: Machine-readable error code.
          example: GeneralError
        errorMessage:
          type: string
          description: Human-readable error message.
          example: Internal server error. Please retry or contact support
    CashAccount:
      type: object
      description: A single cash account with bank details and cards (account type is implied by the cash-accounts API surface)
      required:
      - id
      - currency
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the cash account
          example: b2c3d4e5-f6a7-8901-bcde-f12345678901
        currency:
          type: string
          description: ISO 4217 currency code (e.g. GBP, EUR, AUD, DKK)
          example: GBP
        status:
          type: string
          description: Cash account status
          enum:
          - Active
          - ReceiveOnly
          - SpendOnly
          - Suspended
          - Blocked
          example: Active
        bankAccount:
          $ref: '#/components/schemas/BankAccount'
          description: Bank account linked to this cash account
        cards:
          type: array
          description: Payment cards linked to this cash account
          items:
            $ref: '#/components/schemas/Card'
    BankTransferDetails:
      type: object
      properties:
        bankIdentifier:
          type: array
          items:
            $ref: '#/components/schemas/BankIdentifierEntry'
        description:
          type: string
        paymentReference:
          type: string
    CashAccountTransaction:
      type: object
      required:
      - id
      - accountId
      - transactionType
      - transactionSubtype
      - direction
      - status
      - amount
      - currency
      - postedAt
      properties:
        id:
          type: string
        accountId:
          type: string
        transactionType:
          type: string
          enum:
          - card
          - internalTransfer
          - bankTransfer
          - balanceAdjustment
        transactionSubtype:
          type: string
          enum:
          - unknown
          - cardPayment
          - contactless
          - onlinePayment
          - cashWithdrawal
          - transferReceived
          - transfer
          - paymentReceived
          - payment
          - refund
          - fee
          - creditBalanceAdjustment
          - debitBalanceAdjustment
          - directDebit
          - cryptoToFiat
        direction:
          type: string
          enum:
          - debit
          - credit
        status:
          type: string
          enum:
          - failed
          - authorized
          - settled
          - rejected
          - returned
          - expired
          - unknown
        amount:
          type: string
          description: Decimal amount as string
        currency:
          type: string
          description: ISO 4217 alphabetic currency code
        originalAmount:
          type: string
          nullable: true
        originalCurrency:
          type: string
          nullable: true
        conversionRate:
          type: string
          nullable: true
        postedAt:
          type: string
          format: date-time
        counterparty:
          $ref: '#/components/schemas/Counterparty'
        cardTransactionDetails:
          $ref: '#/components/schemas/CardTransactionDetails'
          nullable: true
        bankTransferTransactionDetails:
          $ref: '#/components/schemas/BankTransferDetails'
          nullable: true
        internalTransferTransactionDetails:
          $ref: '#/components/schemas/InternalTransferDetails'
          nullable: true
    CashAccountContactInfo:
      type: object
      properties:
        address:
          type: string
        buildingNumber:
          type: string
        city:
          type: string
        zipCode:
          type: string
        country:
          type: string
        phone:
          type: string
    BankAccount:
      type: object
      description: Bank account linked to the cash account
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the bank account
          example: 0f5270fe-200a-4c35-b788-bda212973fa2
        accountName:
          type: string
          description: Name on the bank account
          example: John Doe
        identifiers:
          type: array
          description: List of bank identifiers represented as key/value entries. Identifier type availability is bank and country specific.
          items:
            $ref: '#/components/schemas/BankAccountIdentifier'
        region:
          type: string
          description: Region of the bank account
          example: UK
        countryCode:
          type: string
          description: ISO 3166-1 alpha-2 country code
          example: GB
        bankProvider:
          type: string
          description: Banking provider name
          example: ClearBank
        institutionName:
          type: string
          description: Name of the banking institution
          example: ClearBank
    BusinessErrorResponse:
      type: object
      required:
      - errorCode
      - errorMessage
      properties:
        errorCode:
          type: string
        errorMessage:
          type: string
    BankIdentifierEntry:
      type: object
      required:
      - name
      - value
      properties:
        name:
          type: string
        value:
          type: string
    BankAccountIdentifier:
      type: object
      required:
      - type
      - value
      description: One bank identifier entry as key/value pair. `type` defines the identifier kind and `value` contains the identifier as a string.
      properties:
        type:
          type: string
          description: Identifier type key. Allowed examples include bankAccountNumber, ncc, iban, bic, sortCode, and bsbCode.
          example: iban
        value:
          type: string
          description: Identifier value as returned by the bank.
          example: GB08MRMI04133511549380
    Counterparty:
      type: object
      properties:
        name:
          type: string
        type:
          type: string
          enum:
          - merchant
          - bank_account
          - internal_account
          - unknown
    CashAccountTransactionsResponse:
      type: object
      required:
      - results
      - pagination
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/CashAccountTransaction'
        pagination:
          $ref: '#/components/schemas/PaginationCursor'
    CashAccountsResponse:
      type: object
      description: Response containing the user's cash accounts and creation eligibility status
      required:
      - accounts
      - eligibilityStatus
      properties:
        accounts:
          type: array
          description: List of cash accounts
          items:
            $ref: '#/components/schemas/CashAccount'
        eligibilityStatus:
          type: string
          description: User's creation eligibility status for cash accounts
          enum:
          - Ineligible
          - CardAndIbanEligible
          - IbanEligible
          example: CardAndIbanEligible
    CashAccountCreationStatusResponse:
      type: object
      required:
      - requestReferenceId
      - status
      properties:
        requestReferenceId:
          type: string
          format: uuid
        status:
          type: string
          enum:
          - Pending
          - Success
          - Failure
        updatedAt:
          type: string
          format: date-time
          nullable: true
        account:
          $ref: '#/components/schemas/CashAccount'
          nullable: true
          description: Present only when status is Success
    CreateCashAccountAcceptedResponse:
      type: object
      required:
      - requestReferenceId
      - eligibilityStatus
      - status
      properties:
        requestReferenceId:
          type: string
          format: uuid
        eligibilityStatus:
          type: string
        status:
          type: string
          example: Accepted
    TncInfo:
      type: object
      description: Terms and conditions the client must show and the user must accept before withdrawal.
      required:
      - tncDocId
      - url
      properties:
        tncDocId:
          type: integer
          format: int64
          description: Identifier to send back on withdrawal creation.
          example: 12345
        url:
          type: string
          description: Link the client displays to user (webview/browser).
          example: https://example.com/tnc/withdraw-crypto-from-trading
    CardTransactionDetails:
      type: object
      properties:
        cardId:
          type: string
        merchantName:
          type: string
        country:
          type: string
        authorizationStatus:
          type: string
          enum:
          - unknown
          - normal
          - preAuthorize
          - finalAuthorize
          - incremental
          - instalment
          - preferredCustomer
          - recurring
          - delayedCharges
          - noShow
          - authorizeAdvice
          - refund
          - reversal
          - sysReversal
          - accountFunding
    Card:
      type: object
      description: Payment card linked to the cash account
      required:
      - id
      - status
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the card
          example: c3d4e5f6-a7b8-9012-cdef-123456789012
        status:
          type: string
          description: Current card status
          enum:
          - NotActivated
          - Activated
          - Blocked
          - Suspended
          - Risk
          - Stolen
          - Lost
          - Expired
          - Fraud
          example: Activated
        maskedPan:
          type: string
          description: Masked card number
          example: 459688******0196
        isVirtual:
          type: boolean
          description: Whether this is a virtual card
          example: false
        name:
          type: string
          description: Card display name
          example: John Doe
        created:
          type: string
          format: date-time
          description

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