> ## Documentation Index
> Fetch the complete documentation index at: https://docs.swipelux.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create account

> Create one customer account. Use `origin: "issued"` for platform-issued wallet accounts and virtual bank accounts, or `origin: "external"` for customer-owned wallet and bank accounts. Issued virtual bank accounts require `settlement.accountId`, the issued customer wallet account that receives settled funds.



## OpenAPI

````yaml /openapi.json post /v3/customers/{customerId}/accounts
openapi: 3.1.0
info:
  title: Swipelux API
  version: 3.1.0
servers:
  - url: https://platform.swipelux.com
    description: Production and sandbox; environment selected by API key
security:
  - apiKey: []
tags:
  - name: customers
    x-displayName: Customers
    description: >-
      Create, list, update, export, and archive individual and business
      customers and their related parties.
  - name: capabilities
    x-displayName: Capabilities
    description: >-
      Discover, request, inspect, and cancel customer capabilities and their
      institution applications.
  - name: accounts
    x-displayName: Accounts
    description: Create, inspect, update, and archive customer accounts.
  - name: recipients
    x-displayName: Recipients
    description: Create third-party recipients and their payout destinations.
  - name: Tasks
    x-displayName: Tasks
    description: Inspect customer, capability, application, account, and transfer tasks.
  - name: Task submissions
    x-displayName: Task submissions
    description: Submit and inspect immutable answers to customer tasks.
  - name: documents
    x-displayName: Documents
    description: Upload and inspect customer documents used in task submissions.
  - name: money-movement
    x-displayName: Money movement
    description: Create quotes, execute quote-backed transfers, and inspect transfer state.
  - name: rules
    x-displayName: Rules
    description: >-
      Standing instructions that act on incoming funds. A rule watches a
      custodial wallet account (`trigger`) and, when funds become available on
      it, transfers them to a target (`action`) — most commonly a sweep to a
      non-custodial wallet destination.


      Rules match at the account credit, not at the deposit rail: fiat deposits
      settle into the issued bank account's settlement wallet account, so a rule
      on that wallet account catches ACH/SEPA/SWIFT deposits, stablecoin
      deposits, and internal transfers alike.


      The action target reuses the money-movement vocabulary (`account` for the
      customer's own accounts, `destination` for recipient destinations). At
      most one non-archived rule may watch a given trigger account. Statuses:
      `active ⇄ paused → archived` — pause and resume through PATCH, archive
      (terminal) through DELETE.
  - name: sandbox
    x-displayName: Sandbox
    description: Simulate supported account, task, capability, and transfer outcomes.
  - name: institutions
    x-displayName: Institutions
    description: List institutions referenced by capabilities and applications.
  - name: webhooks
    x-displayName: Webhooks
    description: Configure webhook endpoints and inspect delivery activity.
externalDocs:
  description: Swipelux Documentation
  url: https://docs.swipelux.com
paths:
  /v3/customers/{customerId}/accounts:
    post:
      tags:
        - accounts
      summary: Create account
      description: >-
        Create one customer account. Use `origin: "issued"` for platform-issued
        wallet accounts and virtual bank accounts, or `origin: "external"` for
        customer-owned wallet and bank accounts. Issued virtual bank accounts
        require `settlement.accountId`, the issued customer wallet account that
        receives settled funds.
      operationId: postV3CustomersByCustomerIdAccounts
      parameters:
        - name: Idempotency-Key
          in: header
          required: true
          schema:
            type: string
            minLength: 1
            maxLength: 255
          example: idem_20260626_0001
          description: >-
            Required for effectful v3 requests (POST, PATCH, PUT, DELETE). Reuse
            the same key with the same body to replay the cached response.
        - schema:
            type: string
          in: path
          name: customerId
          required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - title: Issued wallet account
                  type: object
                  required:
                    - origin
                    - type
                    - currency
                    - network
                  properties:
                    origin:
                      type: string
                      enum:
                        - issued
                      description: >-
                        Account origin. Closed enum — exhaustive; additions
                        would be a breaking change.
                    type:
                      type: string
                      enum:
                        - wallet
                    currency:
                      type: string
                      example: USDC
                      description: Currency for this wallet account.
                    network:
                      type: string
                      example: base
                      description: >-
                        Blockchain network for this wallet account. Open enum —
                        values are added over time; clients must tolerate
                        unknown values.
                      enum:
                        - polygon
                        - ethereum
                        - base
                        - arbitrum
                        - optimism
                        - bsc
                        - avalanche
                    label:
                      type: string
                      example: Treasury wallet
                - title: External wallet account
                  type: object
                  required:
                    - origin
                    - type
                    - currency
                    - network
                    - details
                  properties:
                    origin:
                      type: string
                      enum:
                        - external
                      description: >-
                        Account origin. Closed enum — exhaustive; additions
                        would be a breaking change.
                    type:
                      type: string
                      enum:
                        - wallet
                    currency:
                      type: string
                      example: USDC
                      description: Currency for this wallet account.
                    network:
                      type: string
                      example: polygon
                      description: >-
                        Blockchain network for the external account. Open enum —
                        values are added over time; clients must tolerate
                        unknown values.
                      enum:
                        - polygon
                        - ethereum
                        - base
                        - arbitrum
                        - optimism
                        - bsc
                        - avalanche
                    details:
                      type: object
                      required:
                        - address
                      properties:
                        address:
                          type: string
                          example: '0x4997b0a68bebc1b0d80a93567ba7002be92b8b11'
                    label:
                      type: string
                      example: Customer Polygon wallet
                - title: Issued ACH account
                  type: object
                  required:
                    - origin
                    - type
                    - method
                    - currency
                    - settlement
                  properties:
                    origin:
                      type: string
                      enum:
                        - issued
                      description: >-
                        Account origin. Closed enum — exhaustive; additions
                        would be a breaking change.
                    type:
                      type: string
                      enum:
                        - bank
                    method:
                      type: string
                      enum:
                        - ach
                      description: >-
                        Payment method. Open enum — values are added over time;
                        clients must tolerate unknown values.
                    country:
                      type: string
                      example: US
                      description: >-
                        Optional ISO 3166-1 alpha-2 country code. Stored as
                        account metadata; issued accounts are provisioned and
                        routed by capability, not by this value. Defaults per
                        method when omitted.
                    currency:
                      type: string
                      example: USD
                    settlement:
                      type: object
                      required:
                        - accountId
                      properties:
                        accountId:
                          type: string
                          example: acc_3eG7xN2pQ4rT8mA1sL6dVc
                          description: >-
                            Issued customer wallet account that receives settled
                            funds.
                    label:
                      type: string
                      example: USD payin account
                - title: Issued wire account
                  type: object
                  required:
                    - origin
                    - type
                    - method
                    - currency
                    - settlement
                  properties:
                    origin:
                      type: string
                      enum:
                        - issued
                      description: >-
                        Account origin. Closed enum — exhaustive; additions
                        would be a breaking change.
                    type:
                      type: string
                      enum:
                        - bank
                    method:
                      type: string
                      enum:
                        - wire
                      description: >-
                        Payment method. Open enum — values are added over time;
                        clients must tolerate unknown values.
                    country:
                      type: string
                      example: US
                      description: >-
                        Optional ISO 3166-1 alpha-2 country code. Stored as
                        account metadata; issued accounts are provisioned and
                        routed by capability, not by this value. Defaults per
                        method when omitted.
                    currency:
                      type: string
                      example: USD
                    settlement:
                      type: object
                      required:
                        - accountId
                      properties:
                        accountId:
                          type: string
                          example: acc_3eG7xN2pQ4rT8mA1sL6dVc
                          description: >-
                            Issued customer wallet account that receives settled
                            funds.
                    label:
                      type: string
                      example: Wire payin account
                - title: Issued SEPA account
                  type: object
                  required:
                    - origin
                    - type
                    - method
                    - currency
                    - settlement
                  properties:
                    origin:
                      type: string
                      enum:
                        - issued
                      description: >-
                        Account origin. Closed enum — exhaustive; additions
                        would be a breaking change.
                    type:
                      type: string
                      enum:
                        - bank
                    method:
                      type: string
                      enum:
                        - sepa
                      description: >-
                        Payment method. Open enum — values are added over time;
                        clients must tolerate unknown values.
                    country:
                      type: string
                      example: DE
                      description: >-
                        Optional ISO 3166-1 alpha-2 country code. Stored as
                        account metadata; issued accounts are provisioned and
                        routed by capability, not by this value. Defaults per
                        method when omitted.
                    currency:
                      type: string
                      example: EUR
                    settlement:
                      type: object
                      required:
                        - accountId
                      properties:
                        accountId:
                          type: string
                          example: acc_3eG7xN2pQ4rT8mA1sL6dVc
                          description: >-
                            Issued customer wallet account that receives settled
                            funds.
                - title: Issued SWIFT account
                  type: object
                  required:
                    - origin
                    - type
                    - method
                    - currency
                    - settlement
                  properties:
                    origin:
                      type: string
                      enum:
                        - issued
                      description: >-
                        Account origin. Closed enum — exhaustive; additions
                        would be a breaking change.
                    type:
                      type: string
                      enum:
                        - bank
                    method:
                      type: string
                      enum:
                        - swift
                      description: >-
                        Payment method. Open enum — values are added over time;
                        clients must tolerate unknown values.
                    country:
                      type: string
                      example: US
                      description: >-
                        Optional ISO 3166-1 alpha-2 country code. Stored as
                        account metadata; issued accounts are provisioned and
                        routed by capability, not by this value. Defaults per
                        method when omitted.
                    currency:
                      type: string
                      example: USD
                    settlement:
                      type: object
                      required:
                        - accountId
                      properties:
                        accountId:
                          type: string
                          example: acc_3eG7xN2pQ4rT8mA1sL6dVc
                          description: >-
                            Issued customer wallet account that receives settled
                            funds.
                    label:
                      type: string
                      example: SWIFT payin account
                - title: Issued UAEFTS account
                  type: object
                  required:
                    - origin
                    - type
                    - method
                    - currency
                    - settlement
                  properties:
                    origin:
                      type: string
                      enum:
                        - issued
                      description: >-
                        Account origin. Closed enum — exhaustive; additions
                        would be a breaking change.
                    type:
                      type: string
                      enum:
                        - bank
                    method:
                      type: string
                      enum:
                        - uaefts
                      description: >-
                        Payment method. Open enum — values are added over time;
                        clients must tolerate unknown values.
                    country:
                      type: string
                      example: AE
                      description: >-
                        Optional ISO 3166-1 alpha-2 country code. Stored as
                        account metadata; issued accounts are provisioned and
                        routed by capability, not by this value. Defaults per
                        method when omitted.
                    currency:
                      type: string
                      example: AED
                    settlement:
                      type: object
                      required:
                        - accountId
                      properties:
                        accountId:
                          type: string
                          example: acc_3eG7xN2pQ4rT8mA1sL6dVc
                          description: >-
                            Issued customer wallet account that receives settled
                            funds.
                - title: Issued Faster Payments account
                  type: object
                  required:
                    - origin
                    - type
                    - method
                    - currency
                    - settlement
                  properties:
                    origin:
                      type: string
                      enum:
                        - issued
                      description: >-
                        Account origin. Closed enum — exhaustive; additions
                        would be a breaking change.
                    type:
                      type: string
                      enum:
                        - bank
                    method:
                      type: string
                      enum:
                        - faster_payments
                      description: >-
                        Payment method. Open enum — values are added over time;
                        clients must tolerate unknown values.
                    country:
                      type: string
                      example: GB
                      description: >-
                        Optional ISO 3166-1 alpha-2 country code. Stored as
                        account metadata; issued accounts are provisioned and
                        routed by capability, not by this value. Defaults per
                        method when omitted.
                    currency:
                      type: string
                      example: GBP
                    settlement:
                      type: object
                      required:
                        - accountId
                      properties:
                        accountId:
                          type: string
                          example: acc_3eG7xN2pQ4rT8mA1sL6dVc
                          description: >-
                            Issued customer wallet account that receives settled
                            funds.
                - title: Issued SEPA Instant account
                  type: object
                  required:
                    - origin
                    - type
                    - method
                    - currency
                    - settlement
                  properties:
                    origin:
                      type: string
                      enum:
                        - issued
                      description: >-
                        Account origin. Closed enum — exhaustive; additions
                        would be a breaking change.
                    type:
                      type: string
                      enum:
                        - bank
                    method:
                      type: string
                      enum:
                        - sepa_instant
                      description: >-
                        Payment method. Open enum — values are added over time;
                        clients must tolerate unknown values.
                    country:
                      type: string
                      example: DE
                      description: >-
                        Optional ISO 3166-1 alpha-2 country code. Stored as
                        account metadata; issued accounts are provisioned and
                        routed by capability, not by this value. Defaults per
                        method when omitted.
                    currency:
                      type: string
                      example: EUR
                    settlement:
                      type: object
                      required:
                        - accountId
                      properties:
                        accountId:
                          type: string
                          example: acc_3eG7xN2pQ4rT8mA1sL6dVc
                          description: >-
                            Issued customer wallet account that receives settled
                            funds.
                - title: Issued IPP account
                  type: object
                  required:
                    - origin
                    - type
                    - method
                    - currency
                    - settlement
                  properties:
                    origin:
                      type: string
                      enum:
                        - issued
                      description: >-
                        Account origin. Closed enum — exhaustive; additions
                        would be a breaking change.
                    type:
                      type: string
                      enum:
                        - bank
                    method:
                      type: string
                      enum:
                        - ipp
                      description: >-
                        Payment method. Open enum — values are added over time;
                        clients must tolerate unknown values.
                    country:
                      type: string
                      example: AE
                      description: >-
                        Optional ISO 3166-1 alpha-2 country code. Stored as
                        account metadata; issued accounts are provisioned and
                        routed by capability, not by this value. Defaults per
                        method when omitted.
                    currency:
                      type: string
                      example: AED
                    settlement:
                      type: object
                      required:
                        - accountId
                      properties:
                        accountId:
                          type: string
                          example: acc_3eG7xN2pQ4rT8mA1sL6dVc
                          description: >-
                            Issued customer wallet account that receives settled
                            funds.
                - title: External ACH/wire account
                  type: object
                  required:
                    - origin
                    - type
                    - methods
                    - country
                    - currency
                    - details
                  properties:
                    origin:
                      type: string
                      enum:
                        - external
                      description: >-
                        Account origin. Closed enum — exhaustive; additions
                        would be a breaking change.
                    type:
                      type: string
                      enum:
                        - bank
                    methods:
                      type: array
                      minItems: 1
                      uniqueItems: true
                      items:
                        type: string
                        enum:
                          - ach
                          - wire
                      example:
                        - ach
                        - wire
                      description: >-
                        Payment methods supported by this external bank account.
                        Values must be unique and share one details shape: any
                        subset of ach/wire uses US routing details; sepa uses
                        IBAN details; swift uses SWIFT details.
                    country:
                      type: string
                      example: US
                    currency:
                      type: string
                      example: USD
                    details:
                      type: object
                      required:
                        - routingNumber
                        - accountNumber
                        - bankName
                        - accountHolderName
                      properties:
                        routingNumber:
                          type: string
                          example: '021000021'
                        accountNumber:
                          type: string
                          example: '123456789'
                        accountType:
                          type: string
                          enum:
                            - checking
                            - savings
                          default: checking
                        bankName:
                          type: string
                          example: JPMorgan Chase Bank
                        accountHolderName:
                          type: string
                          example: Swipelux Inc.
                        bankAddress:
                          type: string
                          example: 270 Park Avenue, New York, NY 10017, USA
                    label:
                      type: string
                      example: Operating account
                - title: External SEPA account
                  type: object
                  required:
                    - origin
                    - type
                    - methods
                    - country
                    - currency
                    - details
                  properties:
                    origin:
                      type: string
                      enum:
                        - external
                      description: >-
                        Account origin. Closed enum — exhaustive; additions
                        would be a breaking change.
                    type:
                      type: string
                      enum:
                        - bank
                    methods:
                      type: array
                      minItems: 1
                      uniqueItems: true
                      items:
                        type: string
                        enum:
                          - sepa
                      example:
                        - sepa
                      description: >-
                        Payment methods supported by this external bank account.
                        Values must be unique and share one details shape: any
                        subset of ach/wire uses US routing details; sepa uses
                        IBAN details; swift uses SWIFT details.
                    country:
                      type: string
                      example: DE
                    currency:
                      type: string
                      example: EUR
                    details:
                      type: object
                      required:
                        - iban
                        - accountHolderName
                      properties:
                        iban:
                          type: string
                          example: DE89370400440532013000
                        bic:
                          type: string
                          example: COBADEFFXXX
                        bankName:
                          type: string
                          example: Commerzbank
                        bankAddress:
                          type: string
                          example: Frankfurt, Germany
                        accountHolderName:
                          type: string
                          example: Swipelux GmbH
                - title: External SWIFT account
                  type: object
                  required:
                    - origin
                    - type
                    - methods
                    - country
                    - currency
                    - details
                  properties:
                    origin:
                      type: string
                      enum:
                        - external
                      description: >-
                        Account origin. Closed enum — exhaustive; additions
                        would be a breaking change.
                    type:
                      type: string
                      enum:
                        - bank
                    methods:
                      type: array
                      minItems: 1
                      uniqueItems: true
                      items:
                        type: string
                        enum:
                          - swift
                      example:
                        - swift
                      description: >-
                        Payment methods supported by this external bank account.
                        Values must be unique and share one details shape: any
                        subset of ach/wire uses US routing details; sepa uses
                        IBAN details; swift uses SWIFT details.
                    country:
                      type: string
                      example: US
                    currency:
                      type: string
                      example: USD
                    details:
                      type: object
                      required:
                        - swiftCode
                        - accountNumber
                        - bankName
                        - accountHolderName
                      properties:
                        swiftCode:
                          type: string
                          example: CHASUS33XXX
                        accountNumber:
                          type: string
                          example: '707567692'
                        bankName:
                          type: string
                          example: JPMorgan Chase Bank
                        accountHolderName:
                          type: string
                          example: Swipelux Inc.
            examples:
              issuedWallet:
                summary: Issue wallet account
                value:
                  origin: issued
                  type: wallet
                  currency: USDC
                  network: base
                  label: Treasury wallet
              issuedAch:
                summary: Issue ACH account
                value:
                  origin: issued
                  type: bank
                  method: ach
                  country: US
                  currency: USD
                  settlement:
                    accountId: acc_3eG7xN2pQ4rT8mA1sL6dVc
                  label: USD payin account
              externalWallet:
                summary: Add external Polygon wallet account
                value:
                  origin: external
                  type: wallet
                  currency: USDC
                  network: polygon
                  details:
                    address: '0x4997b0a68bebc1b0d80a93567ba7002be92b8b11'
                  label: Customer Polygon wallet
              externalAch:
                summary: Add external ACH/wire account
                value:
                  origin: external
                  type: bank
                  methods:
                    - ach
                    - wire
                  country: US
                  currency: USD
                  details:
                    routingNumber: '021000021'
                    accountNumber: '123456789'
                    accountType: checking
                    bankName: JPMorgan Chase Bank
                    accountHolderName: Swipelux Inc.
      responses:
        '201':
          description: Account created
          headers:
            Idempotency-Replayed:
              description: >-
                Present with value `true` when an idempotent request is
                replayed.
              schema:
                type: string
                enum:
                  - 'true'
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                      type:
                        enum:
                          - wallet
                          - bank
                      method:
                        enum:
                          - ach
                          - wire
                          - sepa
                          - swift
                          - uaefts
                          - faster_payments
                          - sepa_instant
                          - ipp
                        description: >-
                          Payment method. Open enum — values are added over
                          time; clients must tolerate unknown values.
                      methods:
                        type: array
                        items:
                          enum:
                            - ach
                            - wire
                            - sepa
                            - swift
                        description: >-
                          Payment methods supported by an external bank account.
                          Present on external bank accounts; issued bank
                          accounts use single `method`.
                      institutionId:
                        type: string
                        description: >-
                          Institution id recorded at issuance. Omitted when no
                          institution was recorded.
                      capabilityId:
                        type: string
                        description: >-
                          Capability id recorded at issuance. Omitted when no
                          capability was recorded.
                      accountType:
                        enum:
                          - pooled
                          - named
                        description: >-
                          Account type recorded at issuance. Omitted when no
                          account type was recorded.
                      network:
                        enum:
                          - polygon
                          - ethereum
                          - base
                          - arbitrum
                          - optimism
                          - bsc
                          - avalanche
                        description: >-
                          `details.network` is the canonical network field for
                          wallet accounts. This top-level `network` field is a
                          compatibility duplicate; its removal is deferred. Open
                          enum — values are added over time; clients must
                          tolerate unknown values.
                      origin:
                        anyOf:
                          - enum:
                              - issued
                          - enum:
                              - external
                        description: >-
                          Account origin. Closed enum — exhaustive; additions
                          would be a breaking change.
                      status:
                        enum:
                          - provisioning
                          - in_review
                          - ready
                          - action_required
                          - suspended
                          - rejected
                          - archived
                        description: >-
                          Account status. Closed enum — exhaustive; additions
                          would be a breaking change.
                      statusReason:
                        type: object
                        properties:
                          code:
                            type: string
                            description: >-
                              Stable snake_case reason code from the documented
                              catalog.
                          message:
                            type: string
                            description: Human-readable explanation of the current status.
                          actor:
                            enum:
                              - customer
                              - developer
                              - provider
                              - network
                              - swipelux
                            description: >-
                              Party whose action moves the resource forward: the
                              end customer, the developer integrating the API,
                              the underlying provider, payment network or rail,
                              or Swipelux. Closed enum — exhaustive; additions
                              would be a breaking change.
                          retryable:
                            type: boolean
                            description: >-
                              Whether retrying the blocked operation without
                              changing its inputs or state may succeed.
                        required:
                          - code
                          - message
                          - actor
                          - retryable
                      openTaskIds:
                        type: array
                        items:
                          type: string
                        description: >-
                          Ids of account-scoped tasks with status
                          `action_required` or `in_review`, ordered by creation
                          time and id. Empty when nothing is open.
                      currency:
                        type: string
                      label:
                        type: string
                      isDefault:
                        type: boolean
                      details:
                        anyOf:
                          - type: object
                            properties:
                              network:
                                enum:
                                  - polygon
                                  - ethereum
                                  - base
                                  - arbitrum
                                  - optimism
                                  - bsc
                                  - avalanche
                                description: >-
                                  `details.network` is the canonical network
                                  field for wallet accounts. The top-level
                                  `network` field is a compatibility duplicate;
                                  its removal is deferred. Open enum — values
                                  are added over time; clients must tolerate
                                  unknown values.
                              address:
                                type: string
                            required:
                              - network
                              - address
                          - type: object
                            properties:
                              routingNumber:
                                type: string
                              accountNumber:
                                type: string
                              accountType:
                                type: string
                              bankName:
                                type: string
                              accountHolderName:
                                type: string
                              bankAddress:
                                type: string
                              reference:
                                type: string
                              referenceRequired:
                                type: boolean
                            required:
                              - routingNumber
                              - accountNumber
                              - accountType
                              - bankName
                              - accountHolderName
                          - type: object
                            properties:
                              sortCode:
                                type: string
                              accountNumber:
                                type: string
                              bankName:
                                type: string
                              accountHolderName:
                                type: string
                              reference:
                                type: string
                              referenceRequired:
                                type: boolean
                            required:
                              - sortCode
                              - accountNumber
                              - bankName
                              - accountHolderName
                          - type: object
                            properties:
                              iban:
                                type: string
                              bic:
                                type: string
                              bankName:
                                type: string
                              bankAddress:
                                type: string
                              accountHolderName:
                                type: string
                              reference:
                                type: string
                              referenceRequired:
                                type: boolean
                            required:
                              - iban
                              - accountHolderName
                          - type: object
                            properties:
                              swiftCode:
                                type: string
                              accountNumber:
                                type: string
                              bankName:
                                type: string
                              accountHolderName:
                                type: string
                              bankAddress:
                                type: string
                              routingNumber:
                                type: string
                              intermediaryBankSwift:
                                type: string
                              intermediaryBankName:
                                type: string
                              intermediaryBankAddress:
                                type: string
                              reference:
                                type: string
                              referenceRequired:
                                type: boolean
                            required:
                              - swiftCode
                              - accountNumber
                              - bankName
                              - accountHolderName
                        nullable: true
                      routing:
                        type: object
                        properties:
                          version:
                            type: number
                          validFrom:
                            type: string
                          validUntil:
                            nullable: true
                        required:
                          - version
                          - validFrom
                          - validUntil
                      settlement:
                        type: object
                        properties:
                          accountId:
                            type: string
                        required:
                          - accountId
                      fees:
                        type: object
                        properties:
                          breakdown:
                            type: object
                            properties:
                              developer:
                                type: object
                                properties:
                                  fixed:
                                    type: string
                                    pattern: ^\d+(?:\.\d{1,2})?$
                                    description: >-
                                      Fixed developer fee in the account
                                      currency, represented as a major-unit
                                      decimal string with at most 2 decimal
                                      places.
                                  bips:
                                    type: integer
                                    minimum: 0
                                    maximum: 9999
                                    description: >-
                                      Developer fee in basis points. `50` means
                                      `0.50%`; the value must be below 10000
                                      (100%).
                                required:
                                  - fixed
                                  - bips
                                nullable: true
                                description: >-
                                  Configured developer fee, or null when none is
                                  set.
                            required:
                              - developer
                            description: Account fee rules grouped by beneficiary.
                        required:
                          - breakdown
                        description: >-
                          Pay-in fee configuration for this account. Fixed
                          amounts use the account currency and major-unit scale.
                      balances:
                        type: array
                        items:
                          type: object
                          properties:
                            currency:
                              type: string
                              description: Balance currency.
                            available:
                              type: string
                              description: >-
                                Available balance from the configured balance
                                source as a decimal string in `currency`.
                            pending:
                              type: string
                              description: Currently returned as `"0"`.
                          required:
                            - currency
                            - available
                            - pending
                        description: >-
                          Balances returned on account detail. External wallets
                          return an empty array; `pending` is currently `"0"`.
                      createdAt:
                        type: string
                      updatedAt:
                        type: string
                      archivedAt:
                        type: string
                        nullable: true
                    required:
                      - id
                      - type
                      - origin
                      - status
                      - openTaskIds
                      - currency
                      - details
                      - fees
                      - createdAt
                      - updatedAt
                      - archivedAt
                required:
                  - data
              examples:
                created:
                  summary: Created Polygon wallet account
                  description: A Polygon account is an issued customer wallet account.
                  value:
                    data:
                      id: acc_3eG7xN2pQ4rT8mA1sL6dVc
                      type: wallet
                      network: polygon
                      origin: issued
                      status: ready
                      openTaskIds: []
                      currency: USDC
                      label: Treasury wallet
                      isDefault: true
                      details:
                        network: polygon
                        address: '0x1887b0a68bebc1b0d80a93567ba7002be92b8bd7'
                      fees:
                        breakdown:
                          developer: null
                      createdAt: '2026-06-25T12:05:00.000Z'
                      updatedAt: '2026-06-25T12:05:00.000Z'
                      archivedAt: null
                issuedAch:
                  summary: Issued ACH account
                  description: >-
                    An issued ACH account is a virtual customer bank account.
                    The request supplies `settlement.accountId`; provisioning
                    accounts have no details. Pooled ACH stays `provisioning`
                    with `awaiting_assignment` until its first payin supplies
                    concrete bank details.
                  value:
                    data:
                      id: acc_2pQ4rT7mA9sL1kBc6dV8xN
                      type: bank
                      method: ach
                      capabilityId: ach_pooled
                      accountType: pooled
                      institutionId: jpmorgan
                      origin: issued
                      status: provisioning
                      openTaskIds: []
                      statusReason:
                        code: awaiting_assignment
                        message: >-
                          Bank account details will be assigned when the first
                          payin is created.
                        actor: network
                        retryable: false
                      currency: USD
                      label: USD payin account
                      details: null
                      settlement:
                        accountId: acc_3eG7xN2pQ4rT8mA1sL6dVc
                      fees:
                        breakdown:
                          developer: null
                      createdAt: '2026-06-25T12:08:00.000Z'
                      updatedAt: '2026-06-25T12:08:00.000Z'
                      archivedAt: null
                external:
                  summary: External Polygon wallet account
                  description: >-
                    An external Polygon account keeps `type: "wallet"` and
                    `origin: "external"`.
                  value:
                    data:
                      id: acc_8qB7yN0rM5uS9wO2tX6zAd
                      type: wallet
                      network: polygon
                      origin: external
                      status: ready
                      openTaskIds: []
                      currency: USDC
                      label: Customer Polygon wallet
                      details:
                        network: polygon
                        address: '0x4997b0a68bebc1b0d80a93567ba7002be92b8b11'
                      fees:
                        breakdown:
                          developer: null
                      createdAt: '2026-06-25T12:06:00.000Z'
                      updatedAt: '2026-06-25T12:06:00.000Z'
                      archivedAt: null
                externalAch:
                  summary: External ACH/wire account
                  description: >-
                    An external ACH/wire account keeps `type: "bank"`, `methods:
                    ["ach", "wire"]`, and typed US routing details.
                  value:
                    data:
                      id: acc_7mA9sL1kBc6dV8xN2pQ4rT
                      type: bank
                      methods:
                        - ach
                        - wire
                      origin: external
                      status: ready
                      openTaskIds: []
                      currency: USD
                      label: Operating account
                      details:
                        routingNumber: '021000021'
                        accountNumber: '123456789'
                        accountType: checking
                        bankName: JPMorgan Chase Bank
                        accountHolderName: Swipelux Inc.
                        bankAddress: 270 Park Avenue, New York, NY 10017, USA
                      fees:
                        breakdown:
                          developer: null
                      createdAt: '2026-06-25T12:07:00.000Z'
                      updatedAt: '2026-06-25T12:07:00.000Z'
                      archivedAt: null
        '400':
          description: Invalid request.
          content:
            application/problem+json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - type
                  - title
                  - status
                  - code
                  - detail
                  - correlationId
                properties:
                  type:
                    type: string
                    format: uri
                    description: Documentation URL for this stable problem code.
                  title:
                    type: string
                    description: Short human-readable problem title.
                  status:
                    type: integer
                    minimum: 400
                    maximum: 599
                    description: HTTP status code.
                  code:
                    type: string
                    description: Stable snake_case error code.
                  detail:
                    type: string
                    description: Actionable problem detail for legitimate callers.
                  correlationId:
                    type: string
                    description: Request correlation id. Mirrors `X-Request-Id`.
                  transferId:
                    type: string
                    description: >-
                      Existing transfer that consumed the quote. Present on
                      `quote_already_executed`.
                  retryable:
                    type: boolean
                    description: Whether retrying the same request may succeed.
                  errors:
                    type: array
                    description: Field-level validation errors.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - pointer
                        - code
                        - message
                      properties:
                        pointer:
                          type: string
                          description: JSON Pointer into the request body.
                        code:
                          type: string
                          description: Machine-readable field error code.
                        message:
                          type: string
                          description: Human-readable field error message.
                  statusReason:
                    type: object
                    description: >-
                      Structured reason for a state conflict when the failed
                      operation depends on the resource's current status.
                    required:
                      - code
                      - message
                      - actor
                      - retryable
                    properties:
                      code:
                        type: string
                        description: >-
                          Stable snake_case reason code from the documented
                          catalog.
                        example: sanctions_screening_failed
                      message:
                        type: string
                        description: Human-readable explanation of the current status.
                      actor:
                        type: string
                        enum:
                          - customer
                          - developer
                          - provider
                          - network
                          - swipelux
                        description: >-
                          Party whose action moves the resource forward: the end
                          customer, the developer integrating the API, the
                          underlying provider, payment network or rail, or
                          Swipelux. Closed enum — exhaustive; additions would be
                          a breaking change.
                      retryable:
                        type: boolean
                        description: >-
                          Whether retrying the blocked operation without
                          changing its inputs or state may succeed.
                  reviewAnswer:
                    type: string
                    nullable: true
                    description: Verification review answer when supplied by the verifier.
                  capabilities:
                    type: array
                    minItems: 1
                    items:
                      type: string
                    description: Capability ids that satisfy the failed operation.
                  blockingResources:
                    type: array
                    minItems: 1
                    description: >-
                      Customer resources that must be resolved before the
                      requested operation can proceed, sorted by type and id.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - type
                        - id
                        - requiredAction
                      properties:
                        type:
                          type: string
                          enum:
                            - account
                            - transfer
                        id:
                          type: string
                          description: Public id of the blocking resource.
                        requiredAction:
                          type: string
                          enum:
                            - archive_account
                            - cancel_transfer
                            - wait_for_transfer
                            - resolve_transfer
                          description: Next action required before retrying the operation.
        '401':
          description: Authentication required.
          content:
            application/problem+json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - type
                  - title
                  - status
                  - code
                  - detail
                  - correlationId
                properties:
                  type:
                    type: string
                    format: uri
                    description: Documentation URL for this stable problem code.
                  title:
                    type: string
                    description: Short human-readable problem title.
                  status:
                    type: integer
                    minimum: 400
                    maximum: 599
                    description: HTTP status code.
                  code:
                    type: string
                    description: Stable snake_case error code.
                  detail:
                    type: string
                    description: Actionable problem detail for legitimate callers.
                  correlationId:
                    type: string
                    description: Request correlation id. Mirrors `X-Request-Id`.
                  transferId:
                    type: string
                    description: >-
                      Existing transfer that consumed the quote. Present on
                      `quote_already_executed`.
                  retryable:
                    type: boolean
                    description: Whether retrying the same request may succeed.
                  errors:
                    type: array
                    description: Field-level validation errors.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - pointer
                        - code
                        - message
                      properties:
                        pointer:
                          type: string
                          description: JSON Pointer into the request body.
                        code:
                          type: string
                          description: Machine-readable field error code.
                        message:
                          type: string
                          description: Human-readable field error message.
                  statusReason:
                    type: object
                    description: >-
                      Structured reason for a state conflict when the failed
                      operation depends on the resource's current status.
                    required:
                      - code
                      - message
                      - actor
                      - retryable
                    properties:
                      code:
                        type: string
                        description: >-
                          Stable snake_case reason code from the documented
                          catalog.
                        example: sanctions_screening_failed
                      message:
                        type: string
                        description: Human-readable explanation of the current status.
                      actor:
                        type: string
                        enum:
                          - customer
                          - developer
                          - provider
                          - network
                          - swipelux
                        description: >-
                          Party whose action moves the resource forward: the end
                          customer, the developer integrating the API, the
                          underlying provider, payment network or rail, or
                          Swipelux. Closed enum — exhaustive; additions would be
                          a breaking change.
                      retryable:
                        type: boolean
                        description: >-
                          Whether retrying the blocked operation without
                          changing its inputs or state may succeed.
                  reviewAnswer:
                    type: string
                    nullable: true
                    description: Verification review answer when supplied by the verifier.
                  capabilities:
                    type: array
                    minItems: 1
                    items:
                      type: string
                    description: Capability ids that satisfy the failed operation.
                  blockingResources:
                    type: array
                    minItems: 1
                    description: >-
                      Customer resources that must be resolved before the
                      requested operation can proceed, sorted by type and id.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - type
                        - id
                        - requiredAction
                      properties:
                        type:
                          type: string
                          enum:
                            - account
                            - transfer
                        id:
                          type: string
                          description: Public id of the blocking resource.
                        requiredAction:
                          type: string
                          enum:
                            - archive_account
                            - cancel_transfer
                            - wait_for_transfer
                            - resolve_transfer
                          description: Next action required before retrying the operation.
        '403':
          description: Insufficient permissions.
          content:
            application/problem+json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - type
                  - title
                  - status
                  - code
                  - detail
                  - correlationId
                properties:
                  type:
                    type: string
                    format: uri
                    description: Documentation URL for this stable problem code.
                  title:
                    type: string
                    description: Short human-readable problem title.
                  status:
                    type: integer
                    minimum: 400
                    maximum: 599
                    description: HTTP status code.
                  code:
                    type: string
                    description: Stable snake_case error code.
                  detail:
                    type: string
                    description: Actionable problem detail for legitimate callers.
                  correlationId:
                    type: string
                    description: Request correlation id. Mirrors `X-Request-Id`.
                  transferId:
                    type: string
                    description: >-
                      Existing transfer that consumed the quote. Present on
                      `quote_already_executed`.
                  retryable:
                    type: boolean
                    description: Whether retrying the same request may succeed.
                  errors:
                    type: array
                    description: Field-level validation errors.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - pointer
                        - code
                        - message
                      properties:
                        pointer:
                          type: string
                          description: JSON Pointer into the request body.
                        code:
                          type: string
                          description: Machine-readable field error code.
                        message:
                          type: string
                          description: Human-readable field error message.
                  statusReason:
                    type: object
                    description: >-
                      Structured reason for a state conflict when the failed
                      operation depends on the resource's current status.
                    required:
                      - code
                      - message
                      - actor
                      - retryable
                    properties:
                      code:
                        type: string
                        description: >-
                          Stable snake_case reason code from the documented
                          catalog.
                        example: sanctions_screening_failed
                      message:
                        type: string
                        description: Human-readable explanation of the current status.
                      actor:
                        type: string
                        enum:
                          - customer
                          - developer
                          - provider
                          - network
                          - swipelux
                        description: >-
                          Party whose action moves the resource forward: the end
                          customer, the developer integrating the API, the
                          underlying provider, payment network or rail, or
                          Swipelux. Closed enum — exhaustive; additions would be
                          a breaking change.
                      retryable:
                        type: boolean
                        description: >-
                          Whether retrying the blocked operation without
                          changing its inputs or state may succeed.
                  reviewAnswer:
                    type: string
                    nullable: true
                    description: Verification review answer when supplied by the verifier.
                  capabilities:
                    type: array
                    minItems: 1
                    items:
                      type: string
                    description: Capability ids that satisfy the failed operation.
                  blockingResources:
                    type: array
                    minItems: 1
                    description: >-
                      Customer resources that must be resolved before the
                      requested operation can proceed, sorted by type and id.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - type
                        - id
                        - requiredAction
                      properties:
                        type:
                          type: string
                          enum:
                            - account
                            - transfer
                        id:
                          type: string
                          description: Public id of the blocking resource.
                        requiredAction:
                          type: string
                          enum:
                            - archive_account
                            - cancel_transfer
                            - wait_for_transfer
                            - resolve_transfer
                          description: Next action required before retrying the operation.
        '404':
          description: Resource not found.
          content:
            application/problem+json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - type
                  - title
                  - status
                  - code
                  - detail
                  - correlationId
                properties:
                  type:
                    type: string
                    format: uri
                    description: Documentation URL for this stable problem code.
                  title:
                    type: string
                    description: Short human-readable problem title.
                  status:
                    type: integer
                    minimum: 400
                    maximum: 599
                    description: HTTP status code.
                  code:
                    type: string
                    description: Stable snake_case error code.
                  detail:
                    type: string
                    description: Actionable problem detail for legitimate callers.
                  correlationId:
                    type: string
                    description: Request correlation id. Mirrors `X-Request-Id`.
                  transferId:
                    type: string
                    description: >-
                      Existing transfer that consumed the quote. Present on
                      `quote_already_executed`.
                  retryable:
                    type: boolean
                    description: Whether retrying the same request may succeed.
                  errors:
                    type: array
                    description: Field-level validation errors.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - pointer
                        - code
                        - message
                      properties:
                        pointer:
                          type: string
                          description: JSON Pointer into the request body.
                        code:
                          type: string
                          description: Machine-readable field error code.
                        message:
                          type: string
                          description: Human-readable field error message.
                  statusReason:
                    type: object
                    description: >-
                      Structured reason for a state conflict when the failed
                      operation depends on the resource's current status.
                    required:
                      - code
                      - message
                      - actor
                      - retryable
                    properties:
                      code:
                        type: string
                        description: >-
                          Stable snake_case reason code from the documented
                          catalog.
                        example: sanctions_screening_failed
                      message:
                        type: string
                        description: Human-readable explanation of the current status.
                      actor:
                        type: string
                        enum:
                          - customer
                          - developer
                          - provider
                          - network
                          - swipelux
                        description: >-
                          Party whose action moves the resource forward: the end
                          customer, the developer integrating the API, the
                          underlying provider, payment network or rail, or
                          Swipelux. Closed enum — exhaustive; additions would be
                          a breaking change.
                      retryable:
                        type: boolean
                        description: >-
                          Whether retrying the blocked operation without
                          changing its inputs or state may succeed.
                  reviewAnswer:
                    type: string
                    nullable: true
                    description: Verification review answer when supplied by the verifier.
                  capabilities:
                    type: array
                    minItems: 1
                    items:
                      type: string
                    description: Capability ids that satisfy the failed operation.
                  blockingResources:
                    type: array
                    minItems: 1
                    description: >-
                      Customer resources that must be resolved before the
                      requested operation can proceed, sorted by type and id.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - type
                        - id
                        - requiredAction
                      properties:
                        type:
                          type: string
                          enum:
                            - account
                            - transfer
                        id:
                          type: string
                          description: Public id of the blocking resource.
                        requiredAction:
                          type: string
                          enum:
                            - archive_account
                            - cancel_transfer
                            - wait_for_transfer
                            - resolve_transfer
                          description: Next action required before retrying the operation.
        '409':
          description: >-
            Capability not ready, account conflict, idempotency conflict, or
            request in progress.
          content:
            application/problem+json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - type
                  - title
                  - status
                  - code
                  - detail
                  - correlationId
                properties:
                  type:
                    type: string
                    format: uri
                    description: Documentation URL for this stable problem code.
                  title:
                    type: string
                    description: Short human-readable problem title.
                  status:
                    type: integer
                    minimum: 400
                    maximum: 599
                    description: HTTP status code.
                  code:
                    type: string
                    enum:
                      - capability_not_ready
                      - conflict
                      - idempotency_conflict
                      - idempotency_request_in_progress
                    description: Stable snake_case error code.
                  detail:
                    type: string
                    description: Actionable problem detail for legitimate callers.
                  correlationId:
                    type: string
                    description: Request correlation id. Mirrors `X-Request-Id`.
                  transferId:
                    type: string
                    description: >-
                      Existing transfer that consumed the quote. Present on
                      `quote_already_executed`.
                  retryable:
                    type: boolean
                    description: Whether retrying the same request may succeed.
                  errors:
                    type: array
                    description: Field-level validation errors.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - pointer
                        - code
                        - message
                      properties:
                        pointer:
                          type: string
                          description: JSON Pointer into the request body.
                        code:
                          type: string
                          description: Machine-readable field error code.
                        message:
                          type: string
                          description: Human-readable field error message.
                  statusReason:
                    type: object
                    description: >-
                      Structured reason for a state conflict when the failed
                      operation depends on the resource's current status.
                    required:
                      - code
                      - message
                      - actor
                      - retryable
                    properties:
                      code:
                        type: string
                        description: >-
                          Stable snake_case reason code from the documented
                          catalog.
                        example: sanctions_screening_failed
                      message:
                        type: string
                        description: Human-readable explanation of the current status.
                      actor:
                        type: string
                        enum:
                          - customer
                          - developer
                          - provider
                          - network
                          - swipelux
                        description: >-
                          Party whose action moves the resource forward: the end
                          customer, the developer integrating the API, the
                          underlying provider, payment network or rail, or
                          Swipelux. Closed enum — exhaustive; additions would be
                          a breaking change.
                      retryable:
                        type: boolean
                        description: >-
                          Whether retrying the blocked operation without
                          changing its inputs or state may succeed.
                  reviewAnswer:
                    type: string
                    nullable: true
                    description: Verification review answer when supplied by the verifier.
                  capabilities:
                    type: array
                    minItems: 1
                    items:
                      type: string
                    description: Capability ids that satisfy the failed operation.
                  blockingResources:
                    type: array
                    minItems: 1
                    description: >-
                      Customer resources that must be resolved before the
                      requested operation can proceed, sorted by type and id.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - type
                        - id
                        - requiredAction
                      properties:
                        type:
                          type: string
                          enum:
                            - account
                            - transfer
                        id:
                          type: string
                          description: Public id of the blocking resource.
                        requiredAction:
                          type: string
                          enum:
                            - archive_account
                            - cancel_transfer
                            - wait_for_transfer
                            - resolve_transfer
                          description: Next action required before retrying the operation.
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - type
                  - title
                  - status
                  - code
                  - detail
                  - correlationId
                properties:
                  type:
                    type: string
                    format: uri
                    description: Documentation URL for this stable problem code.
                  title:
                    type: string
                    description: Short human-readable problem title.
                  status:
                    type: integer
                    minimum: 400
                    maximum: 599
                    description: HTTP status code.
                  code:
                    type: string
                    description: Stable snake_case error code.
                  detail:
                    type: string
                    description: Actionable problem detail for legitimate callers.
                  correlationId:
                    type: string
                    description: Request correlation id. Mirrors `X-Request-Id`.
                  transferId:
                    type: string
                    description: >-
                      Existing transfer that consumed the quote. Present on
                      `quote_already_executed`.
                  retryable:
                    type: boolean
                    description: Whether retrying the same request may succeed.
                  errors:
                    type: array
                    description: Field-level validation errors.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - pointer
                        - code
                        - message
                      properties:
                        pointer:
                          type: string
                          description: JSON Pointer into the request body.
                        code:
                          type: string
                          description: Machine-readable field error code.
                        message:
                          type: string
                          description: Human-readable field error message.
                  statusReason:
                    type: object
                    description: >-
                      Structured reason for a state conflict when the failed
                      operation depends on the resource's current status.
                    required:
                      - code
                      - message
                      - actor
                      - retryable
                    properties:
                      code:
                        type: string
                        description: >-
                          Stable snake_case reason code from the documented
                          catalog.
                        example: sanctions_screening_failed
                      message:
                        type: string
                        description: Human-readable explanation of the current status.
                      actor:
                        type: string
                        enum:
                          - customer
                          - developer
                          - provider
                          - network
                          - swipelux
                        description: >-
                          Party whose action moves the resource forward: the end
                          customer, the developer integrating the API, the
                          underlying provider, payment network or rail, or
                          Swipelux. Closed enum — exhaustive; additions would be
                          a breaking change.
                      retryable:
                        type: boolean
                        description: >-
                          Whether retrying the blocked operation without
                          changing its inputs or state may succeed.
                  reviewAnswer:
                    type: string
                    nullable: true
                    description: Verification review answer when supplied by the verifier.
                  capabilities:
                    type: array
                    minItems: 1
                    items:
                      type: string
                    description: Capability ids that satisfy the failed operation.
                  blockingResources:
                    type: array
                    minItems: 1
                    description: >-
                      Customer resources that must be resolved before the
                      requested operation can proceed, sorted by type and id.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - type
                        - id
                        - requiredAction
                      properties:
                        type:
                          type: string
                          enum:
                            - account
                            - transfer
                        id:
                          type: string
                          description: Public id of the blocking resource.
                        requiredAction:
                          type: string
                          enum:
                            - archive_account
                            - cancel_transfer
                            - wait_for_transfer
                            - resolve_transfer
                          description: Next action required before retrying the operation.
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: Your Swipelux API key. Obtain this from the Swipelux Dashboard.

````

## Related topics

- [Accounts and wallets](/integration/accounts.md)
- [Issue a bank account](/integration/issue-bank-account.md)
- [Create rule](/api-reference/rules/post-v3-customers-by-customer-id-rules.md)
- [Create recipient](/api-reference/recipients/post-v3-customers-by-customer-id-recipients.md)
- [Account created](/api-reference/webhooks/account-created.md)
