Marqeta direct deposit accounts API

The direct deposit accounts API from Marqeta — 9 operation(s) for direct deposit accounts.

OpenAPI Specification

marqeta-direct-deposit-accounts-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  contact:
    email: support@marqeta.com
    name: Marqeta
  description: Marqeta's Core API endpoints, conveniently annotated to enable code generation (including SDKs), test cases, and documentation. Currently in beta.
  termsOfService: https://www.marqeta.com/api-terms
  title: Core accepted countries direct deposit accounts API
  version: 3.0.39
servers:
- url: /v3
security:
- mqAppAndAccessToken: []
tags:
- name: direct deposit accounts
paths:
  /depositaccounts:
    post:
      operationId: createAccount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectDepositAccountRequest'
        description: Create direct deposit account for cardholder
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/direct_deposit_account_response'
          description: Created
        '404':
          content: {}
          description: Not found
        '500':
          content: {}
          description: Server error
      summary: Creates new direct deposit account for cardholder.
      tags:
      - direct deposit accounts
  /depositaccounts/account/{account_number}/user:
    get:
      operationId: getUserForDirectDepositAccount
      parameters:
      - description: Get user associated with direct deposit account number
        explode: false
        in: path
        name: account_number
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/direct_deposit_account_response'
          description: Success
        '404':
          content: {}
          description: Not found
        '500':
          content: {}
          description: Server error
      summary: Get User for Plain Text Account Number
      tags:
      - direct deposit accounts
  /depositaccounts/transitions:
    post:
      operationId: createTransition
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectDepositAccountTransitionRequest'
        description: Create transition for direct deposit account
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/direct_deposit_account_transition_response'
          description: Created
        '404':
          content: {}
          description: Not found
        '500':
          content: {}
          description: Server error
      summary: Creates new transition for a direct deposit account.
      tags:
      - direct deposit accounts
  /depositaccounts/transitions/{token}:
    get:
      operationId: getDirectDepositAccountTransition
      parameters:
      - description: Get specific direct deposit account transition
        explode: false
        in: path
        name: token
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/direct_deposit_account_transition_response'
          description: Success
        '404':
          content: {}
          description: Not found
        '500':
          content: {}
          description: Server error
      summary: Get direct deposit account transition.
      tags:
      - direct deposit accounts
  /depositaccounts/user/{token}:
    get:
      operationId: getUserDirectDepositAccounts
      parameters:
      - description: Number of users to retrieve
        explode: true
        in: query
        name: count
        required: false
        schema:
          default: 5
          format: int32
          type: integer
        style: form
      - description: Start index
        explode: true
        in: query
        name: start_index
        required: false
        schema:
          default: 0
          format: int32
          type: integer
        style: form
      - description: Sort order
        explode: true
        in: query
        name: sort_by
        required: false
        schema:
          default: -lastModifiedTime
          type: string
        style: form
      - description: Direct deposit account status
        explode: true
        in: query
        name: state
        required: false
        schema:
          enum:
          - ACTIVE
          - SUSPENDED
          - TERMINATED
          - UNSUPPORTED
          - UNACTIVATED
          - LIMITED
          type: string
        style: form
      - description: Get specific direct deposit account
        explode: false
        in: path
        name: token
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectDepositAccountListResponse'
          description: Success
        '404':
          content: {}
          description: Not found
        '500':
          content: {}
          description: Server error
      summary: List all specific direct deposit accounts.
      tags:
      - direct deposit accounts
  /depositaccounts/{token}:
    get:
      operationId: getDirectDepositAccount
      parameters:
      - description: Get specific direct deposit account
        explode: false
        in: path
        name: token
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/direct_deposit_account_response'
          description: Success
        '404':
          content: {}
          description: Not found
        '500':
          content: {}
          description: Server error
      summary: Get direct deposit account.
      tags:
      - direct deposit accounts
    put:
      deprecated: true
      operationId: update
      parameters:
      - explode: false
        in: path
        name: token
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DepositAccountUpdateRequest'
        description: Update direct deposit account
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/direct_deposit_account_response'
          description: Success
        '404':
          content: {}
          description: Not found
        '500':
          content: {}
          description: Server error
      summary: Update direct deposit account.
      tags:
      - direct deposit accounts
  /depositaccounts/{token}/cdd:
    get:
      operationId: getCDDInfo
      parameters:
      - description: Get CDD info for a specific DDA token
        explode: false
        in: path
        name: token
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/customer_due_diligence_response'
          description: Success
        '404':
          content: {}
          description: Not found
        '500':
          content: {}
          description: Server error
      summary: Get direct deposit account transition list for card holder.
      tags:
      - direct deposit accounts
  /depositaccounts/{token}/cdd/{cddtoken}:
    put:
      operationId: updateCDDInfo
      parameters:
      - explode: false
        in: path
        name: token
        required: true
        schema:
          type: string
        style: simple
      - explode: false
        in: path
        name: cddtoken
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerDueDiligenceUpdateRequest'
        description: Update CDD answers
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/customer_due_diligence_response'
          description: Success
        '404':
          content: {}
          description: Not found
        '500':
          content: {}
          description: Server error
      summary: Update CDD answers for Direct Deposit Account
      tags:
      - direct deposit accounts
  /depositaccounts/{user_token}/transitions:
    get:
      operationId: getTransitionList
      parameters:
      - description: Number of users to retrieve
        explode: true
        in: query
        name: count
        required: false
        schema:
          default: 5
          format: int32
          type: integer
        style: form
      - description: Start index
        explode: true
        in: query
        name: start_index
        required: false
        schema:
          default: 0
          format: int32
          type: integer
        style: form
      - description: Sort order
        explode: true
        in: query
        name: sort_by
        required: false
        schema:
          default: -createdTime
          type: string
        style: form
      - description: Get direct deposit account transition list for user
        explode: false
        in: path
        name: user_token
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/direct_deposit_account_transition_response'
          description: Success
        '404':
          content: {}
          description: Not found
        '500':
          content: {}
          description: Server error
      summary: Get direct deposit account transition list for card holder.
      tags:
      - direct deposit accounts
components:
  schemas:
    direct_deposit_account_response:
      properties:
        account_number:
          maxLength: 17
          minLength: 13
          type: string
        allow_immediate_credit:
          default: false
          type: boolean
        business_token:
          maxLength: 36
          minLength: 36
          type: string
        created_time:
          description: yyyy-MM-ddTHH:mm:ssZ
          format: date-time
          type: string
        last_modified_time:
          description: yyyy-MM-ddTHH:mm:ssZ
          format: date-time
          type: string
        routing_number:
          maxLength: 9
          minLength: 9
          type: string
        state:
          maxLength: 10
          minLength: 6
          type: string
        token:
          maxLength: 36
          minLength: 36
          type: string
        type:
          maxLength: 36
          minLength: 7
          type: string
        user_token:
          maxLength: 36
          minLength: 36
          type: string
      required:
      - account_number
      - allow_immediate_credit
      - business_token
      - created_time
      - last_modified_time
      - routing_number
      - state
      - token
      - user_token
      type: object
    DirectDepositAccountTransitionRequest:
      properties:
        account_token:
          maxLength: 36
          minLength: 1
          type: string
        channel:
          enum:
          - API
          - IVR
          - FRAUD
          - ADMIN
          - SYSTEM
          - NETWORK
          - PROD_SUPPORT
          - UNSUPPORTED
          type: string
        reason:
          maxLength: 255
          minLength: 1
          type: string
        state:
          enum:
          - ACTIVE
          - SUSPENDED
          - TERMINATED
          - UNSUPPORTED
          - UNACTIVATED
          - LIMITED
          type: string
        token:
          type: string
      required:
      - account_token
      - channel
      type: object
    CustomerDueDiligenceUpdateRequest:
      properties:
        answer:
          type: string
      type: object
    DirectDepositAccountListResponse:
      properties:
        count:
          format: int32
          type: integer
        data:
          items:
            $ref: '#/components/schemas/direct_deposit_account_response'
          type: array
        end_index:
          format: int32
          type: integer
        is_more:
          default: false
          type: boolean
        start_index:
          format: int32
          type: integer
      type: object
    customer_due_diligence_response:
      properties:
        account_token:
          type: string
        answer:
          type: string
        bank:
          type: string
        question:
          type: string
        token:
          type: string
        type:
          type: string
      required:
      - account_token
      - answer
      - bank
      - question
      - token
      - type
      type: object
    CustomerDueDiligenceRequest:
      properties:
        answer:
          type: string
        question:
          type: string
        token:
          maxLength: 36
          minLength: 1
          type: string
      required:
      - answer
      - question
      type: object
    direct_deposit_account_transition_response:
      properties:
        account_token:
          maxLength: 36
          minLength: 36
          type: string
        business_token:
          maxLength: 36
          minLength: 36
          type: string
        channel:
          maxLength: 10
          minLength: 6
          type: string
        created_time:
          description: yyyy-MM-ddTHH:mm:ssZ
          format: date-time
          type: string
        reason:
          maxLength: 255
          minLength: 0
          type: string
        state:
          maxLength: 10
          minLength: 6
          type: string
        token:
          maxLength: 36
          minLength: 36
          type: string
        user_token:
          maxLength: 36
          minLength: 36
          type: string
      required:
      - account_token
      - business_token
      - channel
      - created_time
      - reason
      - state
      - token
      - user_token
      type: object
    DirectDepositAccountRequest:
      properties:
        allow_immediate_credit:
          default: false
          type: boolean
        business_token:
          description: Required if 'user_token' is null
          maxLength: 36
          minLength: 1
          type: string
        customer_due_diligence:
          description: Required if account type = Checking
          items:
            $ref: '#/components/schemas/CustomerDueDiligenceRequest'
          type: array
        token:
          type: string
        type:
          enum:
          - DEPOSIT_ACCOUNT
          - CHECKING
          - SAVINGS
          - INTEREST_BEARING
          type: string
        user_token:
          description: Required if 'business_token' is null
          maxLength: 36
          minLength: 1
          type: string
      type: object
    DepositAccountUpdateRequest:
      properties:
        allow_immediate_credit:
          default: false
          type: boolean
      type: object
  securitySchemes:
    mqAppAndAccessToken:
      scheme: basic
      type: http