openapi: 3.1.0
info:
  title: Jiko Partner API
  description: >
    ## Introduction


    Welcome to the Jiko API Reference! Jiko enables you to integrate money
    storage and movement, backed by the safety and security of US Treasury
    Bills. Use the Partner API if you are building an application that embeds
    Jiko’s services and offers Jiko products to your own customers. The Partner
    API will then enable your application to interact with Jiko on behalf of
    your customers.


    </br>


    At the core of our platform is the Jiko Pocket: a pair consisting of a bank
    account and a brokerage account. When money is deposited into a Pocket, the
    funds are automatically invested in T-bills. When a payment or withdrawal is
    made, T-bills are immediately liquidated and used as cash. Customers can
    have multiple Pockets, and each Pocket is associated with a single T-bill
    maturity: 4-week, 13-week, 26-week or 52-week.


    </br>


    The API Reference covers everything you need to build a full application
    leveraging the Jiko platform:


    </br>


    - Onboarding customers

    - Funding Pockets via ACH or Wire

    - Viewing and managing Pockets (including monthly statements and trade
    confirmations)

    - Making payments and transfers via ACH, Wire, On-Us (Book) Transfer or
    Debit Card


    </br>


    When you’re ready to start building, please contact us at
    [partner.support@jiko.io](mailto:partner.support@jiko.io) to request sandbox
    access.
  version: 'Version: fd60d28d'
servers:
  - url: https://{partner}.partner-api.jikoservices.com
    description: Production server
    variables:
      partner:
        default: your-partner-name
        description: Your organization's unique identifier
  - url: https://{partner}.sandbox-api.jikoservices.com
    description: Sandbox server
    variables:
      partner:
        default: your-partner-name
        description: Your organization's unique identifier
paths:
  /api/v1/customers/{customer_id}/jiko-accounts/:
    get:
      tags:
        - Accounts
      summary: List Customer Accounts
      description: >-
        Get a list of all accounts for a specified customer. **Deprecated**: Use
        [List Pockets for
        Customer](/products/partner-api/reference/pockets/list-pockets-v2)
        instead.
      operationId: list_customer_accounts_api_v1_customers__customer_id__jiko_accounts__get
      deprecated: true
      security:
        - HTTPBearer: []
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Customer Id
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
            title: Offset
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
            title: Limit
        - name: omit[]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                uniqueItems: true
                items:
                  enum:
                    - ALL_TIME_EARNINGS
                  type: string
              - type: 'null'
            title: Omit[]
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAccountsResponse'
              example:
                offset: 0
                count: 1
                items:
                  - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    name: J1 (4-week)
                    total_value:
                      value: 20708596
                      currency: USD
                      formatted: $207,085.96
                    status: OPEN
                    portfolio:
                      securities:
                        - tradable_id: 4b955c69-dd95-4f6a-a0ff-325ee029f240
                          security_type: FIXED_INCOME
                          quantity: 210000
                          market_value:
                            value: 20708596
                            currency: USD
                            formatted: $207,085.96
                          external_id: 912796RF6
                          maturity_date: '2023-01-30'
                          yield_to_maturity: '0.0468'
                          ask: '98.628528'
                          bid: '98.612361'
                          description: US T-Bill
                      cash:
                        value: 0
                        currency: USD
                        formatted: $0.00
                      all_time_earnings:
                        value: 935404
                        currency: USD
                        formatted: $9,354.04
                    object_type: Account
                object_type: List
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jiko-accounts/{account_id}/:
    get:
      tags:
        - Accounts
      summary: Get Customer Account
      description: >-
        Get a specific account. **Deprecated**: Use [Get Customer
        Pocket](/products/partner-api/reference/pockets/get-pocket-v2) instead.
      operationId: get_customer_account_api_v1_jiko_accounts__account_id___get
      deprecated: true
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: omit[]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                uniqueItems: true
                items:
                  enum:
                    - ALL_TIME_EARNINGS
                  type: string
              - type: 'null'
            title: Omit[]
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
              example:
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                name: J1 (4-week)
                total_value:
                  value: 20708596
                  currency: USD
                  formatted: $207,085.96
                status: OPEN
                portfolio:
                  securities:
                    - tradable_id: 4b955c69-dd95-4f6a-a0ff-325ee029f240
                      security_type: FIXED_INCOME
                      quantity: 210000
                      market_value:
                        value: 20708596
                        currency: USD
                        formatted: $207,085.96
                      external_id: 912796RF6
                      maturity_date: '2023-01-30'
                      yield_to_maturity: '0.0468'
                      ask: '98.628528'
                      bid: '98.612361'
                      description: US T-Bill
                  cash:
                    value: 0
                    currency: USD
                    formatted: $0.00
                  all_time_earnings:
                    value: 935404
                    currency: USD
                    formatted: $9,354.04
                object_type: Account
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/customers/{customer_id}/transactions/:
    get:
      tags:
        - Transactions
      summary: List Customer Transactions
      description: >-
        Returns a list of transactions from a customer's **bank accounts**. It
        does not include transactions between the **bank account** and
        **brokerage account**. **Deprecated**: Use [List Customer
        Transactions](/products/partner-api/reference/transactions-v2/list-customer-transactions-v2)
        instead.
      operationId: >-
        list_customer_transactions_api_v1_customers__customer_id__transactions__get
      deprecated: true
      security:
        - HTTPBearer: []
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Customer Id
        - name: order
          in: query
          required: false
          schema:
            enum:
              - desc
              - asc
            type: string
            description: Ordered by the transaction timestamp, descending by default.
            default: desc
            title: Order
          description: Ordered by the transaction timestamp, descending by default.
        - name: account[]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Account[]
        - name: filter[card]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Filter[Card]
        - name: filter[portal]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Filter[Portal]
        - name: filter[types]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  enum:
                    - CARD
                    - CASH_BACK
                    - ACH
                    - WIRE
                    - WIRE_FEE
                    - GENERIC
                    - ON_US
                  type: string
              - type: 'null'
            title: Filter[Types]
        - name: filter[on_us_transfer]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Filter[On Us Transfer]
        - name: filter[wire]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Filter[Wire]
        - name: timestamp_from
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Timestamp From
        - name: timestamp_to
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Timestamp To
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            default: ''
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            exclusiveMinimum: 0
            lte: 100
            default: 30
            title: Limit
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionListResponse'
              example:
                prev_page: >-
                  cj0xJnA9MjAyMi0xMi0yMSsxNyUzQTIyJTNBMDguNjc5MzQ5JTJCMDAlM0EwMA==
                next_page: cD0yMDIyLTEyLTE5KzE5JTNBNTQlM0EyNy4xODMyNzglMkIwMCUzQTAw
                items:
                  - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    jiko_account_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                    amount:
                      value: 100000
                      currency: USD
                      formatted: $1,000.00
                    timestamp: '2023-01-01T12:00:00Z'
                    status: COMPLETED
                    details:
                      transaction_type: CARD
                      title: 'ATM ABCD ID: TERM99 at 26 HOUSTON TEXAS CIR, HOUSTON TX'
                      transaction_type_title: ATM Withdrawal
                      card_transaction:
                        location:
                          street_address: 26 HOUSTON TEXAS CIR
                          city: HOUSTON
                          state: TX
                          country: US
                        counterparty: ABCD
                        terminal_id: TERM99
                        merchant_type: ATM
                        pre_authorization: true
                    object_type: Transaction
                  - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    jiko_account_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                    amount:
                      value: 100000
                      currency: USD
                      formatted: $1,000.00
                    timestamp: '2023-01-01T12:00:00Z'
                    status: COMPLETED
                    details:
                      transaction_type: ACH
                      title: From VENMO (PAYMENT)
                      sub_title: 'IIN: 596425331 REF: 91000010211227'
                      transaction_type_title: ACH Electronic Debit
                      ach_transaction:
                        company_name: VENMO
                        company_entry_description: PAYMENT
                        individual_identification_number: '596425331'
                        trace_number: '091000010211227'
                        ach_direction: RECEIVING
                        portal_id: cc093946-a894-415e-bb69-eff95f5ece78
                    object_type: Transaction
                  - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    jiko_account_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                    amount:
                      value: 100000
                      currency: USD
                      formatted: $1,000.00
                    timestamp: '2023-01-01T12:00:00Z'
                    status: COMPLETED
                    details:
                      transaction_type: WIRE
                      title: From External Account
                      sub_title: 9999XXXX
                      transaction_type_title: Wire Transfer In
                      wire_transaction:
                        reference_number: 9999XXXX
                        counterparty_name: John Smith
                        wire_id: 4854014d-5540-4f0c-9efe-a0137f01e1da
                    object_type: Transaction
                  - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    jiko_account_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                    amount:
                      value: 100000
                      currency: USD
                      formatted: $1,000.00
                    timestamp: '2023-01-01T12:00:00Z'
                    status: COMPLETED
                    details:
                      transaction_type: CASH_BACK
                      title: 2022-06 Card Cash Back
                      transaction_type_title: Card Cash Back
                      cash_back_transaction:
                        period: 2022-06
                        card_id: 66f6e46c-f6a1-4af8-a1bd-49666bc01301
                    object_type: Transaction
                object_type: CursorList
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jiko-accounts/{account_id}/transactions/:
    get:
      tags:
        - Transactions
      summary: List Account Transactions
      description: >-
        Returns a list of **bank account** transactions. It does not include
        transactions between the **bank account** and **brokerage account**.
        **Deprecated**: Use [List Pocket
        Transactions](/products/partner-api/reference/transactions-v2/list-pocket-transactions-v2)
        instead.
      operationId: >-
        list_account_transactions_api_v1_jiko_accounts__account_id__transactions__get
      deprecated: true
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: order
          in: query
          required: false
          schema:
            enum:
              - desc
              - asc
            type: string
            description: Ordered by the transaction timestamp, descending by default.
            default: desc
            title: Order
          description: Ordered by the transaction timestamp, descending by default.
        - name: filter[card]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Filter[Card]
        - name: filter[portal]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Filter[Portal]
        - name: filter[types]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  enum:
                    - CARD
                    - CASH_BACK
                    - ACH
                    - WIRE
                    - WIRE_FEE
                    - GENERIC
                    - ON_US
                  type: string
              - type: 'null'
            title: Filter[Types]
        - name: filter[on_us_transfer]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Filter[On Us Transfer]
        - name: filter[wire]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Filter[Wire]
        - name: timestamp_from
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Timestamp From
        - name: timestamp_to
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Timestamp To
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            default: ''
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            exclusiveMinimum: 0
            lte: 100
            default: 30
            title: Limit
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionListResponse'
              example:
                prev_page: >-
                  cj0xJnA9MjAyMi0xMi0yMSsxNyUzQTIyJTNBMDguNjc5MzQ5JTJCMDAlM0EwMA==
                next_page: cD0yMDIyLTEyLTE5KzE5JTNBNTQlM0EyNy4xODMyNzglMkIwMCUzQTAw
                items:
                  - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    jiko_account_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                    amount:
                      value: 100000
                      currency: USD
                      formatted: $1,000.00
                    timestamp: '2023-01-01T12:00:00Z'
                    status: COMPLETED
                    details:
                      transaction_type: CARD
                      title: 'ATM ABCD ID: TERM99 at 26 HOUSTON TEXAS CIR, HOUSTON TX'
                      transaction_type_title: ATM Withdrawal
                      card_transaction:
                        location:
                          street_address: 26 HOUSTON TEXAS CIR
                          city: HOUSTON
                          state: TX
                          country: US
                        counterparty: ABCD
                        terminal_id: TERM99
                        merchant_type: ATM
                        pre_authorization: true
                    object_type: Transaction
                  - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    jiko_account_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                    amount:
                      value: 100000
                      currency: USD
                      formatted: $1,000.00
                    timestamp: '2023-01-01T12:00:00Z'
                    status: COMPLETED
                    details:
                      transaction_type: ACH
                      title: From VENMO (PAYMENT)
                      sub_title: 'IIN: 596425331 REF: 91000010211227'
                      transaction_type_title: ACH Electronic Debit
                      ach_transaction:
                        company_name: VENMO
                        company_entry_description: PAYMENT
                        individual_identification_number: '596425331'
                        trace_number: '091000010211227'
                        ach_direction: RECEIVING
                        portal_id: cc093946-a894-415e-bb69-eff95f5ece78
                    object_type: Transaction
                  - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    jiko_account_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                    amount:
                      value: 100000
                      currency: USD
                      formatted: $1,000.00
                    timestamp: '2023-01-01T12:00:00Z'
                    status: COMPLETED
                    details:
                      transaction_type: WIRE
                      title: From External Account
                      sub_title: 9999XXXX
                      transaction_type_title: Wire Transfer In
                      wire_transaction:
                        reference_number: 9999XXXX
                        counterparty_name: John Smith
                        wire_id: 4854014d-5540-4f0c-9efe-a0137f01e1da
                    object_type: Transaction
                  - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    jiko_account_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                    amount:
                      value: 100000
                      currency: USD
                      formatted: $1,000.00
                    timestamp: '2023-01-01T12:00:00Z'
                    status: COMPLETED
                    details:
                      transaction_type: CASH_BACK
                      title: 2022-06 Card Cash Back
                      transaction_type_title: Card Cash Back
                      cash_back_transaction:
                        period: 2022-06
                        card_id: 66f6e46c-f6a1-4af8-a1bd-49666bc01301
                    object_type: Transaction
                object_type: CursorList
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jiko-accounts/{account_id}/transactions/{transaction_id}/:
    get:
      tags:
        - Transactions
      summary: Get Account Transaction
      description: >-
        Returns a specific transaction for a specific account, based on the
        provided account_id and transaction_id in question. **Deprecated**: Use
        [Get
        Transaction](/products/partner-api/reference/transactions-v2/get-transaction-v2)
        instead.
      operationId: >-
        get_account_transaction_api_v1_jiko_accounts__account_id__transactions__transaction_id___get
      deprecated: true
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: transaction_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Transaction Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transaction'
              example:
                id: 05964326-49b7-4e74-9783-81137ee3cf3b
                jiko_account_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                amount:
                  value: 100000
                  currency: USD
                  formatted: $1,000.00
                timestamp: '2023-01-01T12:00:00Z'
                status: COMPLETED
                details:
                  transaction_type: WIRE
                  title: From External Account
                  sub_title: 9999XXXX
                  transaction_type_title: Wire Transfer In
                  wire_transaction:
                    reference_number: 9999XXXX
                    counterparty_name: John Smith
                    wire_id: 4854014d-5540-4f0c-9efe-a0137f01e1da
                object_type: Transaction
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/customers/{customer_id}/trades/:
    get:
      tags:
        - Trades
      summary: List Customer Trades
      description: Returns a list of trades from a customer's **brokerage accounts**.
      operationId: list_customer_trades_api_v1_customers__customer_id__trades__get
      security:
        - HTTPBearer: []
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Customer Id
        - name: trade_datetime_from
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Trade Datetime From
        - name: trade_datetime_to
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Trade Datetime To
        - name: book_date_from
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date
              - type: 'null'
            description: >-
              Filters the resulting trade list by book date from the provided
              ISO8601 date, inclusively
            title: Book Date From
          description: >-
            Filters the resulting trade list by book date from the provided
            ISO8601 date, inclusively
        - name: book_date_to
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date
              - type: 'null'
            description: >-
              Filters the resulting trade list by book date to the provided
              ISO8601 date, inclusively
            title: Book Date To
          description: >-
            Filters the resulting trade list by book date to the provided
            ISO8601 date, inclusively
        - name: settlement_date_from
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date
              - type: 'null'
            description: >-
              Filters the resulting trade list by settlement date from the
              provided ISO8601 date, inclusively
            title: Settlement Date From
          description: >-
            Filters the resulting trade list by settlement date from the
            provided ISO8601 date, inclusively
        - name: settlement_date_to
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date
              - type: 'null'
            description: >-
              Filters the resulting trade list by settlement date to the
              provided ISO8601 date, inclusively
            title: Settlement Date To
          description: >-
            Filters the resulting trade list by settlement date to the provided
            ISO8601 date, inclusively
        - name: account[]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Account[]
        - name: order
          in: query
          required: false
          schema:
            enum:
              - desc
              - asc
            type: string
            description: Ordered by the trade creation time, descending by default.
            default: desc
            title: Order
          description: Ordered by the trade creation time, descending by default.
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            default: ''
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            exclusiveMinimum: 0
            lte: 100
            default: 30
            title: Limit
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TradeListResponse'
              example:
                prev_page: >-
                  cj0xJnA9MjAyMi0xMi0yMSsxNyUzQTIyJTNBMDguNjc5MzQ5JTJCMDAlM0EwMA==
                next_page: cD0yMDIyLTEyLTE5KzE5JTNBNTQlM0EyNy4xODMyNzglMkIwMCUzQTAw
                items:
                  - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    trade_datetime: '2023-01-01T12:00:00+00:00'
                    settled_date: '2023-01-01'
                    is_settled: true
                    activity: BUY
                    cusip: 912796RF6
                    description: US T-Bill
                    notional:
                      value: 20935404
                      currency: USD
                      formatted: $209,354.04
                    quantity: 2123
                    price: '98.612361'
                    maturity_date: '2023-01-30'
                    jiko_account_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                    yield_to_maturity: '0.0468'
                    tradable_id: 912797HF7
                    book_date: '2023-01-01'
                    object_type: Trade
                object_type: CursorList
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jiko-accounts/{account_id}/trades/:
    get:
      tags:
        - Trades
      summary: List Account Trades
      description: >-
        Get a list of trades. This is the equivalent of fetching transactions
        for the **brokerage** account.
      operationId: list_account_trades_api_v1_jiko_accounts__account_id__trades__get
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: trade_datetime_from
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Trade Datetime From
        - name: trade_datetime_to
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Trade Datetime To
        - name: book_date_from
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date
              - type: 'null'
            description: >-
              Filters the resulting trade list by book date from the provided
              ISO8601 date, inclusively
            title: Book Date From
          description: >-
            Filters the resulting trade list by book date from the provided
            ISO8601 date, inclusively
        - name: book_date_to
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date
              - type: 'null'
            description: >-
              Filters the resulting trade list by book date to the provided
              ISO8601 date, inclusively
            title: Book Date To
          description: >-
            Filters the resulting trade list by book date to the provided
            ISO8601 date, inclusively
        - name: settlement_date_from
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date
              - type: 'null'
            description: >-
              Filters the resulting trade list by settlement date from the
              provided ISO8601 date, inclusively
            title: Settlement Date From
          description: >-
            Filters the resulting trade list by settlement date from the
            provided ISO8601 date, inclusively
        - name: settlement_date_to
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date
              - type: 'null'
            description: >-
              Filters the resulting trade list by settlement date to the
              provided ISO8601 date, inclusively
            title: Settlement Date To
          description: >-
            Filters the resulting trade list by settlement date to the provided
            ISO8601 date, inclusively
        - name: order
          in: query
          required: false
          schema:
            enum:
              - desc
              - asc
            type: string
            description: Ordered by the trade creation time, descending by default.
            default: desc
            title: Order
          description: Ordered by the trade creation time, descending by default.
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            default: ''
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            exclusiveMinimum: 0
            lte: 100
            default: 30
            title: Limit
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TradeListResponse'
              example:
                prev_page: >-
                  cj0xJnA9MjAyMi0xMi0yMSsxNyUzQTIyJTNBMDguNjc5MzQ5JTJCMDAlM0EwMA==
                next_page: cD0yMDIyLTEyLTE5KzE5JTNBNTQlM0EyNy4xODMyNzglMkIwMCUzQTAw
                items:
                  - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    trade_datetime: '2023-01-01T12:00:00+00:00'
                    settled_date: '2023-01-01'
                    is_settled: true
                    activity: BUY
                    cusip: 912796RF6
                    description: US T-Bill
                    notional:
                      value: 20935404
                      currency: USD
                      formatted: $209,354.04
                    quantity: 2123
                    price: '98.612361'
                    maturity_date: '2023-01-30'
                    jiko_account_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                    yield_to_maturity: '0.0468'
                    tradable_id: 912797HF7
                    book_date: '2023-01-01'
                    object_type: Trade
                object_type: CursorList
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jiko-accounts/{account_id}/trades/{trade_id}/confirmation/:
    get:
      tags:
        - Trades
      summary: Get Trade Confirmation
      description: >-
        Get a trade's trade confirmation.


        </br>


        Trade confirmations are sensitive documents. For security reasons, we
        return trade confirmations as PDFs through a URL with a 10-minute TTL.
        Trade confirmation PDFs should be fetched and served just-in-time, not
        stored in databases. Trades with "activity": "MATURITY" do not have
        trade confirmations.
      operationId: >-
        get_trade_confirmation_api_v1_jiko_accounts__account_id__trades__trade_id__confirmation__get
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: trade_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Trade Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TradeConfirmation'
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/applications/:
    post:
      tags:
        - Individuals
      summary: Create Application
      description: >-
        Create an application. You must
        [apply](/products/partner-api/reference/individuals/apply_api_v1_applications__application_id__apply__post)
        to potentially create a customer using the application, assuming KYC is
        successful.


        </br>


        When creating an application, keep in mind that customers must be at
        least 18 years old to open an account with Jiko.
      operationId: create_application_api_v1_applications__post
      security:
        - HTTPBearer: []
      parameters:
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/InternationalApplicationRequest'
              examples:
                - identification_number: '999999999'
                  name:
                    first_name: Jiko
                    last_name: Customer
                  email: jiko@example.com
                  date_of_birth: '1970-01-01'
                  investment_profile:
                    income: BETWEEN_100K_AND_250K
                    net_worth: BETWEEN_1M_AND_5M
                    occupation: Investor
                    employment_status: EMPLOYED
                  agreement_consent:
                    version: '1'
                    timestamp: '2023-01-01T12:00:00Z'
                  phone_number: '+14155550100'
                  address:
                    street_address: 2000 Allston Way
                    city: Berkeley
                    postal_code: '94701'
                    state: CA
                    country: USA
              title: Application
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternationalApplication'
              example:
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                time_created: '2023-01-01T12:00:00Z'
                updated_at: '2023-01-01T13:00:00Z'
                status: CREATED
                exception_reasons: []
                phone_number: '+14155550100'
                agreement_consent:
                  version: '1'
                  timestamp: '2023-01-01T12:00:00Z'
                email: jiko@example.com
                name:
                  first_name: Jiko
                  last_name: Customer
                date_of_birth:
                  date_of_birth: '1970-01-01'
                investment_profile:
                  income: BETWEEN_100K_AND_250K
                  net_worth: BETWEEN_1M_AND_5M
                  occupation: Investor
                  employment_status: EMPLOYED
                documents: []
                id_verification_documents_needed: false
                identification_number_verification_document_needed: false
                address_verification_document_needed: false
                address:
                  street_address: 2000 Allston Way
                  city: Berkeley
                  postal_code: '94701'
                  state: CA
                  country: US
                citizenship_country: US
                identification_number_issuing_country: US
                object_type: InternationalApplication
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/applications/{application_id}/:
    get:
      tags:
        - Individuals
      summary: Get Application
      description: Fetch and observe an existing application.
      operationId: get_application_api_v1_applications__application_id___get
      security:
        - HTTPBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternationalApplication'
              example:
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                time_created: '2023-01-01T12:00:00Z'
                updated_at: '2023-01-01T13:00:00Z'
                status: CREATED
                exception_reasons: []
                phone_number: '+14155550100'
                agreement_consent:
                  version: '1'
                  timestamp: '2023-01-01T12:00:00Z'
                email: jiko@example.com
                name:
                  first_name: Jiko
                  last_name: Customer
                date_of_birth:
                  date_of_birth: '1970-01-01'
                investment_profile:
                  income: BETWEEN_100K_AND_250K
                  net_worth: BETWEEN_1M_AND_5M
                  occupation: Investor
                  employment_status: EMPLOYED
                documents: []
                id_verification_documents_needed: false
                identification_number_verification_document_needed: false
                address_verification_document_needed: false
                address:
                  street_address: 2000 Allston Way
                  city: Berkeley
                  postal_code: '94701'
                  state: CA
                  country: US
                citizenship_country: US
                identification_number_issuing_country: US
                object_type: InternationalApplication
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/applications/{application_id}/apply/:
    post:
      tags:
        - Individuals
      summary: Apply
      description: >-
        Initiate automatic KYC. Transitions the application from `CREATED`
        status to `SUBMITTED` status. Once the async KYC process is completed,
        the application will move from `SUBMITTED` to another status.
      operationId: apply_api_v1_applications__application_id__apply__post
      security:
        - HTTPBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternationalApplication'
              example:
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                time_created: '2023-01-01T12:00:00Z'
                updated_at: '2023-01-01T13:00:00Z'
                status: DOCUMENTS_NEEDED
                exception_reasons: []
                phone_number: '+14155550100'
                agreement_consent:
                  version: '1'
                  timestamp: '2023-01-01T12:00:00Z'
                email: jiko@example.com
                name:
                  first_name: Jiko
                  last_name: Customer
                date_of_birth:
                  date_of_birth: '1970-01-01'
                investment_profile:
                  income: BETWEEN_100K_AND_250K
                  net_worth: BETWEEN_1M_AND_5M
                  occupation: Investor
                  employment_status: EMPLOYED
                customer_id: 160c0c4b-9966-4dc1-a916-8407eb10d74e
                documents:
                  - id: dcd70de2-9f18-4918-bd96-c3972c85dc4e
                    type: ID_FRONT
                    status: PENDING_UPLOAD
                  - id: 62cd7ac9-d882-43f5-ac19-ad85c0c5c533
                    type: ID_BACK
                    status: PENDING_UPLOAD
                  - id: 1bd78e61-c86f-45b8-8848-34a51c863166
                    type: PASSPORT
                    status: PENDING_UPLOAD
                  - id: 0ceee47c-946e-4a6d-8951-96e1f630a59c
                    type: SELFIE
                    status: PENDING_UPLOAD
                id_verification_documents_needed: true
                identification_number_verification_document_needed: false
                address_verification_document_needed: false
                address:
                  street_address: 2000 Allston Way
                  city: Berkeley
                  postal_code: '94701'
                  state: CA
                  country: US
                citizenship_country: US
                identification_number_issuing_country: US
                object_type: InternationalApplication
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/agreements/:
    get:
      tags:
        - Individuals
      summary: List Agreements
      description: >-
        Partner agreements and disclosures are available through the API in a
        versioned bundle. The version of the fetched bundle must be attached to
        all incoming applications.
      operationId: list_agreements_api_v1_agreements__get
      security:
        - HTTPBearer: []
      parameters:
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agreement'
              example:
                version: 1.0.0
                release_date: '2023-01-01'
                documents:
                  - pdf_download_url: https://example.com/path-to-agreement-pdf
                    title: Jiko Privacy Policy
                    type: PRIVACY_POLICY
                    category: GENERAL
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/business-applications/:
    post:
      tags:
        - Businesses
      summary: Create Application
      description: >-
        Create a Business Application. The **Business Application** object
        contains general information related to the business and the overall
        status of the application.


        </br>


        See the [Onboarding Businesses
        Guide](/products/partner-api/guides/building/onboarding-businesses) for
        more.
      operationId: create-business-application
      security:
        - HTTPBearer: []
      parameters:
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/BusinessApplicationRequest'
              examples:
                - name: Jiko Group, Inc.
                  entity_type: CORPORATE
                  doing_business_as: Jiko
                  identification_number:
                    identification_number: '987654321'
                    type: TIN
                  address:
                    street_address: 101 Mission Street
                    street_address2: 7th Floor
                    city: San Francisco
                    postal_code: '94105'
                    state: CA
                    country: US
                  website: https://www.jiko.io
                  contact:
                    name:
                      first_name: Jiko
                      middle_name: ''
                      last_name: Contact
                    phone_number: '+15551234567'
                    email: contact@jiko.io
                  formation_date: '2017-01-04'
                  risk_info:
                    risk_categories: []
                    has_current_enforcement_actions: false
                    business_activity_location: PRIMARILY_US
                    source_of_funds: INTERNAL_FUNDS
                    account_usage: MONEY_STORAGE
                    annual_revenue: PRE_REVENUE
                    monthly_transactions: 5_OR_LESS
                    first_month_deposit: 1M_OR_LESS
                  industry:
                    industry: ACCOUNTING_AND_BOOKKEEPING
                  agreement_consent:
                    version: '1'
                    timestamp: '2023-01-01T12:00:00Z'
              title: Application
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessApplicationResponse'
              example:
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                time_created: '2023-01-01T12:00:00Z'
                updated_at: '2023-01-01T12:00:00Z'
                status: CREATED
                exception_reasons: []
                name: Jiko Group, Inc.
                entity_type: CORPORATE
                doing_business_as: Jiko
                identification_number:
                  identification_number: '987654321'
                  type: TIN
                address:
                  street_address: 101 Mission Street
                  street_address2: 7th Floor
                  city: San Francisco
                  postal_code: '94105'
                  state: CA
                  country: US
                website: https://www.jiko.io
                contact:
                  name:
                    first_name: Jiko
                    middle_name: ''
                    last_name: Contact
                  phone_number: '+15551234567'
                  email: contact@jiko.io
                formation_date: '2017-01-04'
                risk_info:
                  risk_categories: []
                  has_current_enforcement_actions: false
                  business_activity_location: PRIMARILY_US
                  source_of_funds: INTERNAL_FUNDS
                  account_usage: MONEY_STORAGE
                  annual_revenue: PRE_REVENUE
                  monthly_transactions: 5_OR_LESS
                  first_month_deposit: 1M_OR_LESS
                industry:
                  industry: ACCOUNTING_AND_BOOKKEEPING
                agreement_consent:
                  version: '1'
                  timestamp: '2023-01-01T12:00:00Z'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/business-applications/{application_id}/:
    get:
      tags:
        - Businesses
      summary: Get Application
      description: Fetch a Business Application.
      operationId: get-business-application
      security:
        - HTTPBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessApplicationResponse'
              example:
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                time_created: '2023-01-01T12:00:00Z'
                updated_at: '2023-01-01T12:00:00Z'
                status: APPROVED
                exception_reasons: []
                name: Jiko Group, Inc.
                entity_type: CORPORATE
                doing_business_as: Jiko
                identification_number:
                  identification_number: '987654321'
                  type: TIN
                address:
                  street_address: 101 Mission Street
                  street_address2: 7th Floor
                  city: San Francisco
                  postal_code: '94105'
                  state: CA
                  country: US
                website: https://www.jiko.io
                contact:
                  name:
                    first_name: Jiko
                    middle_name: ''
                    last_name: Contact
                  phone_number: '+15551234567'
                  email: contact@jiko.io
                formation_date: '2017-01-04'
                risk_info:
                  risk_categories: []
                  has_current_enforcement_actions: false
                  business_activity_location: PRIMARILY_US
                  source_of_funds: INTERNAL_FUNDS
                  account_usage: MONEY_STORAGE
                  annual_revenue: PRE_REVENUE
                  monthly_transactions: 5_OR_LESS
                  first_month_deposit: 1M_OR_LESS
                industry:
                  industry: ACCOUNTING_AND_BOOKKEEPING
                agreement_consent:
                  version: '1'
                  timestamp: '2023-01-01T12:00:00Z'
                customer_id: 160c0c4b-9966-4dc1-a916-8407eb10d74e
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
        - Businesses
      summary: Update Application
      operationId: update-business-application
      security:
        - HTTPBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/BusinessApplicationRequest'
              examples:
                - name: Jiko Group, Inc.
                  entity_type: CORPORATE
                  doing_business_as: Jiko
                  identification_number:
                    identification_number: '987654321'
                    type: TIN
                  address:
                    street_address: 101 Mission Street
                    street_address2: 7th Floor
                    city: San Francisco
                    postal_code: '94105'
                    state: CA
                    country: US
                  website: https://www.jiko.io
                  contact:
                    name:
                      first_name: Jiko
                      middle_name: ''
                      last_name: Contact
                    phone_number: '+15551234567'
                    email: contact@jiko.io
                  formation_date: '2017-01-04'
                  risk_info:
                    risk_categories: []
                    has_current_enforcement_actions: false
                    business_activity_location: PRIMARILY_US
                    source_of_funds: INTERNAL_FUNDS
                    account_usage: MONEY_STORAGE
                    annual_revenue: PRE_REVENUE
                    monthly_transactions: 5_OR_LESS
                    first_month_deposit: 1M_OR_LESS
                  industry:
                    industry: ACCOUNTING_AND_BOOKKEEPING
                  agreement_consent:
                    version: '1'
                    timestamp: '2023-01-01T12:00:00Z'
              title: Application
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessApplicationResponse'
              example:
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                time_created: '2023-01-01T12:00:00Z'
                updated_at: '2023-01-01T12:00:00Z'
                status: SUBMITTED
                exception_reasons: []
                name: Jiko Group, Inc.
                entity_type: CORPORATE
                doing_business_as: Jiko
                identification_number:
                  identification_number: '987654321'
                  type: TIN
                address:
                  street_address: 101 Mission Street
                  street_address2: 7th Floor
                  city: San Francisco
                  postal_code: '94105'
                  state: CA
                  country: US
                website: https://www.jiko.io
                contact:
                  name:
                    first_name: Jiko
                    middle_name: ''
                    last_name: Contact
                  phone_number: '+15551234567'
                  email: contact@jiko.io
                formation_date: '2017-01-04'
                risk_info:
                  risk_categories: []
                  has_current_enforcement_actions: false
                  business_activity_location: PRIMARILY_US
                  source_of_funds: INTERNAL_FUNDS
                  account_usage: MONEY_STORAGE
                  annual_revenue: PRE_REVENUE
                  monthly_transactions: 5_OR_LESS
                  first_month_deposit: 1M_OR_LESS
                industry:
                  industry: ACCOUNTING_AND_BOOKKEEPING
                agreement_consent:
                  version: '1'
                  timestamp: '2023-01-01T12:00:00Z'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/business-applications/{application_id}/apply/:
    post:
      tags:
        - Businesses
      summary: Apply
      description: >-
        When the Business Application object has been completed, along with
        Related Party Applications and Document Requests (see the [Onboarding
        Businesses
        Guide](/products/partner-api/guides/building/onboarding-businesses)),
        call this endpoint to submit the business application for review.
      operationId: business-application-apply
      security:
        - HTTPBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessApplicationResponse'
              example:
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                time_created: '2023-01-01T12:00:00Z'
                updated_at: '2023-01-01T12:00:00Z'
                status: SUBMITTED
                exception_reasons: []
                name: Jiko Group, Inc.
                entity_type: CORPORATE
                doing_business_as: Jiko
                identification_number:
                  identification_number: '987654321'
                  type: TIN
                address:
                  street_address: 101 Mission Street
                  street_address2: 7th Floor
                  city: San Francisco
                  postal_code: '94105'
                  state: CA
                  country: US
                website: https://www.jiko.io
                contact:
                  name:
                    first_name: Jiko
                    middle_name: ''
                    last_name: Contact
                  phone_number: '+15551234567'
                  email: contact@jiko.io
                formation_date: '2017-01-04'
                risk_info:
                  risk_categories: []
                  has_current_enforcement_actions: false
                  business_activity_location: PRIMARILY_US
                  source_of_funds: INTERNAL_FUNDS
                  account_usage: MONEY_STORAGE
                  annual_revenue: PRE_REVENUE
                  monthly_transactions: 5_OR_LESS
                  first_month_deposit: 1M_OR_LESS
                industry:
                  industry: ACCOUNTING_AND_BOOKKEEPING
                agreement_consent:
                  version: '1'
                  timestamp: '2023-01-01T12:00:00Z'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/business-applications/{application_id}/related-party-applications/:
    post:
      tags:
        - Businesses
      summary: Create Related Party Application
      operationId: create-related-party-application
      security:
        - HTTPBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/RelatedPartyApplicationRequest'
              examples:
                - name:
                    first_name: Related
                    middle_name: ''
                    last_name: Party
                  address:
                    street_address: 101 Mission Street
                    street_address2: 7th Floor
                    city: San Francisco
                    postal_code: '94105'
                    state: CA
                    country: US
                  date_of_birth: '1970-01-01'
                  identification_number:
                    identification_number: '987654321'
                    identification_type: SSN
                  phone_number: '+15551234567'
                  title: CEO
                  roles:
                    - CONTROL_PERSON
                  ownership_percentage: '0.51'
                  citizenship: US
                  email: relatedparty@jiko.io
              title: Application
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RelatedPartyApplicationResponse'
              example:
                name:
                  first_name: Related
                  middle_name: ''
                  last_name: Party
                address:
                  street_address: 101 Mission Street
                  street_address2: 7th Floor
                  city: San Francisco
                  postal_code: '94105'
                  state: CA
                  country: US
                date_of_birth: '1970-01-01'
                identification_number:
                  identification_number: '987654321'
                  identification_type: SSN
                phone_number: '+15551234567'
                title: CEO
                roles:
                  - CONTROL_PERSON
                ownership_percentage: '0.51'
                citizenship: US
                email: relatedparty@jiko.io
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
        - Businesses
      summary: List Related Party Application
      operationId: list-related-party-application
      security:
        - HTTPBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RelatedPartyApplicationResponse'
                title: Response List-Related-Party-Application
              example:
                - name:
                    first_name: Related
                    middle_name: ''
                    last_name: Party
                  address:
                    street_address: 101 Mission Street
                    street_address2: 7th Floor
                    city: San Francisco
                    postal_code: '94105'
                    state: CA
                    country: US
                  date_of_birth: '1970-01-01'
                  identification_number:
                    identification_number: '987654321'
                    identification_type: SSN
                  phone_number: '+15551234567'
                  title: CEO
                  roles:
                    - CONTROL_PERSON
                  ownership_percentage: '0.51'
                  citizenship: US
                  email: relatedparty@jiko.io
                  id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/business-applications/{application_id}/related-party-applications/{related_party_application_id}/:
    patch:
      tags:
        - Businesses
      summary: Update Related Party Application
      operationId: update-related-party-application
      security:
        - HTTPBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
        - name: related_party_application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Related Party Application Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/RelatedPartyApplicationRequest'
              examples:
                - name:
                    first_name: Related
                    middle_name: ''
                    last_name: Party
                  address:
                    street_address: 101 Mission Street
                    street_address2: 7th Floor
                    city: San Francisco
                    postal_code: '94105'
                    state: CA
                    country: US
                  date_of_birth: '1970-01-01'
                  identification_number:
                    identification_number: '987654321'
                    identification_type: SSN
                  phone_number: '+15551234567'
                  title: CEO
                  roles:
                    - CONTROL_PERSON
                  ownership_percentage: '0.51'
                  citizenship: US
                  email: relatedparty@jiko.io
              title: Application
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RelatedPartyApplicationResponse'
              example:
                name:
                  first_name: Related
                  middle_name: ''
                  last_name: Party
                address:
                  street_address: 101 Mission Street
                  street_address2: 7th Floor
                  city: San Francisco
                  postal_code: '94105'
                  state: CA
                  country: US
                date_of_birth: '1970-01-01'
                identification_number:
                  identification_number: '987654321'
                  identification_type: SSN
                phone_number: '+15551234567'
                title: CEO
                roles:
                  - CONTROL_PERSON
                ownership_percentage: '0.51'
                citizenship: US
                email: relatedparty@jiko.io
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
        - Businesses
      summary: Delete Related Party Application
      operationId: delete-related-party-application
      security:
        - HTTPBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
        - name: related_party_application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Related Party Application Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
        - Businesses
      summary: List Related Party Document Requests
      description: >-
        Fetch the list of outstanding Document Requests. Document Requests vary
        depending on the information provided in the Business Application and
        Related Party Application objects.


        <br />


        See the [Onboarding Businesses
        Guide](/products/partner-api/guides/building/onboarding-businesses) for
        more.
      operationId: list-related-party-document-requests-businesses
      security:
        - HTTPBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
        - name: related_party_application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Related Party Application Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Document'
                title: Response List-Related-Party-Document-Requests-Businesses
              example:
                - id: 61c23eb1-002a-4459-aa9a-624428281e14
                  type: OPERATING_AGREEMENT
                  status: PENDING_UPLOAD
                  exception_reason: ''
                  name: ''
                - id: 96e70040-eb4e-48d1-98af-0c793a6ee137
                  type: ARTICLES_OF_INCORPORATION
                  status: INVALID
                  exception_reason: IMAGE_QUALITY_ERROR_CUTOFF
                  name: articles_of_incorporation.png
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/customers/{customer_id}/counterparties/:
    get:
      tags:
        - Counterparties
      summary: List Counterparties
      description: >-
        List all counterparties for a customer. **Deprecated**: Use [List
        Counterparties](/products/partner-api/reference/counterparties-v2/list_counterparties_api_v2_customers__customer_id__counterparties__get)
        instead.
      operationId: list_counterparties_api_v1_customers__customer_id__counterparties__get
      deprecated: true
      security:
        - HTTPBearer: []
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Customer Id
        - name: cursor
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            default: ''
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
                exclusiveMinimum: 0
              - type: 'null'
            lte: 100
            default: 30
            title: Limit
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCounterpartiesResponse'
              example:
                prev_page: >-
                  cj0xJnA9MjAyMi0xMi0yMSsxNyUzQTIyJTNBMDguNjc5MzQ5JTJCMDAlM0EwMA==
                next_page: cD0yMDIyLTEyLTE5KzE5JTNBNTQlM0EyNy4xODMyNzglMkIwMCUzQTAw
                items:
                  - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    type: ACH
                    ach:
                      time_created: '2023-01-15T14:00:00Z'
                      verification_type: MICRO_DEPOSITS
                      status: IN_PROGRESS
                      account_number: '123456789'
                      routing_number: '9876456'
                      name_on_account: External Accountholder
                      account_type: SAVINGS
                      institution_name: External Bank NA
                      plaid:
                        mask: '0000'
                        verification_status: PENDING_AUTOMATIC_VERIFICATION
                        object_type: CounterpartyPlaid
                    wire:
                      time_created: '2023-01-15T14:00:00Z'
                      verification_type: INCOMING_WIRE
                      status: IN_PROGRESS
                      account_number: '1213456789'
                      routing_number: '9876456'
                      name_on_account: External Accountholder
                      account_type: SAVINGS
                      institution_name: External Bank NA
                    object_type: Counterparty
                object_type: CursorList
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/customers/{customer_id}/counterparties/{counterparty_id}/:
    get:
      tags:
        - Counterparties
      summary: Get Counterparty
      description: >-
        **Deprecated**: Use [Get
        Counterparty](/products/partner-api/reference/counterparties-v2/get_counterparty_api_v2_customers__customer_id__counterparties__counterparty_id___get)
        instead.


        Poll this endpoint to monitor the progress of the verification process
        for a single counterparty.


        </br>


        > ### Plaid:

        >

        > If `plaid.verification_status` is `PENDING_MANUAL_VERIFICATION`, the
        user is in the <a href="https://plaid.com/docs/auth/coverage/same-day/"
        target="_blank" rel=" noreferrer noopener">Same Day Micro-deposits</a>
        flow and must return in 1-2 business days and go through the Plaid Link
        flow again, this time using a new Link token where the _counterparty_id_
        is passed to Jiko.
      operationId: >-
        get_counterparty_api_v1_customers__customer_id__counterparties__counterparty_id___get
      deprecated: true
      security:
        - HTTPBearer: []
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Customer Id
        - name: counterparty_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Counterparty Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Counterparty'
              example:
                id: b5a776db-8960-4157-afe5-519b6708bb79
                type: WIRE
                wire:
                  time_created: '2023-01-15T14:00:00Z'
                  verification_type: INCOMING_WIRE
                  status: IN_PROGRESS
                  account_number: '1213456789'
                  routing_number: '9876456'
                  name_on_account: External Accountholder
                  account_type: SAVINGS
                  institution_name: External Bank NA
                object_type: Counterparty
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jiko-accounts/{account_id}/cards/:
    get:
      tags:
        - Manage Cards
      summary: List Account Cards
      description: >-
        Get all cards for a specific account. Includes the `card_id` and
        metadata, but sensitive data like CVV's, expiration dates and card
        numbers are omitted.
      operationId: list_account_cards_api_v1_jiko_accounts__account_id__cards__get
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 100
            title: Limit
        - name: cursor
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Cursor
        - name: filter[status]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                uniqueItems: true
                items:
                  enum:
                    - OPEN
                    - LOCKED
                    - CLOSED
                    - NOT_ACTIVATED
                    - FROZEN
                  type: string
              - type: 'null'
            title: Filter[Status]
        - name: type
          in: query
          required: false
          schema:
            anyOf:
              - enum:
                  - VIRTUAL
                  - PHYSICAL
                type: string
              - type: 'null'
            title: Type
        - name: created_from
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Created From
        - name: created_to
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Created To
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardListResponse'
              example:
                offset: 0
                count: 1
                items:
                  - card_id: 66f6e46c-f6a1-4af8-a1bd-49666bc01304
                    name: Jiko Virtual Debit Card
                    status: OPEN
                    type: VIRTUAL
                    creation_time: '2024-06-19T14:00:00Z'
                object_type: List
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jiko-accounts/{account_id}/cards/{card_id}/status/:
    get:
      tags:
        - Manage Cards
      summary: Get Card Status
      description: Get a card's current status.
      operationId: >-
        get_card_status_api_v1_jiko_accounts__account_id__cards__card_id__status__get
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: card_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Card Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardStatusResponse'
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
        - Manage Cards
      summary: Set Card Status
      description: >-
        Set a card's status. Note that once a card's status is set to `CLOSED`,
        it can never be used again.
      operationId: >-
        set_card_status_api_v1_jiko_accounts__account_id__cards__card_id__status__patch
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: card_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Card Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeCardStatusRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardStatusResponse'
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jiko-accounts/{account_id}/cards/{card_id}/pin/:
    post:
      tags:
        - Manage Cards
      summary: Set Card PIN
      description: Set PIN for physical cards (by `card_id`) before they are activated.
      operationId: set_card_pin_api_v1_jiko_accounts__account_id__cards__card_id__pin__post
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: card_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Card Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CardPinBase'
              examples:
                - encrypted_pin: >-
                    KzJXZ0DgR/rvWnxexTeObSsOaByNGHKt67kLwbAEWULV4szPTeOTp1wSVQalGn/ykE0qgEUV8PEZGUbyvfj3j0gpuxIMdgbxg0ujXp6UfiuOMIbmP+HDg4E2BoSduh8XygMhwiWycnqA6lnKHRjGSb8vOwnNgxTGuUX9w3k0NJl3u62JWs2FzSa/HedpxKu+U1VTRmW9Y7tee7QYC/72xseV2wKMx+iFG3Sw2D9ruC4sgVE3tdi7E9FBsSVWawle9UrTF+wdX+cfImb7lKI2Pw5MiEf29xe7moNU8RHzGgyOrbyQcx0/j8t8mLqHSs/ioRGeSNevw4pXlpJBRD+hamyRdVQdaLrWB5xEKx9Ih9fGlMYE5RJHWMveB0NQ2Oxl2h/4/Om/bbP0JDA1doY6l/ovkey9lu0c494R05tdWmch93v+f/SqAoBcXf4hDeUgLhWkRNykzzwoQOACFNcBk9TUWJH8S90TYQM3sdgIfcNFru45VGJa5jlyheqNYeU3EqsWyVFmZAJUFJUSBMJdAVkSg5jxDPdzyk7GLrk5xu2N1orq4NKzR8O6WL+PhFtJF/7pZDWawq8TZRX3nqbyYUY+5ZlnBEVXywsn0L5Fp6od4oAelyhzrjzMlhtEMpuwOFhLvcb3Fm0Z4EIDeX6l3MIhDTDExKxOJsCLG2dbbIA=
              title: Model
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardPinResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jiko-accounts/{account_id}/cards/{card_id}/close/:
    post:
      tags:
        - Manage Cards
      summary: Close Card
      description: >-
        Close a card, virtual or physical. Physical cards require a
        `closure_reason`. If the reason is `STOLEN` or `LOST`, a
        `lost_stolen_date` is required.
      operationId: close_card_api_v1_jiko_accounts__account_id__cards__card_id__close__post
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: card_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Card Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CloseCardRequest'
              examples:
                - closure_reason: STOLEN
                  lost_stolen_date: '2023-01-01'
              title: Model
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jiko-accounts/{account_id}/card-orders/:
    get:
      tags:
        - Physical Cards
      summary: List Card Orders
      description: List all card orders for this account.
      operationId: list_card_orders_api_v1_jiko_accounts__account_id__card_orders__get
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            default: ''
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            exclusiveMinimum: 0
            lte: 100
            default: 30
            title: Limit
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PhysicalCardOrderListResponse'
              example:
                prev_page: >-
                  cj0xJnA9MjAyMi0xMi0yMSsxNyUzQTIyJTNBMDguNjc5MzQ5JTJCMDAlM0EwMA==
                next_page: cD0yMDIyLTEyLTE5KzE5JTNBNTQlM0EyNy4xODMyNzglMkIwMCUzQTAw
                items:
                  - card_id: 66f6e46c-f6a1-4af8-a1bd-49666bc01304
                    card_order_id: d66e74c4-66f9-4937-8518-1a94f39ba0f9
                    status: INITIAL
                    object_type: MinimalPhysicalCardOrderResponse
                object_type: CursorList
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
        - Physical Cards
      summary: Create Physical Card Order
      description: >-
        Order a new, physical card for an account. It will be delivered to the
        specified address.
      operationId: >-
        create_physical_card_order_api_v1_jiko_accounts__account_id__card_orders__post
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/PhysicalCardOrder'
              examples:
                - name_on_card: Jiko Customer
                  shipping_address:
                    street_address: 2000 Allston Way
                    city: Berkeley
                    postal_code: '94701'
                    state: CA
                    country: USA
              title: Model
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PhysicalCardOrderResponse'
              example:
                card_id: 66f6e46c-f6a1-4af8-a1bd-49666bc01304
                card_order_id: d66e74c4-66f9-4937-8518-1a94f39ba0f9
                status: INITIAL
                name_on_card: Jiko Customer
                shipping_address:
                  street_address: 2000 Allston Way
                  city: Berkeley
                  postal_code: '94701'
                  state: CA
                  country: USA
                object_type: PhysicalCardOrderResponse
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jiko-accounts/{account_id}/card-orders/{card_order_id}/:
    get:
      tags:
        - Physical Cards
      summary: Get Card Order
      description: Retrieve card order information by provided `card_order_id`.
      operationId: >-
        get_card_order_api_v1_jiko_accounts__account_id__card_orders__card_order_id___get
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: card_order_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Card Order Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PhysicalCardOrderResponse'
              example:
                card_id: 66f6e46c-f6a1-4af8-a1bd-49666bc01304
                card_order_id: d66e74c4-66f9-4937-8518-1a94f39ba0f9
                status: INITIAL
                name_on_card: Jiko Customer
                shipping_address:
                  street_address: 2000 Allston Way
                  city: Berkeley
                  postal_code: '94701'
                  state: CA
                  country: USA
                object_type: PhysicalCardOrderResponse
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jiko-accounts/{account_id}/virtual-cards/{card_id}/:
    post:
      tags:
        - Virtual Cards
      summary: Get Virtual Card
      description: >-
        Retrieve virtual card detail by given `card_id`. Generate a single-use
        4096-bit RSA key-pair at the (end user) client side and pass the public
        key PEM encoded upstream in PKCS#1 or PKCS#1.5 format to ensure
        confidentiality and encryption of the card's PAN, CVV and expiration
        date.
      operationId: >-
        get_virtual_card_api_v1_jiko_accounts__account_id__virtual_cards__card_id___post
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: card_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Card Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/PublicKeyRequest'
              examples:
                - public_key: "-----BEGIN PUBLIC KEY-----\r\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAzmZv8spzSU9z+/bhFzX0\r\ns4xVXE9ZOApQUMoM3Q1VDiJujyWJ61uoTsWT1uQlIXHdUQ3NcXw0WYDUEaM8fj1b\r\nB2k1zSXmRD4VmxAIRNVfs3Cp3GKqC/WjyvDw25+SYBFwiaYJblpyZPiunXvXRyK8\r\nvdDaPliwTN5p7pjHQvcfXOl20ZtWnZTGMulJ+smNCYKWckW1hEOMjJP8FLMJpSHa\r\n6yGOpAYAxoHxodiJCI4X6fG206gBtyFps1CyxCz8WDjALqJYfeArTFv7/2AyuVCF\r\n5zLE7tzPrJeVxfqa+CI+7mWFhEKZLAd/PEzEL7P2VZr9BRd0lyxBipEEG/DGMEvY\r\n1dcx+3J56ZxVURAqeXPGkqVfz/IdisQt/okp6vSVKQdImeyzpJvwvBc7T7tKyRZR\r\nvtL8XLYzZBujqWCezMxU97TAb7BlQ2nPJCQFMZD7y1KldgWuGnjXha1TFIYvfrYW\r\noDFK221Z6LYlKWeRFGXhoNOX1Qm/CX3wi9Tfo01LTxbCY2Y1mbv6e8Xt12MzhicD\r\nZsFvVrtRaVrjmqXXDq8X2r7puPTLOQf7Dow3944XnTZQURE4oPIwCfTBmfMow+TB\r\n+ZUYWRXwg0/hl9AOBSGLVNlaGZD8sAu98knish5LJv34lx5mIiLLpGpIt+mzZikU\r\nFt9siIkltvk49qcmTuI8GJUCAwEAAQ==\r\n-----END PUBLIC KEY-----"
              title: Model
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualCardResponse'
              example:
                card_id: 66f6e46c-f6a1-4af8-a1bd-49666bc01304
                encrypted_pan: LBHyVQggqNZvbYriaL8omZSFnQfS4yMFEO8hpVmgrtn70uYz56...
                encrypted_cvv: GLuGA7uI2iYrzE03XkKMH1IJZD6cxR+WJmgw9Z0VuervNqnkUq...
                encrypted_expiration: amAxcZuURFfOi38kbM1LXfa6gBmuaSCt10Kic8243kM1V+Llsb...
                object_type: VirtualCardResponse
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
        - Virtual Cards
      summary: Close Virtual Card
      description: Close a virtual card. This is an irreversible action.
      operationId: >-
        close_virtual_card_api_v1_jiko_accounts__account_id__virtual_cards__card_id___delete
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: card_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Card Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jiko-accounts/{account_id}/virtual-cards/:
    post:
      tags:
        - Virtual Cards
      summary: Create Virtual Card
      description: >-
        Create a virtual card for an account. Generate a single-use 4096-bit RSA
        key-pair at the (end user) client side and pass the public key PEM
        encoded upstream in PKCS#1 or PKCS#1.5 format to ensure confidentiality
        and encryption of the card's PAN, CVV and expiration date.
      operationId: >-
        create_virtual_card_api_v1_jiko_accounts__account_id__virtual_cards__post
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/PublicKeyRequest'
              examples:
                - public_key: "-----BEGIN PUBLIC KEY-----\r\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAzmZv8spzSU9z+/bhFzX0\r\ns4xVXE9ZOApQUMoM3Q1VDiJujyWJ61uoTsWT1uQlIXHdUQ3NcXw0WYDUEaM8fj1b\r\nB2k1zSXmRD4VmxAIRNVfs3Cp3GKqC/WjyvDw25+SYBFwiaYJblpyZPiunXvXRyK8\r\nvdDaPliwTN5p7pjHQvcfXOl20ZtWnZTGMulJ+smNCYKWckW1hEOMjJP8FLMJpSHa\r\n6yGOpAYAxoHxodiJCI4X6fG206gBtyFps1CyxCz8WDjALqJYfeArTFv7/2AyuVCF\r\n5zLE7tzPrJeVxfqa+CI+7mWFhEKZLAd/PEzEL7P2VZr9BRd0lyxBipEEG/DGMEvY\r\n1dcx+3J56ZxVURAqeXPGkqVfz/IdisQt/okp6vSVKQdImeyzpJvwvBc7T7tKyRZR\r\nvtL8XLYzZBujqWCezMxU97TAb7BlQ2nPJCQFMZD7y1KldgWuGnjXha1TFIYvfrYW\r\noDFK221Z6LYlKWeRFGXhoNOX1Qm/CX3wi9Tfo01LTxbCY2Y1mbv6e8Xt12MzhicD\r\nZsFvVrtRaVrjmqXXDq8X2r7puPTLOQf7Dow3944XnTZQURE4oPIwCfTBmfMow+TB\r\n+ZUYWRXwg0/hl9AOBSGLVNlaGZD8sAu98knish5LJv34lx5mIiLLpGpIt+mzZikU\r\nFt9siIkltvk49qcmTuI8GJUCAwEAAQ==\r\n-----END PUBLIC KEY-----"
              title: Model
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualCardResponse'
              example:
                card_id: 66f6e46c-f6a1-4af8-a1bd-49666bc01304
                encrypted_pan: LBHyVQggqNZvbYriaL8omZSFnQfS4yMFEO8hpVmgrtn70uYz56...
                encrypted_cvv: GLuGA7uI2iYrzE03XkKMH1IJZD6cxR+WJmgw9Z0VuervNqnkUq...
                encrypted_expiration: amAxcZuURFfOi38kbM1LXfa6gBmuaSCt10Kic8243kM1V+Llsb...
                object_type: VirtualCardResponse
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/events/types/:
    get:
      tags:
        - Events
      summary: List Event Types
      description: List all event types.
      operationId: list_event_types_api_v1_events_types__get
      security:
        - HTTPBearer: []
      parameters:
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventListResponse'
              example:
                offset: 0
                count: 14
                items:
                  - event: application.approved
                    object_type: EventType
                  - event: application.documents_needed
                    object_type: EventType
                  - event: application.manual_review
                    object_type: EventType
                  - event: application.rejected
                    object_type: EventType
                  - event: card.status.closed
                    object_type: EventType
                  - event: card.status.frozen
                    object_type: EventType
                  - event: card.status.locked
                    object_type: EventType
                  - event: card.status.open
                    object_type: EventType
                  - event: card.transaction.approved
                    object_type: EventType
                  - event: card.transaction.rejected
                    object_type: EventType
                  - event: transfers.ach.in.success
                    object_type: EventType
                  - event: transfers.ach.in.rejected
                    object_type: EventType
                  - event: transfers.ach.out.success
                    object_type: EventType
                  - event: transfers.ach.out.rejected
                    object_type: EventType
                object_type: List
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/events/:
    get:
      tags:
        - Events
      summary: List Events
      description: List all past events.
      operationId: list_events_api_v1_events__get
      security:
        - HTTPBearer: []
      parameters:
        - name: subscription_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            title: Subscription Id
        - name: after
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: After
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            default: ''
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            exclusiveMinimum: 0
            lte: 100
            default: 30
            title: Limit
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CursorListResponse_PartnerEvent_'
              example:
                prev_page: >-
                  cj0xJnA9MjAyMi0xMi0yMSsxNyUzQTIyJTNBMDguNjc5MzQ5JTJCMDAlM0EwMA==
                next_page: cD0yMDIyLTEyLTE5KzE5JTNBNTQlM0EyNy4xODMyNzglMkIwMCUzQTAw
                items:
                  - event:
                      event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
                      timestamp: '2023-01-01T14:00:00Z'
                      payload:
                        application_id: 48ac72d0-a829-4896-a067-dcb1c2b0f30c
                      event_type: application.approved
                    delivery_attempts:
                      - delivery_attempt_id: 5326238f-7f19-4e5f-b374-402eed7b1c7b
                        subscription_id: aa11a4c2-a467-43db-b413-c4ab0f5cf627
                        success: true
                        response_code: 200
                        response_message: OK
                        called_at: '2023-01-01T14:00:00Z'
                    object_type: PartnerEvent
                object_type: CursorList
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/subscriptions/:
    get:
      tags:
        - Subscriptions
      summary: List Subscriptions
      description: List a partner's subscriptions.
      operationId: list_subscriptions_api_v1_subscriptions__get
      security:
        - HTTPBearer: []
      parameters:
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            default: ''
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            exclusiveMinimum: 0
            lte: 100
            default: 30
            title: Limit
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CursorListResponse_Subscription_'
              example:
                prev_page: >-
                  cj0xJnA9MjAyMi0xMi0yMSsxNyUzQTIyJTNBMDguNjc5MzQ5JTJCMDAlM0EwMA==
                next_page: cD0yMDIyLTEyLTE5KzE5JTNBNTQlM0EyNy4xODMyNzglMkIwMCUzQTAw
                items:
                  - description: Jiko API Webhook Subscriptions
                    events:
                      - application.approved
                      - application.documents_needed
                      - application.manual_review
                      - application.rejected
                      - card.status.closed
                      - card.status.frozen
                      - card.status.locked
                      - card.status.open
                      - card.transaction.approved
                      - card.transaction.rejected
                      - transfers.ach.in.success
                      - transfers.ach.in.rejected
                      - transfers.ach.out.success
                      - transfers.ach.out.rejected
                    url: https://example.com/webhooks
                    id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    time_created: '2023-01-01T14:00:00Z'
                    updated_at: '2023-01-01T14:00:00Z'
                    status: enabled
                    object_type: Subscription
                object_type: CursorList
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
        - Subscriptions
      summary: Create Subscription
      description: >-
        Creates a webhook subscription for the specified event types and the
        given URL.
      operationId: create_subscription_api_v1_subscriptions__post
      security:
        - HTTPBearer: []
      parameters:
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CreateSubscriptionRequest'
              examples:
                - description: Incoming ACH Success Webhook
                  events:
                    - transfers.ach.in.success
                  url: https://example.com/webhooks/ach-incoming-success
                  retry_policy:
                    retry_on_status_codes:
                      - 502
                      - 503
                      - 500
                    backoff_coefficient: 2.1
                    maximum_attempts: 3
                    initial_interval_seconds: 3
                    maximum_interval_seconds: 20
                  shared_secret: '1234567890123456'
              title: Model
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
              example:
                description: Incoming ACH Success Webhook
                events:
                  - transfers.ach.in.success
                url: https://example.com/webhooks/ach-incoming-success
                retry_policy:
                  retry_on_status_codes:
                    - 502
                    - 503
                    - 500
                  backoff_coefficient: 2.1
                  maximum_attempts: 3
                  initial_interval_seconds: 3
                  maximum_interval_seconds: 20
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                time_created: '2023-01-01T14:00:00Z'
                updated_at: '2023-01-01T14:00:00Z'
                status: enabled
                object_type: Subscription
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/subscriptions/{subscription_id}/:
    get:
      tags:
        - Subscriptions
      summary: Get Subscription
      description: Retrieve a webhook subscription by given `subscription_id`.
      operationId: get_subscription_api_v1_subscriptions__subscription_id___get
      security:
        - HTTPBearer: []
      parameters:
        - name: subscription_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Subscription Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
              example:
                description: Incoming ACH Success Webhook
                events:
                  - transfers.ach.in.success
                url: https://example.com/webhooks/ach-incoming-success
                retry_policy:
                  retry_on_status_codes:
                    - 502
                    - 503
                    - 500
                  backoff_coefficient: 2.1
                  maximum_attempts: 3
                  initial_interval_seconds: 3
                  maximum_interval_seconds: 20
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                time_created: '2023-01-01T14:00:00Z'
                updated_at: '2023-01-01T14:00:00Z'
                status: enabled
                object_type: Subscription
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
        - Subscriptions
      summary: Update Subscription
      description: Updates webhook subscription by specified `subscription_id`.
      operationId: update_subscription_api_v1_subscriptions__subscription_id___patch
      security:
        - HTTPBearer: []
      parameters:
        - name: subscription_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Subscription Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/UpdateSubscriptionRequest'
              examples:
                - description: Incoming ACH Success Webhook
                  events:
                    - transfers.ach.in.success
                  url: https://example.com/webhooks/ach-incoming-success-new
                  shared_secret: '1234567890123456'
              title: Model
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
              example:
                description: Incoming ACH Success Webhook
                events:
                  - transfers.ach.in.success
                url: https://example.com/webhooks/ach-incoming-success-new
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                time_created: '2023-01-01T14:00:00Z'
                updated_at: '2023-01-01T16:00:00Z'
                status: enabled
                object_type: Subscription
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
        - Subscriptions
      summary: Delete Subscription
      description: Deletes a webhook subscription matching the given ID.
      operationId: delete_subscription_api_v1_subscriptions__subscription_id___delete
      security:
        - HTTPBearer: []
      parameters:
        - name: subscription_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Subscription Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '204':
          description: Successful Response
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jiko-accounts/{account_id}/ach-originating/:
    get:
      tags:
        - ACH
      summary: List ACH Originations
      description: List all ACH transfer originations.
      operationId: >-
        list_ach_originations_api_v1_jiko_accounts__account_id__ach_originating__get
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: filter[status]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  enum:
                    - PENDING
                    - FAILED
                    - REJECTED
                    - PROCESSED
                    - APPROVED
                    - IN_TRANSIT
                    - CANCELLED
                  type: string
              - type: 'null'
            title: Filter[Status]
        - name: direction
          in: query
          required: false
          schema:
            anyOf:
              - enum:
                  - DEBIT
                  - CREDIT
                type: string
              - type: 'null'
            title: Direction
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            default: ''
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            exclusiveMinimum: 0
            lte: 100
            default: 30
            title: Limit
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CursorListResponse_ACHResponse_'
              example:
                prev_page: >-
                  cj0xJnA9MjAyMi0xMi0yMSsxNyUzQTIyJTNBMDguNjc5MzQ5JTJCMDAlM0EwMA==
                next_page: cD0yMDIyLTEyLTE5KzE5JTNBNTQlM0EyNy4xODMyNzglMkIwMCUzQTAw
                items:
                  - counterparty_id: fd38dae9-b300-4017-a630-101c42791afd
                    direction: DEBIT
                    sec_code: WEB
                    payment_related_information:
                      - Transferring funds to Jiko from an external account
                    id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    amount:
                      value: 100000
                      currency: USD
                      formatted: $1,000.00
                    jiko_account_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                    status: PROCESSED
                    time_created: '2023-01-01T14:00:00Z'
                    company_entry_description: TXN INFO
                    object_type: ACHResponse
                object_type: CursorList
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
        - ACH
      summary: Create ACH Origination
      description: >-
        Originate an ACH transaction with the counterparty.

        This can only be done after creating a
        [Counterparty](/products/partner-api/reference/counterparties-v2/create_counterparty_api_v2_customers__customer_id__counterparties__post)
        for the account.


        </br>


        ### ACH Origination Limitations


        </br>


        - All transfers that are below 25k and scheduled before 12:00 ET are
        sent with settlement same-day

        - All transfers above 25k scheduled before 12:00 ET are sent with
        settlement next day

        - All transfers scheduled after 12:00 ET follow the above rules the
        following day
      operationId: >-
        create_ach_origination_api_v1_jiko_accounts__account_id__ach_originating__post
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ACHRequest'
              examples:
                - counterparty_id: fd38dae9-b300-4017-a630-101c4279eafd
                  direction: CREDIT
                  sec_code: WEB
                  payment_related_information:
                    - Transferring funds from Jiko to an external account
                  amount_usdc: 100000
                  company_entry_description: ACH TXN
              title: Request
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ACHResponse'
              example:
                counterparty_id: fd38dae9-b300-4017-a630-101c42791afd
                direction: CREDIT
                sec_code: WEB
                payment_related_information:
                  - Transferring funds from Jiko to an external account
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                amount:
                  value: 100000
                  currency: USD
                  formatted: $1,000.00
                jiko_account_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                status: PROCESSED
                time_created: '2023-01-01T14:00:00Z'
                company_entry_description: ACH TXN
                object_type: ACHResponse
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jiko-accounts/{account_id}/ach-originating/{transfer_id}/:
    get:
      tags:
        - ACH
      summary: Get ACH Origination
      description: Get a specific ACH transfer origination.
      operationId: >-
        get_ach_origination_api_v1_jiko_accounts__account_id__ach_originating__transfer_id___get
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: transfer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Transfer Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ACHResponse'
              example:
                counterparty_id: fd38dae9-b300-4017-a630-101c42791afd
                direction: CREDIT
                sec_code: WEB
                payment_related_information:
                  - Transferring funds from Jiko to an external account
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                amount:
                  value: 100000
                  currency: USD
                  formatted: $1,000.00
                jiko_account_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                status: PROCESSED
                time_created: '2023-01-01T14:00:00Z'
                company_entry_description: ACH TXN
                object_type: ACHResponse
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jiko-accounts/{account_id}/wires/:
    post:
      tags:
        - Wires
      summary: Create Wire
      description: >-
        Initiates a Wire Transfer. Wires can only be sent to accounts created
        and verified via [Create
        Counterparty](/products/partner-api/reference/counterparties-v2/create_counterparty_api_v2_customers__customer_id__counterparties__post).

        Initiating outgoing wire transfers isn’t available by default and must
        be enabled — please contact your Jiko point of contact to learn more.


        <br />


        When implementing our Wire Transfer entry screens in your application's
        UI, you must include the following instructions for your end-users: _“By
        using this service, you hereby acknowledge that sending wires to third
        parties presents an increased risk of fraud, and that as per the terms
        of your Commercial Bank Account Agreement (the "Agreement"), you agree
        that our security measures are commercially reasonable methods of
        providing security against unauthorized Funds Transfers, and that you
        shall be bound by any request for a Funds Transfer received by the Bank,
        whether or not authorized, issued in your name and accepted by the Bank
        in compliance with the security measures.”_
      operationId: create-wire
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/WireRequest'
              examples:
                - counterparty_id: fd38dae9-b300-4017-a630-101c4279eafd
                  amount_usdc: 1000000
                  created_by: jiko@example.com
                  description: Wiring funds to external account
                  wire_id: 6b14d0c0-277f-4a32-b5ac-c2e1c7d99f15
              title: Request
      responses:
        '201':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/transfers/on-us/:
    post:
      tags:
        - On-Us Transfers
      summary: Create On-Us Transfer
      description: >-
        Initiates an On-Us Transfer between two Pockets.


        On-Us Transfers can be made in four directions (defined by `type`):


        1. `PARTNER_CUSTOMER_FUNDING`: From a Partner’s Pocket to a Customer’s
        Pocket

        2. `PARTNER_CUSTOMER_DEFUNDING`: From a Customer’s Pocket to a Partner’s
        Pocket

        3. `INTERNAL_REALLOCATION`: Between two Pockets belonging to the same
        Customer

        4. `PEER_TO_PEER`: From a Customer’s Pockets to Customer’s On-Us
        Counterparty


        On-Us Transfer amounts can be specified two ways (defined by
        `amount.type`):


        1. `REQUESTED_AMOUNT`: Transfer a specified dollar amount

        2. `FULL_WITHDRAWAL`: Transfer the Pocket's total available balance (net
        of fees). `amount.type` cannot be `FULL_WITHDRAWAL` when `type` is
        `PARTNER_CUSTOMER_FUNDING`.


        On-Us Transfers can be processed asynchronously or synchronously. **We
        strongly recommend processing On-Us Transfers asynchronously** (setting
        `async_mode` to `true`). Asynchronous transfers will be created in a
        `PENDING` state and status updates will be delivered via
        [Webhooks](/products/partner-api/guides/building/webhooks).
      operationId: create-on-us-transfer
      security:
        - HTTPBearer: []
      parameters:
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnUsTransferDetailsRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnUsTransfer'
              example:
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                status: PENDING
                transfer:
                  transfer_id: d4a2d8dd-7def-4545-a062-761683b9aa05
                  description: Disbursing funds from partner to customer
                  from_account:
                    id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    type: JIKO_ACCOUNT
                  to_account:
                    id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    type: JIKO_ACCOUNT
                  type: PARTNER_CUSTOMER_FUNDING
                  source: '123456789'
                  amount:
                    value: 100000
                    currency: USD
                    formatted: $1,000.00
                fees:
                  - type: AUM_FEE
                    amount:
                      value: 10
                      currency: USD
                      formatted: $0.10
                object_type: OnUsTransfer
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/transfers/on-us/{transfer_id}/:
    get:
      tags:
        - On-Us Transfers
      summary: Get On-Us Transfer
      description: Gets a single on-us transfer by ID.
      operationId: get-on-us-transfer
      security:
        - HTTPBearer: []
      parameters:
        - name: transfer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Transfer Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnUsTransfer'
              example:
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                status: PENDING
                transfer:
                  transfer_id: d4a2d8dd-7def-4545-a062-761683b9aa05
                  description: Disbursing funds from partner to customer
                  from_account:
                    id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    type: JIKO_ACCOUNT
                  to_account:
                    id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    type: JIKO_ACCOUNT
                  type: PARTNER_CUSTOMER_FUNDING
                  source: '123456789'
                  amount:
                    value: 100000
                    currency: USD
                    formatted: $1,000.00
                fees:
                  - type: AUM_FEE
                    amount:
                      value: 10
                      currency: USD
                      formatted: $0.10
                object_type: OnUsTransfer
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/sandbox/card-swipe/:
    post:
      tags:
        - Sandbox
      summary: Submit Card Swipe
      description: >-
        Simulate a card swipe with the given `card_id` for a given `amount_usdc`
        in USD cents. **Note**: Only for virtual cards at the moment.
      operationId: submit_card_swipe_api_v1_sandbox_card_swipe__post
      security:
        - HTTPBearer: []
      parameters:
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CardSwipe'
              examples:
                - card_id: 66f6e46c-f6a1-4af8-a1bd-49666bc01304
                  amount_usdc: 100000
              title: Card Swipe
      responses:
        '202':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/sandbox/generate-card/:
    post:
      tags:
        - Sandbox
      summary: Generate Physical Card From Order
      description: Generate a physical card from a card order with a given `card_order_id`.
      operationId: generate_physical_card_from_order_api_v1_sandbox_generate_card__post
      security:
        - HTTPBearer: []
      parameters:
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GeneratePhysicalCardFromOrder'
      responses:
        '202':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/sandbox/webhook/:
    post:
      tags:
        - Sandbox
      summary: Trigger Webhook
      description: >-
        Simulates a webhook event according to the payload. This will trigger
        requests to subscribed callback URLs, if any.
      operationId: trigger-webhook
      security:
        - HTTPBearer: []
      parameters:
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EventDetails-Input'
      responses:
        '202':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/sandbox/fund/:
    post:
      tags:
        - Sandbox
      summary: Fund Account
      description: >-
        Simulates an ACH credit to the provided Jiko account. Requires a portal
        to use. A portal can be created using the [Create
        Portal](/products/partner-api/reference/portals/create_portal_api_v1_jiko_accounts__account_id__portals__post)
        endpoint.
      operationId: fund_account_api_v1_sandbox_fund__post
      security:
        - HTTPBearer: []
      parameters:
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FundPortalRequest'
      responses:
        '202':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/customers/{customer_id}/:
    get:
      tags:
        - Customers
      summary: Get Customer Data
      description: Retrieve customer details for the customer given by the customer ID.
      operationId: get_customer_data_api_v1_customers__customer_id___get
      security:
        - HTTPBearer: []
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Customer Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Customer'
              example:
                address:
                  street_address: 2000 Allston Way
                  city: Berkeley
                  postal_code: '94701'
                  state: CA
                  country: USA
                email: jiko@example.com
                phone_number: '15551234567'
                account_status: OPEN
                type: INDIVIDUAL
                name:
                  first_name: Jiko
                  last_name: Customer
                date_of_birth: '1970-01-01'
                identification_number:
                  identification_number: '*****1234'
                  identification_type: SSN
                trusted_contact:
                  first_name: Jiko Customer
                  last_name: Trusted Contact
                  email: jiko-trusted-contact@example.com
                  phone_number: '+15551234500'
                  address: 2000 Allston Way, Berkeley CA 94701 USA
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
        - Customers
      summary: Update Customer Data
      description: >-
        Updates details for a given Customer, including contact information and
        Trusted Contact information. This endpoint can also be used to close
        customer accounts with the `CloseCustomerAccount` request body schema.
        Before closing a customer's account, all customer Pockets must have a
        zero balance.


        **NOTE**: Update Customer Data isn’t available by default and must be
        enabled — please contact your Jiko point of contact to learn more.
      operationId: update_customer_data_api_v1_customers__customer_id___patch
      security:
        - HTTPBearer: []
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Customer Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - $ref: '#/components/schemas/CloseCustomerAccount'
                - $ref: '#/components/schemas/UpdateCustomerData'
              title: Request
            examples:
              update_customer_data:
                summary: Customer data update request
                value:
                  email: jiko@example.com
                  phone_number: '15551234567'
                  address:
                    street_address: 2000 Allston Way
                    city: Berkeley
                    postal_code: '94701'
                    state: CA
                    country: US
                  trusted_contact:
                    first_name: Jiko Customer
                    last_name: Trusted Contact
                    email: jiko-trusted-contact@example.com
                    phone_number: '+15551234500'
                    address: 2000 Allston Way, Berkeley CA 94701 USA
              close_customer_account:
                summary: Customer account closure request
                description: >-
                  The customer must not have funded pockets. All open and empty
                  pockets will be closed. If the customer is already closed, or
                  has funded pockets, an error will be returned.
                value:
                  status: CLOSED
                  closure_reason: PARTNER_INITIATED_CLOSURE
                  closure_description: Customer was closed due to full withdrawal.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Customer'
              examples:
                updated_customer:
                  summary: Updated customer response
                  value:
                    address:
                      street_address: 2000 Allston Way
                      city: Berkeley
                      postal_code: '94701'
                      state: CA
                      country: USA
                    email: jiko@example.com
                    phone_number: '15551234567'
                    account_status: OPEN
                    type: INDIVIDUAL
                    name:
                      first_name: Jiko
                      last_name: Customer
                    date_of_birth: '1970-01-01'
                    identification_number:
                      identification_number: '*****1234'
                      identification_type: SSN
                    trusted_contact:
                      first_name: Jiko Customer
                      last_name: Trusted Contact
                      email: jiko-trusted-contact@example.com
                      phone_number: '+15551234500'
                      address: 2000 Allston Way, Berkeley CA 94701 USA
                customer_closed:
                  summary: Closed customer response
                  value:
                    address:
                      street_address: 2000 Allston Way
                      city: Berkeley
                      postal_code: '94701'
                      state: CA
                      country: USA
                    email: jiko@example.com
                    phone_number: '15551234567'
                    account_status: CLOSED
                    type: INDIVIDUAL
                    name:
                      first_name: Jiko
                      last_name: Customer
                    date_of_birth: '1970-01-01'
                    identification_number:
                      identification_number: '*****1234'
                      identification_type: SSN
                    trusted_contact:
                      first_name: Jiko Customer
                      last_name: Trusted Contact
                      email: jiko-trusted-contact@example.com
                      phone_number: '+15551234500'
                      address: 2000 Allston Way, Berkeley CA 94701 USA
        '404':
          description: Not found
        '409':
          content:
            application/json:
              example:
                customer_already_closed:
                  instance: /api/v1/customers/f91b7140-b8fc-4c3b-8a2d-50d3f530eac3/
                  trace_id: 6db17954-6160-4e13-b976-e8db347a9f41
                  type: jiko.errors.customers.CustomerAlreadyClosedError
                  detail: The Customer has already been closed
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Conflict
        '422':
          content:
            application/json:
              example:
                customer_still_funded:
                  instance: /api/v1/customers/cb630827-1ffd-4da9-bef6-23b9785a9ca1/
                  trace_id: a6feda61-3243-4cbf-97fe-623c191b0046
                  type: jiko.errors.customers.CustomerClosureError
                  detail: >-
                    The Customer cannot be closed because they have one or more
                    open Pockets with funds in them.
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Unprocessable Entity
  /api/v1/customers/{customer_id}/beneficial-owners/:
    get:
      tags:
        - Customers
      summary: Get Beneficial Owners
      description: Gets a list of beneficial owners for a given customer.
      operationId: >-
        get_beneficial_owners_api_v1_customers__customer_id__beneficial_owners__get
      security:
        - HTTPBearer: []
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Customer Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListBeneficialOwnersResponse'
              example:
                items:
                  - id: 62a9f07e-2173-44ef-8262-34a0baef516c
                    name:
                      first_name: Benedict
                      last_name: O'Naire
                    title: CFO
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/customers/{customer_id}/statements/:
    get:
      tags:
        - Statements
      summary: List Customer Statements
      description: Get all statements for all accounts of a specific customer.
      operationId: list_customer_statements_api_v1_customers__customer_id__statements__get
      security:
        - HTTPBearer: []
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Customer Id
        - name: account[]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Account[]
        - name: order
          in: query
          required: false
          schema:
            enum:
              - desc
              - asc
            type: string
            default: desc
            title: Order
        - name: type[]
          in: query
          required: false
          schema:
            type: array
            items:
              enum:
                - 1099B
                - 1099INT
                - BANK
                - BROKERAGE
                - CONSOLIDATED_BANK
                - CONSOLIDATED_BROKERAGE
              type: string
            default: []
            title: Type[]
        - name: key
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                pattern: ^\d{4}(-\d{2})?$
              - type: 'null'
            description: Date formatted either `YYYY` or `YYYY-MM`
            title: Key
          description: Date formatted either `YYYY` or `YYYY-MM`
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            default: ''
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            exclusiveMinimum: 0
            lte: 150
            default: 30
            title: Limit
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatementListResponse'
              example:
                prev_page: >-
                  cj0xJnA9MjAyMi0xMi0yMSsxNyUzQTIyJTNBMDguNjc5MzQ5JTJCMDAlM0EwMA==
                next_page: cD0yMDIyLTEyLTE5KzE5JTNBNTQlM0EyNy4xODMyNzglMkIwMCUzQTAw
                items:
                  - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    jiko_account_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                    type: BANK
                    key: '2023-01-01'
                    pdf_download_url: https://example.com/path-to-statement-pdf
                    time_created: '2023-01-15T14:00:00Z'
                    csv_zip_download_url: https://example.com/path-to-csv-download
                    object_type: Statement
                object_type: CursorList
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jiko-accounts/{account_id}/statements/:
    get:
      tags:
        - Statements
      summary: List Account Statements
      description: >-
        Lists all statements for an account. Partners can expect monthly
        statements to be available by the 15th of every month.


        </br>


        Bank and Broker dealer statements are sensitive documents. For security
        reasons, these URLs have a 10 minute TTL. Therefore, they should be
        fetched and served just-in-time, not stored in databases.
      operationId: >-
        list_account_statements_api_v1_jiko_accounts__account_id__statements__get
      deprecated: true
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: order
          in: query
          required: false
          schema:
            enum:
              - desc
              - asc
            type: string
            default: desc
            title: Order
        - name: type[]
          in: query
          required: false
          schema:
            type: array
            items:
              enum:
                - 1099B
                - 1099INT
                - BANK
                - BROKERAGE
                - CONSOLIDATED_BANK
                - CONSOLIDATED_BROKERAGE
              type: string
            default: []
            title: Type[]
        - name: key
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                pattern: ^\d{4}(-\d{2})?$
              - type: 'null'
            description: Date formatted either `YYYY` or `YYYY-MM`
            title: Key
          description: Date formatted either `YYYY` or `YYYY-MM`
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            default: ''
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            exclusiveMinimum: 0
            lte: 150
            default: 30
            title: Limit
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatementListResponse'
              example:
                prev_page: >-
                  cj0xJnA9MjAyMi0xMi0yMSsxNyUzQTIyJTNBMDguNjc5MzQ5JTJCMDAlM0EwMA==
                next_page: cD0yMDIyLTEyLTE5KzE5JTNBNTQlM0EyNy4xODMyNzglMkIwMCUzQTAw
                items:
                  - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    jiko_account_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                    type: BANK
                    key: '2023-01-01'
                    pdf_download_url: https://example.com/path-to-statement-pdf
                    time_created: '2023-01-15T14:00:00Z'
                    csv_zip_download_url: https://example.com/path-to-csv-download
                    object_type: Statement
                object_type: CursorList
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jiko-accounts/{account_id}/portals/:
    get:
      tags:
        - Portals
      summary: List Portals
      description: Get a list of portals associated with an account.
      operationId: list_account_portals_api_v1_jiko_accounts__account_id__portals__get
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPortalsResponse'
              example:
                count: 1
                portals:
                  - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    jiko_account_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                    routing_number: '123456789'
                    account_number: '987654321'
                    status: OPEN
                    name: Payroll
                    payment_rails:
                      - WIRE
                    object_type: Portal
                object_type: List
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
        - Portals
      summary: Create Portal
      description: Create a portal for an account.
      operationId: create_portal_api_v1_jiko_accounts__account_id__portals__post
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/PortalCreateRequest'
              examples:
                - name: Payroll
              title: Model
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Portal'
              example:
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                jiko_account_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                routing_number: '123456789'
                account_number: '987654321'
                status: OPEN
                name: Payroll
                payment_rails:
                  - WIRE
                object_type: Portal
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jiko-accounts/{account_id}/portals/{portal_id}/:
    get:
      tags:
        - Portals
      summary: Get Account Portal
      description: Get a specific portal associated with an account.
      operationId: get-account-portal
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: portal_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Portal Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Portal'
              example:
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                jiko_account_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                routing_number: '123456789'
                account_number: '987654321'
                status: OPEN
                name: Payroll
                payment_rails:
                  - WIRE
                object_type: Portal
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
        - Portals
      summary: Update Portal
      description: Update a portal's name.
      operationId: >-
        update_portal_api_v1_jiko_accounts__account_id__portals__portal_id___patch
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: portal_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Portal Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PortalUpdateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Portal'
              example:
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                jiko_account_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                routing_number: '123456789'
                account_number: '987654321'
                status: OPEN
                name: Payroll
                payment_rails:
                  - WIRE
                object_type: Portal
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jiko-accounts/{account_id}/portals/{portal_id}/close/:
    post:
      tags:
        - Portals
      summary: Close Portal
      description: Close a portal. This is an irreversible action.
      operationId: >-
        close_portal_api_v1_jiko_accounts__account_id__portals__portal_id__close__post
      security:
        - HTTPBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
        - name: portal_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Portal Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '204':
          description: Successful Response
        '404':
          description: Not found
        '412':
          description: Portal is already closed.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/customers/{customer_id}/portals/:
    get:
      tags:
        - Portals
      summary: List Customer Portals
      description: Get a list of portals associated with customer's accounts.
      operationId: list_customer_portals_api_v1_customers__customer_id__portals__get
      security:
        - HTTPBearer: []
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Customer Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPortalsResponse'
              example:
                count: 1
                portals:
                  - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    jiko_account_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                    routing_number: '123456789'
                    account_number: '987654321'
                    status: OPEN
                    name: Payroll
                    payment_rails:
                      - WIRE
                    object_type: Portal
                object_type: List
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/report-requests/:
    get:
      tags:
        - Reports
      summary: List Report Requests
      description: Returns a list of report requests
      operationId: list_report_requests_api_v1_report_requests__get
      security:
        - HTTPBearer: []
      parameters:
        - name: customer_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            title: Customer Id
        - name: cursor
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 30
            minimum: 0
            default: 30
            title: Limit
        - name: type
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Type
        - name: date_from
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Date From
        - name: date_to
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Date To
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CursorListResponse_ReportRequest_'
              example:
                prev_page: >-
                  cj0xJnA9MjAyMi0xMi0yMSsxNyUzQTIyJTNBMDguNjc5MzQ5JTJCMDAlM0EwMA==
                next_page: cD0yMDIyLTEyLTE5KzE5JTNBNTQlM0EyNy4xODMyNzglMkIwMCUzQTAw
                items:
                  - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                    type: BANK_STATEMENT_REPORT
                    metadata:
                      date: '2023-02-06'
                    created_at: '2023-01-01T12:00:00Z'
                    reports:
                      - id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                        file_name: bank_statement_report.xml
                        mime_type: application/xml
                        status: AVAILABLE
                        type: BANK_STATEMENT_REPORT_CAMT053
                        metadata:
                          date: '2023-02-06'
                        created_at: '2023-01-01T12:00:00Z'
                      - id: cc093946-a894-415e-bb69-eff95f5ece78
                        file_name: bank_statement_report.pdf
                        mime_type: application/pdf
                        status: AVAILABLE
                        type: BANK_STATEMENT_REPORT_PDF
                        metadata:
                          date: '2023-02-06'
                        created_at: '2023-01-01T12:00:00Z'
                object_type: CursorList
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-badges:
        - name: Experimental
          color: '#9c27b0'
          position: after
    post:
      tags:
        - Reports
      summary: Create Report Request
      description: >-
        This endpoint triggers an asynchronous process to create a report
        request based on the provided parameters. Available report types are:


        ## Type `BANK_STATEMENT_REPORT`


        End-of-day bank statement for the pocket’s bank account, exported in
        **ISO 20022 camt.053 format**. Transactions reported in this statement
        include fund deposits and withdrawals, incoming and outgoing third-party
        payments (when applicable), fees, automated sweep transactions between
        the pocket’s bank account and its linked brokerage account.


        _Note:_ since Jiko automatically sweeps funds between the bank account
        and the associated brokerage account in the pocket, the bank account’s
        end-of-day balance is always 0. To report on balances held with Jiko, we
        invite you to use:


        - Either the Brokerage statement, to import the value of held T-bills in
        the cash position of your treasury management system, reported as the
        closing balance of an account,


        - or the Trade report, to import individual buy and sell transactions
        into your treasury management system and derive the corresponding
        position.


        Valid `output_formats` values: `CAMT053`.


        ## Type `BROKERAGE_STATEMENT_REPORT`


        End-of-day statement for the pocket’s brokerage account, exported in
        **ISO 20022 camt.053 format**. With the opening value and closing value
        of the T-bills held in the pocket on the selected reporting date,
        represented as the account balance. Values are based on end-of-day
        market prices, or on the current market price if the report is generated
        before day-end.


        The statement also includes the following records that explain the
        change between the opening and closing values:


        - Additions: new funds deposited into the brokerage account.


        - Subtractions: funds withdrawn from the brokerage account.


        - Gains/Losses from T-bills held in the account.


        - Fees charged and deducted from the brokerage account.


        Valid `output_formats` values: `CAMT053`.


        ## Type `TRADE_REPORT`


        List of T-bill buy & sell trades within a user-defined range of trade
        dates, exported in CSV format. Each trade in the file includes three
        categories of information:


        - Security master data: CUSIP, issuer, issue date, maturity date.


        - Trading entity parameters: transaction code, custodian details.


        - Trade details: buy/sell indicator, trade date, price, amount,
        reference.


        The date ranges filter has a maximum range of 31 days. Optionally, the
        date range filter can be configured to be based on either settlement
        dates, or book dates. 


        Valid `output_formats` values: `KYRIBA_CSV`, `CSV`.


        ## Type `SECURITY_PRICE_REPORT`


        End-of-day security prices within a user-defined range of dates,
        exported in CSV format. With:


        - An “SE” field identifying the entry as a security price.


        - The name of the price provider: “JIKO”.


        - The CUSIP of the security.


        - The pricing date.


        - The end-of-day price.


        Valid `output_formats` values: `KYRIBA_CSV`.


        ## Type `POSITION_SUMMARY_REPORT`


        Provides a snapshot of holdings as of a user-selected date, showing
        CUSIP-level positions by pocket along with associated cash values. The
        report includes the following key fields: Pocket, CUSIP, Quantity,
        Market Price, Market Value, and Historical Cost Value.

        Customers use this report to export pocket-level valuations to
        downstream systems and to reconcile imported buy and sell transactions
        against the quantities reflected in the Position Summary


        Valid `output_formats` values: `PDF`, `CSV`.
      operationId: create_report_request_api_v1_report_requests__post
      security:
        - HTTPBearer: []
      parameters:
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateReportRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-badges:
        - name: Experimental
          color: '#9c27b0'
          position: after
  /api/v1/report-requests/{report_request_id}/:
    get:
      tags:
        - Reports
      summary: Get Report Request
      description: Retrieves a single report request by ID
      operationId: get_report_request_api_v1_report_requests__report_request_id___get
      security:
        - HTTPBearer: []
      parameters:
        - name: report_request_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Report Request Id
        - name: customer_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            title: Customer Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportRequest'
              example:
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                type: BANK_STATEMENT_REPORT
                metadata:
                  date: '2023-02-06'
                created_at: '2023-01-01T12:00:00Z'
                reports:
                  - id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                    file_name: campt053.xml
                    mime_type: application/xml
                    status: AVAILABLE
                    type: BANK_STATEMENT_REPORT_CAMT053
                    metadata:
                      date: '2023-02-06'
                    created_at: '2023-01-01T12:00:00Z'
                  - id: cc093946-a894-415e-bb69-eff95f5ece78
                    file_name: campt053.pdf
                    mime_type: application/pdf
                    status: AVAILABLE
                    type: BANK_STATEMENT_REPORT_PDF
                    metadata:
                      date: '2023-02-06'
                    created_at: '2023-01-01T12:00:00Z'
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-badges:
        - name: Experimental
          color: '#9c27b0'
          position: after
  /api/v1/reports/{report_id}/:
    get:
      tags:
        - Reports
      summary: Get Report
      description: Retrieves a single report by ID
      operationId: get_report_api_v1_reports__report_id___get
      security:
        - HTTPBearer: []
      parameters:
        - name: report_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Report Id
        - name: customer_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            title: Customer Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Report'
              example:
                id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                file_name: campt053.xml
                mime_type: application/xml
                status: AVAILABLE
                type: BANK_STATEMENT_REPORT_CAMT053
                metadata:
                  date: '2023-02-06'
                created_at: '2023-01-01T12:00:00Z'
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-badges:
        - name: Experimental
          color: '#9c27b0'
          position: after
  /api/v1/reports/{report_id}/download/:
    post:
      tags:
        - Reports
      summary: Download Report
      description: >-
        Creates a temporary, time-limited URL for downloading the report
        corresponding to the given ID
      operationId: download_report_api_v1_reports__report_id__download__post
      security:
        - HTTPBearer: []
      parameters:
        - name: report_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Report Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportDownloadRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportDownload'
              example:
                download_url: reportUrl.jiko.com
                expires: '2023-01-01T12:00:00Z'
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-badges:
        - name: Experimental
          color: '#9c27b0'
          position: after
  /api/v1/reports/{report_id}/formats/:
    post:
      tags:
        - Reports
      summary: Render Report Formats
      description: Triggers rendering of additional output formats for an existing report
      operationId: render_report_formats_api_v1_reports__report_id__formats__post
      security:
        - HTTPBearer: []
      parameters:
        - name: report_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Report Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RenderFormatsRequest'
      responses:
        '202':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-badges:
        - name: Experimental
          color: '#9c27b0'
          position: after
  /api/v1/applications/{application_id}/documents/{document_type}/file/:
    post:
      tags:
        - Individuals
      summary: Upload Document To Application
      description: >-
        Upload documents to the application for more detailed KYC or manual
        review.


        As with all other endpoints, the bearer token and `x-jiko-idempotency`
        is needed, but `x-jiko-signature` is not needed.

        The file should be posted unprocessed in the request body, in the same
        manner as `curl -X POST --data-binary @my_file.png` does.

        The maximum file size for `ID_FRONT`, `ID_BACK`, `SELFIE` and `PASSPORT`
        is 5 MB. Other files can be up to 50 MB.


        <br />


        Documents can be uploaded before and after calling
        [Apply](/products/partner-api/reference/individuals/apply_api_v1_applications__application_id__apply__post).
      operationId: >-
        Upload_document_to_Application_api_v1_applications__application_id__documents__document_type__file__post
      security:
        - HTTPBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
        - name: document_type
          in: path
          required: true
          schema:
            enum:
              - ID_FRONT
              - ID_BACK
              - ID_BARCODE
              - SELFIE
              - IDENTIFICATION_NUMBER_VERIFICATION
              - ADDRESS_VERIFICATION
              - PASSPORT
              - EIN_CONFIRMATION
              - OPERATING_AGREEMENT
              - PARTNERSHIP_AGREEMENT
              - ARTICLES_OF_INCORPORATION
              - BYLAWS
              - PROOF_OF_501_STATUS
              - ARTICLES_OF_ASSOCIATION
              - CORPORATE_CHARTER
              - TRUST_FORMATION_RECORDS
              - LIST_OF_TRUSTEES
              - LEGAL_ANALYSIS_OF_BUSINESS_MODEL
              - COINS_AND_TOKENS_LISTED_AND_OFFERED
              - COIN_RATING_POLICY_AND_PROCEDURES
              - TYPE_OF_BLOCKCHAIN_ANALYTICS_USED
              - MARKET_MANIPULATION_POLICY
              - BSA_AML_OFAC_POLICIES
              - INDEPENDENT_AML_AUDIT_REPORT
              - BSA_AML_OFAC_INTERNAL_RISK_ASSESSMENT
              - ARTICLES_OF_ORGANIZATION
              - FLOW_OF_FUNDS
              - BANK_STATEMENTS_1
              - BANK_STATEMENTS_2
              - BANK_STATEMENTS_3
              - ORG_CHART
              - BUSINESS_DESCRIPTION
              - CERTIFICATE_OF_GOOD_STANDING
              - CERTIFICATE_OF_TRADE_NAME
              - COMPANY_RESOLUTION
              - SIGNATURE_AUTHORIZATION
              - BANK_STATEMENT
              - BUSINESS_LICENSE
              - CERTIFICATE_OF_EXISTENCE
              - CERTIFICATE_OF_ASSUMED_NAME
              - COMPANY_REGISTRATION_DOCUMENT
              - INTERNAL_KYC_AUDIT
              - EXTERNAL_KYC_AUDIT
              - KYC_POLICIES_AND_PROCEDURES
              - WIRE_COUNTERPARTY_VERIFICATION
              - OTHER
            type: string
            title: Document Type
        - name: content-type
          in: header
          required: true
          schema:
            type: string
            pattern: image/png
            title: Content-Type
        - name: content-length
          in: header
          required: true
          schema:
            type: integer
            exclusiveMaximum: 52428800
            exclusiveMinimum: 0
            title: Content-Length
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadDocumentResponse'
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/customers/{customer_id}/documents/{document_type}/file/:
    post:
      tags:
        - Customers
      summary: Upload Document To Customer
      description: >-
        Upload files for an approved customer. Used to verify customer requests
        (e.g. Customer change request, close account request, ACH request).
        Refer to the [Upload Document To
        Application](/products/partner-api/reference/individuals/upload_document_to_application_api_v1_applications__application_id__documents__document_type__file__post)
        for more detailed info.
      operationId: upload-customer-document
      security:
        - HTTPBearer: []
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Customer Id
        - name: document_type
          in: path
          required: true
          schema:
            enum:
              - ID_FRONT
              - ID_BACK
              - ID_BARCODE
              - SELFIE
              - IDENTIFICATION_NUMBER_VERIFICATION
              - ADDRESS_VERIFICATION
              - PASSPORT
              - EIN_CONFIRMATION
              - OPERATING_AGREEMENT
              - PARTNERSHIP_AGREEMENT
              - ARTICLES_OF_INCORPORATION
              - BYLAWS
              - PROOF_OF_501_STATUS
              - ARTICLES_OF_ASSOCIATION
              - CORPORATE_CHARTER
              - TRUST_FORMATION_RECORDS
              - LIST_OF_TRUSTEES
              - LEGAL_ANALYSIS_OF_BUSINESS_MODEL
              - COINS_AND_TOKENS_LISTED_AND_OFFERED
              - COIN_RATING_POLICY_AND_PROCEDURES
              - TYPE_OF_BLOCKCHAIN_ANALYTICS_USED
              - MARKET_MANIPULATION_POLICY
              - BSA_AML_OFAC_POLICIES
              - INDEPENDENT_AML_AUDIT_REPORT
              - BSA_AML_OFAC_INTERNAL_RISK_ASSESSMENT
              - ARTICLES_OF_ORGANIZATION
              - FLOW_OF_FUNDS
              - BANK_STATEMENTS_1
              - BANK_STATEMENTS_2
              - BANK_STATEMENTS_3
              - ORG_CHART
              - BUSINESS_DESCRIPTION
              - CERTIFICATE_OF_GOOD_STANDING
              - CERTIFICATE_OF_TRADE_NAME
              - COMPANY_RESOLUTION
              - SIGNATURE_AUTHORIZATION
              - BANK_STATEMENT
              - BUSINESS_LICENSE
              - CERTIFICATE_OF_EXISTENCE
              - CERTIFICATE_OF_ASSUMED_NAME
              - COMPANY_REGISTRATION_DOCUMENT
              - INTERNAL_KYC_AUDIT
              - EXTERNAL_KYC_AUDIT
              - KYC_POLICIES_AND_PROCEDURES
              - WIRE_COUNTERPARTY_VERIFICATION
              - OTHER
            type: string
            title: Document Type
        - name: content-type
          in: header
          required: true
          schema:
            type: string
            pattern: image/png
            title: Content-Type
        - name: content-length
          in: header
          required: true
          schema:
            type: integer
            exclusiveMaximum: 52428800
            exclusiveMinimum: 0
            title: Content-Length
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadDocumentResponse'
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/business-applications/{application_id}/documents/:
    get:
      tags:
        - Businesses
      summary: List Document Requests
      description: >-
        Fetch the list of outstanding Document Requests. Document Requests vary
        depending on the information provided in the Business Application and
        Related Party Application objects.


        <br />


        See the [Onboarding Businesses
        Guide](/products/partner-api/guides/building/onboarding-businesses) for
        more.
      operationId: list-document-requests-businesses
      security:
        - HTTPBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Document'
                title: Response List-Document-Requests-Businesses
              example:
                - id: 61c23eb1-002a-4459-aa9a-624428281e14
                  type: OPERATING_AGREEMENT
                  status: PENDING_UPLOAD
                  exception_reason: ''
                  name: ''
                - id: 96e70040-eb4e-48d1-98af-0c793a6ee137
                  type: ARTICLES_OF_INCORPORATION
                  status: INVALID
                  exception_reason: IMAGE_QUALITY_ERROR_CUTOFF
                  name: articles_of_incorporation.png
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/documents/{document_id}/:
    post:
      tags:
        - Businesses
        - Individuals
      summary: Upload Document
      operationId: upload-application-document
      security:
        - HTTPBearer: []
      parameters:
        - name: document_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Document Id
        - name: content-type
          in: header
          required: true
          schema:
            type: string
            pattern: image/png
            title: Content-Type
        - name: content-length
          in: header
          required: true
          schema:
            type: integer
            exclusiveMaximum: 52428800
            exclusiveMinimum: 0
            title: Content-Length
        - name: content-disposition
          in: header
          required: true
          schema:
            type: string
            title: Content-Disposition
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Document'
              example:
                id: 96e70040-eb4e-48d1-98af-0c793a6ee137
                type: ARTICLES_OF_INCORPORATION
                status: APPROVED
                exception_reason: ''
                name: articles_of_incorporation.png
        '404':
          description: Not found
        '412':
          description: Document has already been reviewed and approved.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/login/:
    post:
      tags:
        - Security
      summary: Login
      description: >-
        Provide the username and password in a request body to receive a bearer
        token to authenticate to the API's other endpoints.


        </br>


        See [Authentication](/products/partner-api/authentication).
      operationId: login_api_v1_login__post
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/LoginInput'
              title: Login Info
              examples:
                - username: username
                  password: password
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginResponse'
              examples:
                - token: LBHyVQggqNZvbYriaL8omZSFnQfS4yMFEO8hpVmgrtn=
                  expires: '2023-01-01T14:00:00Z'
        '401':
          description: Unauthorized
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/public-keys/:
    get:
      tags:
        - Security
      summary: List Public Keys
      description: Returns all relevant asymmetric encryption keys.
      operationId: list_public_keys_api_v1_public_keys__get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EncryptionKeysResponse'
              example:
                set_pin: "-----BEGIN PUBLIC KEY-----\r\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAzmZv8spzSU9z+/bhFzX0\r\ns4xVXE9ZOApQUMoM3Q1VDiJujyWJ61uoTsWT1uQlIXHdUQ3NcXw0WYDUEaM8fj1b\r\nB2k1zSXmRD4VmxAIRNVfs3Cp3GKqC/WjyvDw25+SYBFwiaYJblpyZPiunXvXRyK8\r\nvdDaPliwTN5p7pjHQvcfXOl20ZtWnZTGMulJ+smNCYKWckW1hEOMjJP8FLMJpSHa\r\n6yGOpAYAxoHxodiJCI4X6fG206gBtyFps1CyxCz8WDjALqJYfeArTFv7/2AyuVCF\r\n5zLE7tzPrJeVxfqa+CI+7mWFhEKZLAd/PEzEL7P2VZr9BRd0lyxBipEEG/DGMEvY\r\n1dcx+3J56ZxVURAqeXPGkqVfz/IdisQt/okp6vSVKQdImeyzpJvwvBc7T7tKyRZR\r\nvtL8XLYzZBujqWCezMxU97TAb7BlQ2nPJCQFMZD7y1KldgWuGnjXha1TFIYvfrYW\r\noDFK221Z6LYlKWeRFGXhoNOX1Qm/CX3wi9Tfo01LTxbCY2Y1mbv6e8Xt12MzhicD\r\nZsFvVrtRaVrjmqXXDq8X2r7puPTLOQf7Dow3944XnTZQURE4oPIwCfTBmfMow+TB\r\n+ZUYWRXwg0/hl9AOBSGLVNlaGZD8sAu98knish5LJv34lx5mIiLLpGpIt+mzZikU\r\nFt9siIkltvk49qcmTuI8GJUCAwEAAQ==\r\n-----END PUBLIC KEY-----"
  /health:
    get:
      tags:
        - Health
      summary: Get Health Check
      description: >-
        A health check endpoint, which returns "OK" if the Partner API is up and
        running.
      operationId: get-health-check
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                const: OK
                title: Response Get-Health-Check
  /api/v2/customers/{customer_id}/counterparties/:
    get:
      tags:
        - Counterparties V2
      summary: List Counterparties
      description: Retrieve a list of counterparties for a given account.
      operationId: list_counterparties_api_v2_customers__customer_id__counterparties__get
      security:
        - HTTPBearer: []
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Customer Id
        - name: cursor
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 100
            title: Limit
        - name: type
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  anyOf:
                    - const: ach
                    - const: wire
                    - const: on_us
                    - const: international_wire
                    - const: crypto_wallet_address
              - type: 'null'
            title: Type
        - name: status
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  enum:
                    - PENDING
                    - FAILED
                    - LINKED
                    - UNLINKED
                    - CLOSED
                  type: string
              - type: 'null'
            title: Status
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartyListResponseV2'
              example:
                prev_page: >-
                  cj0xJnA9MjAyMi0xMi0yMSsxNyUzQTIyJTNBMDguNjc5MzQ5JTJCMDAlM0EwMA==
                next_page: cD0yMDIyLTEyLTE5KzE5JTNBNTQlM0EyNy4xODMyNzglMkIwMCUzQTAw
                items:
                  - id: 838db493-7ed3-4a46-877d-7b466b9deb3a
                    time_created: '2023-05-12T19:05:01.323248Z'
                    status: LINKED
                    verification:
                      id: 779b5eb8-9b6a-4027-b253-3c374440143e
                      description: Verified by customer support
                      type: pre_verified
                      status: APPROVED
                    type: ach
                    counterparty_name: External Accountholder
                    institution_name: External Bank NA
                    routing_number: '123456789'
                    account_number: '9876543'
                    account_type: CHECKING
                    object_type: ACHCounterpartyV2
                  - id: 86bc2eb3-9b85-4f82-b8fa-91f8d0eea1ff
                    time_created: '2023-05-11T19:05:01.323339Z'
                    status: LINKED
                    verification:
                      id: 6a620795-dc32-46b8-9464-d692d71b3075
                      description: Incoming wire
                      type: incoming_wire
                      wire_id: e5449f18-2383-4772-8fec-9d90a8cb2542
                      status: APPROVED
                    type: wire
                    counterparty_name:
                      first_name: External
                      last_name: Accountholder
                      type: individual
                    address:
                      street_address: 2000 Allston Way
                      street_address2: ''
                      city: Berkeley
                      postal_code: '94701'
                      state: CA
                      country: US
                    institution_name: External Bank NA
                    routing_number: '987654321'
                    identifier: '1234567890'
                    identifier_code: DIRECT_DEPOSIT_ACCOUNT
                    object_type: WireCounterpartyV2
                  - id: 838db493-7ed3-4a46-877d-7b466b9deb3a
                    time_created: '2023-05-12T19:05:01.323248Z'
                    status: LINKED
                    verification:
                      id: 779b5eb8-9b6a-4027-b253-3c374440143e
                      description: Verified by customer support
                      type: pre_verified
                      status: APPROVED
                    type: on_us
                    counterparty_name: Some Company
                    account_number: '9876543'
                    object_type: OnUsCounterpartyV2
                object_type: CursorList
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
        - Counterparties V2
      summary: Create Counterparty
      description: >-
        Creates a counterparty with the provided parameters. There are currently
        two types of verification available - verification with supporting
        documents, and with an incoming wire.
      operationId: create_counterparty_api_v2_customers__customer_id__counterparties__post
      security:
        - HTTPBearer: []
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Customer Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              anyOf:
                - $ref: '#/components/schemas/CreateWireCounterpartyRequest'
                - $ref: '#/components/schemas/CreateACHCounterpartyRequest'
                - $ref: '#/components/schemas/CreateOnUsCounterpartyRequest'
                - $ref: >-
                    #/components/schemas/CreateInternationalWireCounterpartyRequest
                - $ref: >-
                    #/components/schemas/CreateCryptoWalletAddressCounterpartyRequest
              title: Request
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ACHCounterpartyV2'
                  - $ref: '#/components/schemas/WireCounterpartyV2'
                  - $ref: '#/components/schemas/OnUsCounterpartyV2'
                  - $ref: '#/components/schemas/InternationalWireCounterpartyV2'
                  - $ref: '#/components/schemas/CryptoWalletAddressCounterpartyV2'
                discriminator:
                  propertyName: type
                  mapping:
                    ach: '#/components/schemas/ACHCounterpartyV2'
                    wire: '#/components/schemas/WireCounterpartyV2'
                    on_us: '#/components/schemas/OnUsCounterpartyV2'
                    international_wire: '#/components/schemas/InternationalWireCounterpartyV2'
                    crypto_wallet_address: '#/components/schemas/CryptoWalletAddressCounterpartyV2'
                title: >-
                  Response Create Counterparty Api V2 Customers  Customer Id 
                  Counterparties  Post
              example:
                - id: 86bc2eb3-9b85-4f82-b8fa-91f8d0eea1ff
                  time_created: '2023-05-11T19:05:01.323339Z'
                  status: PENDING
                  verification:
                    id: 6a620795-dc32-46b8-9464-d692d71b3075
                    description: Incoming wire
                    type: incoming_wire
                    wire_id: e5449f18-2383-4772-8fec-9d90a8cb2542
                    status: PENDING_REVIEW
                  type: wire
                  counterparty_name:
                    first_name: External
                    last_name: Accountholder
                    type: individual
                  address:
                    street_address: 2000 Allston Way
                    street_address2: ''
                    city: Berkeley
                    postal_code: '94701'
                    state: CA
                    country: US
                  institution_name: External Bank NA
                  routing_number: '987654321'
                  identifier: '1234567890'
                  identifier_code: DIRECT_DEPOSIT_ACCOUNT
                  object_type: WireCounterpartyV2
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/customers/{customer_id}/counterparties/{counterparty_id}/:
    get:
      tags:
        - Counterparties V2
      summary: Get Counterparty
      operationId: >-
        get_counterparty_api_v2_customers__customer_id__counterparties__counterparty_id___get
      security:
        - HTTPBearer: []
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Customer Id
        - name: counterparty_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Counterparty Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ACHCounterpartyV2'
                  - $ref: '#/components/schemas/WireCounterpartyV2'
                  - $ref: '#/components/schemas/OnUsCounterpartyV2'
                  - $ref: '#/components/schemas/InternationalWireCounterpartyV2'
                  - $ref: '#/components/schemas/CryptoWalletAddressCounterpartyV2'
                discriminator:
                  propertyName: type
                  mapping:
                    ach: '#/components/schemas/ACHCounterpartyV2'
                    wire: '#/components/schemas/WireCounterpartyV2'
                    on_us: '#/components/schemas/OnUsCounterpartyV2'
                    international_wire: '#/components/schemas/InternationalWireCounterpartyV2'
                    crypto_wallet_address: '#/components/schemas/CryptoWalletAddressCounterpartyV2'
                title: >-
                  Response Get Counterparty Api V2 Customers  Customer Id 
                  Counterparties  Counterparty Id   Get
              example:
                - id: 86bc2eb3-9b85-4f82-b8fa-91f8d0eea1ff
                  time_created: '2023-05-11T19:05:01.323339Z'
                  status: LINKED
                  verification:
                    id: 6a620795-dc32-46b8-9464-d692d71b3075
                    description: Incoming wire
                    type: incoming_wire
                    wire_id: e5449f18-2383-4772-8fec-9d90a8cb2542
                    status: APPROVED
                  type: wire
                  counterparty_name:
                    first_name: External
                    last_name: Accountholder
                    type: individual
                  address:
                    street_address: 2000 Allston Way
                    street_address2: ''
                    city: Berkeley
                    postal_code: '94701'
                    state: CA
                    country: US
                  institution_name: External Bank NA
                  routing_number: '987654321'
                  identifier: '1234567890'
                  identifier_code: DIRECT_DEPOSIT_ACCOUNT
                  object_type: WireCounterpartyV2
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
        - Counterparties V2
      summary: Update Counterparty
      operationId: >-
        update_counterparty_api_v2_customers__customer_id__counterparties__counterparty_id___patch
      security:
        - HTTPBearer: []
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Customer Id
        - name: counterparty_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Counterparty Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCounterpartyRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ACHCounterpartyV2'
                  - $ref: '#/components/schemas/WireCounterpartyV2'
                  - $ref: '#/components/schemas/OnUsCounterpartyV2'
                  - $ref: '#/components/schemas/InternationalWireCounterpartyV2'
                  - $ref: '#/components/schemas/CryptoWalletAddressCounterpartyV2'
                discriminator:
                  propertyName: type
                  mapping:
                    ach: '#/components/schemas/ACHCounterpartyV2'
                    wire: '#/components/schemas/WireCounterpartyV2'
                    on_us: '#/components/schemas/OnUsCounterpartyV2'
                    international_wire: '#/components/schemas/InternationalWireCounterpartyV2'
                    crypto_wallet_address: '#/components/schemas/CryptoWalletAddressCounterpartyV2'
                title: >-
                  Response Update Counterparty Api V2 Customers  Customer Id 
                  Counterparties  Counterparty Id   Patch
              example:
                - id: 86bc2eb3-9b85-4f82-b8fa-91f8d0eea1ff
                  time_created: '2023-05-11T19:05:01.323339Z'
                  status: UNLINKED
                  verification:
                    id: 6a620795-dc32-46b8-9464-d692d71b3075
                    description: Incoming wire
                    type: incoming_wire
                    wire_id: e5449f18-2383-4772-8fec-9d90a8cb2542
                    status: APPROVED
                  type: wire
                  counterparty_name:
                    first_name: External
                    last_name: Accountholder
                    type: individual
                  address:
                    street_address: 2000 Allston Way
                    street_address2: ''
                    city: Berkeley
                    postal_code: '94701'
                    state: CA
                    country: US
                  institution_name: External Bank NA
                  routing_number: '987654321'
                  identifier: '1234567890'
                  identifier_code: DIRECT_DEPOSIT_ACCOUNT
                  object_type: WireCounterpartyV2
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/customers/{customer_id}/pockets/:
    post:
      tags:
        - Pockets
      summary: Create Pocket
      description: >-
        Creates a single Pocket for a customer. Trading strategy for the Pocket
        is specified with a Pocket Configuration.
      operationId: create_pocket_api_v2_customers__customer_id__pockets__post
      security:
        - HTTPBearer: []
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Customer Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePocketRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pocket'
              example:
                id: d0e1dd1b-3e21-4cd4-9872-f71ea4967ffd
                pocket_name: 4-week T-bills
                portfolio:
                  securities: []
                  cash:
                    value: 0
                    currency: USD
                    formatted: $0.00
                  all_time_earnings:
                    value: 0
                    currency: USD
                    formatted: $0.00
                  total_value:
                    value: 0
                    currency: USD
                    formatted: $0.00
                  fees: []
                  liquidation_value_t0:
                    value: 0
                    currency: USD
                    formatted: $0.00
                  liquidation_value_t1:
                    value: 0
                    currency: USD
                    formatted: $0.00
                status: PENDING
                attributes: []
                deposit_strategy_id: UST-4W
                reinvestment_strategy_id: UST-4W
                object_type: Pocket
        '422':
          content:
            application/json:
              examples:
                pocket_limit:
                  summary: Pocket limit reached
                  value:
                    instance: /api/v2/customers/{customer_id}/pockets/
                    trace_id: 42d38a8d-da37-4824-89ed-b7293ff5d792
                    detail: Unable to create pocket. Pocket limit reached.
                    type: jiko.errors.pockets.PocketCreationError
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Unprocessable Entity
    get:
      tags:
        - Pockets
      summary: List Pockets For Customer
      description: Retrieve all Pockets for a single Customer.
      operationId: list-pockets-v2
      security:
        - HTTPBearer: []
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Customer Id
        - name: omit[]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                uniqueItems: true
                items:
                  enum:
                    - portfolio
                    - all_time_earnings
                  type: string
              - type: 'null'
            title: Omit[]
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
            title: Offset
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 30
            minimum: 0
            default: 30
            title: Limit
        - name: filter[status]
          in: query
          required: false
          schema:
            type: array
            uniqueItems: true
            items:
              enum:
                - PENDING
                - OPEN
                - FROZEN
                - CLOSED
              type: string
            default:
              - PENDING
              - OPEN
              - FROZEN
            title: Filter[Status]
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pockets'
              example:
                offset: 0
                count: 1
                items:
                  - id: d0e1dd1b-3e21-4cd4-9872-f71ea4967ffd
                    pocket_name: 4-week T-bills
                    portfolio:
                      securities:
                        - quantity: 210000
                          market_value:
                            value: 20708596
                            currency: USD
                            formatted: $207,085.96
                          cusip: 912797GA9
                          jiko_mark_price: '98.612361'
                          description: US T-Bill
                          type: FIXED_INCOME
                          maturity_date: '2023-01-30'
                          yield_to_maturity: '0.0468'
                        - quantity: 400
                          market_value:
                            value: 3944494
                            currency: USD
                            formatted: $39,444.94
                          cusip: 912796RF6
                          jiko_mark_price: '98.612361'
                          description: US T-Bill
                          type: FIXED_INCOME
                          maturity_date: '2023-02-06'
                          yield_to_maturity: '0.0468'
                      cash:
                        value: 0
                        currency: USD
                        formatted: $0.00
                      all_time_earnings:
                        value: 935404
                        currency: USD
                        formatted: $9,354.04
                      total_value:
                        value: 24653090
                        currency: USD
                        formatted: $246,530.90
                      fees: []
                      liquidation_value_t0:
                        value: 24653090
                        currency: USD
                        formatted: $246,530.90
                      liquidation_value_t1:
                        value: 24653090
                        currency: USD
                        formatted: $246,530.90
                    status: OPEN
                    attributes: []
                    deposit_strategy_id: UST-4W
                    reinvestment_strategy_id: UST-26W
                    object_type: Pocket
                object_type: List
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/pockets/:
    get:
      tags:
        - Pockets
      summary: List Pockets For Customers
      description: Retrieve all Pockets for a list of Customers.
      operationId: list-all-pockets-v2
      security:
        - HTTPBearer: []
      parameters:
        - name: omit[]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                uniqueItems: true
                items:
                  enum:
                    - portfolio
                    - all_time_earnings
                  type: string
              - type: 'null'
            title: Omit[]
        - name: cursor
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 30
            minimum: 0
            default: 30
            title: Limit
        - name: filter[status]
          in: query
          required: false
          schema:
            type: array
            uniqueItems: true
            items:
              enum:
                - PENDING
                - OPEN
                - FROZEN
                - CLOSED
              type: string
            default:
              - PENDING
              - OPEN
              - FROZEN
            title: Filter[Status]
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerPocketsResponse'
              example:
                next_page: cD0yMDIyLTEyLTE5KzE5JTNBNTQlM0EyNy4xODMyNzglMkIwMCUzQTAw
                items:
                  - id: d0e1dd1b-3e21-4cd4-9872-f71ea4967ffd
                    pocket_name: 4-week T-bills
                    portfolio:
                      securities:
                        - quantity: 210000
                          market_value:
                            value: 20708596
                            currency: USD
                            formatted: $207,085.96
                          cusip: 912797GA9
                          jiko_mark_price: '98.612361'
                          description: US T-Bill
                          type: FIXED_INCOME
                          maturity_date: '2023-01-30'
                          yield_to_maturity: '0.0468'
                        - quantity: 400
                          market_value:
                            value: 3944494
                            currency: USD
                            formatted: $39,444.94
                          cusip: 912796RF6
                          jiko_mark_price: '98.612361'
                          description: US T-Bill
                          type: FIXED_INCOME
                          maturity_date: '2023-02-06'
                          yield_to_maturity: '0.0468'
                      cash:
                        value: 0
                        currency: USD
                        formatted: $0.00
                      all_time_earnings:
                        value: 935404
                        currency: USD
                        formatted: $9,354.04
                      total_value:
                        value: 24653090
                        currency: USD
                        formatted: $246,530.90
                      fees:
                        - amount:
                            value: 101
                            currency: USD
                            formatted: $1.01
                          type: AUM_FEE
                      liquidation_value_t0:
                        value: 21876487
                        currency: USD
                        formatted: $218,764.87
                      liquidation_value_t1:
                        value: 24653090
                        currency: USD
                        formatted: $246,530.90
                    status: OPEN
                    attributes: []
                    deposit_strategy_id: UST-4W
                    reinvestment_strategy_id: UST-26W
                    customer_id: e0e2dd1a-2eee-4cd4-9872-e71eaf967afa
                    object_type: CustomerPocket
                object_type: CursorList
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/customers/{customer_id}/pockets/{pocket_id}/:
    get:
      tags:
        - Pockets
      summary: Get Customer Pocket
      description: Retrieve a single Pocket for a given `pocket_id.`
      operationId: get-pocket-v2
      security:
        - HTTPBearer: []
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Customer Id
        - name: pocket_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Pocket Id
        - name: omit[]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                uniqueItems: true
                items:
                  enum:
                    - portfolio
                    - all_time_earnings
                  type: string
              - type: 'null'
            title: Omit[]
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerPocket'
              example:
                id: d0e1dd1b-3e21-4cd4-9872-f71ea4967ffd
                pocket_name: 4-week T-bills
                portfolio:
                  securities:
                    - quantity: 210000
                      market_value:
                        value: 20708596
                        currency: USD
                        formatted: $207,085.96
                      cusip: 912796RF6
                      jiko_mark_price: '98.612361'
                      description: US T-Bill
                      type: FIXED_INCOME
                      maturity_date: '2023-01-30'
                      yield_to_maturity: '0.0468'
                  cash:
                    value: 0
                    currency: USD
                    formatted: $0.00
                  all_time_earnings:
                    value: 935404
                    currency: USD
                    formatted: $9,354.04
                  total_value:
                    value: 20708596
                    currency: USD
                    formatted: $207,085.96
                  fees: []
                  liquidation_value_t0:
                    value: 20708596
                    currency: USD
                    formatted: $207,085.96
                  liquidation_value_t1:
                    value: 20708596
                    currency: USD
                    formatted: $207,085.96
                status: OPEN
                attributes: []
                deposit_strategy_id: UST-4W
                reinvestment_strategy_id: UST-26W
                customer_id: 62c5272e-ef8c-4d8a-a49d-633432409fd4
                object_type: CustomerPocket
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
        - Pockets
      summary: Update Pocket
      description: >-
        Update a Pocket's name, or update a Pocket's status. If the intent is to
        close a Pocket, then there are two requirements: The Pocket needs to be
        empty, and there has to be at least one other open Pocket belonging to
        the customer. Additionally, when you close a Pocket, you also need to
        pass a `closure_reason` along with the status update.
      operationId: update-pocket-v2
      security:
        - HTTPBearer: []
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Customer Id
        - name: pocket_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Pocket Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePocketRequest'
            examples:
              pocket_name:
                summary: Updating a pocket name
                value:
                  pocket_name: Savings
              close:
                summary: Closing a pocket
                description: When closing a pocket, you need to specify a closure reason
                value:
                  status: CLOSED
                  closure_reason: PARTNER_INSTIGATED
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pocket'
              example:
                id: d0e1dd1b-3e21-4cd4-9872-f71ea4967ffd
                pocket_name: 4-week T-bills
                status: OPEN
                attributes: []
                deposit_strategy_id: UST-4W
                reinvestment_strategy_id: UST-26W
                customer_id: 62c5272e-ef8c-4d8a-a49d-633432409fd4
                object_type: CustomerPocket
        '422':
          content:
            application/json:
              examples:
                invalid_transition:
                  summary: Invalid transition when closing a pocket
                  value:
                    instance: >-
                      /api/v2/customers/00000000-0000-0000-0000-000000000000/pockets/00000000-0000-0000-0000-000000000001/
                    trace_id: a51e752d-ac68-4407-96aa-6e412431c3b4
                    detail: Only pockets that are currently open can be closed.
                    type: jiko.errors.pockets.PocketCannotBeClosedError
                pocket_has_balance:
                  summary: Pocket not empty when closing
                  value:
                    instance: >-
                      /api/v2/customers/00000000-0000-0000-0000-000000000000/pockets/00000000-0000-0000-0000-000000000001/
                    trace_id: d60a7ffc-775d-4f58-8fe2-dc3146e4516a
                    detail: The pocket cannot be closed because it is not empty.
                    type: jiko.errors.pockets.PocketNotEmptyError
              schema:
                $ref: '#/components/schemas/ErrorResponseModel'
          description: Unprocessable Entity
  /api/v2/pockets/{pocket_id}/:
    get:
      tags:
        - Pockets
      summary: Get Pocket
      description: Retrieve a single Pocket for a given `pocket_id.`
      operationId: get-single-pocket-v2
      security:
        - HTTPBearer: []
      parameters:
        - name: pocket_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Pocket Id
        - name: omit[]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                uniqueItems: true
                items:
                  enum:
                    - portfolio
                    - all_time_earnings
                  type: string
              - type: 'null'
            title: Omit[]
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerPocket'
              example:
                id: d0e1dd1b-3e21-4cd4-9872-f71ea4967ffd
                pocket_name: 4-week T-bills
                portfolio:
                  securities:
                    - quantity: 210000
                      market_value:
                        value: 20708596
                        currency: USD
                        formatted: $207,085.96
                      cusip: 912796RF6
                      jiko_mark_price: '98.612361'
                      description: US T-Bill
                      type: FIXED_INCOME
                      maturity_date: '2023-01-30'
                      yield_to_maturity: '0.0468'
                  cash:
                    value: 0
                    currency: USD
                    formatted: $0.00
                  all_time_earnings:
                    value: 935404
                    currency: USD
                    formatted: $9,354.04
                  total_value:
                    value: 20708596
                    currency: USD
                    formatted: $207,085.96
                  fees: []
                  liquidation_value_t0:
                    value: 20708596
                    currency: USD
                    formatted: $207,085.96
                  liquidation_value_t1:
                    value: 20708596
                    currency: USD
                    formatted: $207,085.96
                status: OPEN
                attributes: []
                deposit_strategy_id: UST-4W
                reinvestment_strategy_id: UST-26W
                customer_id: 62c5272e-ef8c-4d8a-a49d-633432409fd4
                object_type: CustomerPocket
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/trading-strategies/:
    get:
      tags:
        - Trading Strategies
      summary: List Trading Strategies
      operationId: list_trading_strategies_api_v2_trading_strategies__get
      security:
        - HTTPBearer: []
      parameters:
        - name: applicable_to
          in: query
          required: false
          schema:
            anyOf:
              - enum:
                  - DEPOSIT
                  - REINVESTMENT
                type: string
              - type: 'null'
            title: Applicable To
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TradingStrategies'
              example:
                offset: 0
                count: 5
                items:
                  - id: UST-4W
                    description: US T-bills, 4-week, Buy-and-hold
                    yield_to_maturity: '0.0625'
                    discount_yield: '0.0472'
                    applicable_to:
                      - DEPOSIT
                      - REINVESTMENT
                  - id: UST-13W
                    description: US T-bills, 13-week, Buy-and-hold
                    yield_to_maturity: '0.0598'
                    discount_yield: '0.0484'
                    applicable_to:
                      - DEPOSIT
                      - REINVESTMENT
                  - id: UST-26W
                    description: US T-bills, 26-week, Buy-and-hold
                    yield_to_maturity: '0.0456'
                    discount_yield: '0.0388'
                    applicable_to:
                      - DEPOSIT
                      - REINVESTMENT
                  - id: UST-52W
                    description: US T-bills, 52-week, Buy-and-hold
                    yield_to_maturity: '0.0523'
                    discount_yield: '0.0411'
                    applicable_to:
                      - DEPOSIT
                      - REINVESTMENT
                object_type: List
                last_updated: '2026-02-20T15:23:21.121063Z'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/pockets/{pocket_id}/transactions/:
    get:
      tags:
        - Transactions V2
      summary: List Pocket Transactions
      description: >-
        Returns a list of **pocket** transactions. It does not include
        transactions between the **bank account** and **brokerage account**.
      operationId: list-pocket-transactions-v2
      security:
        - HTTPBearer: []
      parameters:
        - name: pocket_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Pocket Id
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            default: ''
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            exclusiveMinimum: 0
            lte: 100
            default: 30
            title: Limit
        - name: order
          in: query
          required: false
          schema:
            enum:
              - desc
              - asc
            type: string
            default: desc
            title: Order
        - name: direction
          in: query
          required: false
          schema:
            anyOf:
              - enum:
                  - DEBIT
                  - CREDIT
                type: string
              - type: 'null'
            title: Direction
        - name: amount_from
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            title: Amount From
        - name: amount_to
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            title: Amount To
        - name: filter[card]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Filter[Card]
        - name: filter[portal]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Filter[Portal]
        - name: filter[type]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  enum:
                    - ACH
                    - WIRE
                    - ON_US
                    - CARD
                    - FEE
                    - CREDIT
                    - GENERIC
                  type: string
              - type: 'null'
            title: Filter[Type]
        - name: filter[on_us_transfer]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Filter[On Us Transfer]
        - name: filter[wire]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Filter[Wire]
        - name: time_booked_from
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Time Booked From
        - name: time_booked_to
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Time Booked To
        - name: time_settled_from
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Time Settled From
        - name: time_settled_to
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Time Settled To
        - name: include_sweeps
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            title: Include Sweeps
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CursorListResponse_Annotated_Union_ACHTransactionActivity__WireTransactionActivity__CardTransactionActivity__OnUsTransactionActivity__FeeTransactionActivity__CreditTransactionActivity__GenericTransactionActivity___FieldInfo_annotation_NoneType__required_True__discriminator__type____
              example:
                prev_page: >-
                  cj0xJnA9MjAyMi0xMi0yMSsxNyUzQTIyJTNBMDguNjc5MzQ5JTJCMDAlM0EwMA==
                next_page: cD0yMDIyLTEyLTE5KzE5JTNBNTQlM0EyNy4xODMyNzglMkIwMCUzQTAw
                items:
                  - id: 05964326-49b7-4e74-9783-81137ee3cf3b
                    transaction_id: 4b955c69-dd95-4f6a-a0ff-325ee029f240
                    description: Wire Transfer In
                    amount:
                      value: 100000
                      currency: USD
                      formatted: $1,000.00
                    time_booked: '2023-01-01T12:00:00Z'
                    time_settled: '2023-01-02T12:00:00Z'
                    status: SETTLED
                    title: From External Account
                    direction: DEBIT
                    pocket_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                    customer_id: 66f6e46c-f6a1-4af8-a1bd-49666bc01301
                    type: WIRE
                    reference_number: 9999XXXX
                    counterparty_name: John Smith
                    wire_id: 4854014d-5540-4f0c-9efe-a0137f01e1da
                object_type: CursorList
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/customers/{customer_id}/transactions/:
    get:
      tags:
        - Transactions V2
      summary: List Customer Transactions
      description: >-
        Returns a list of **customer** transactions. It does not include
        transactions between the **bank account** and **brokerage account**.
      operationId: list-customer-transactions-v2
      security:
        - HTTPBearer: []
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Customer Id
        - name: filter[pocket]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Filter[Pocket]
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            default: ''
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            exclusiveMinimum: 0
            lte: 100
            default: 30
            title: Limit
        - name: order
          in: query
          required: false
          schema:
            enum:
              - desc
              - asc
            type: string
            default: desc
            title: Order
        - name: direction
          in: query
          required: false
          schema:
            anyOf:
              - enum:
                  - DEBIT
                  - CREDIT
                type: string
              - type: 'null'
            title: Direction
        - name: amount_from
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            title: Amount From
        - name: amount_to
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            title: Amount To
        - name: filter[card]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Filter[Card]
        - name: filter[portal]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Filter[Portal]
        - name: filter[type]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  enum:
                    - ACH
                    - WIRE
                    - ON_US
                    - CARD
                    - FEE
                    - CREDIT
                    - GENERIC
                  type: string
              - type: 'null'
            title: Filter[Type]
        - name: filter[on_us_transfer]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Filter[On Us Transfer]
        - name: filter[wire]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Filter[Wire]
        - name: time_booked_from
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Time Booked From
        - name: time_booked_to
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Time Booked To
        - name: time_settled_from
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Time Settled From
        - name: time_settled_to
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Time Settled To
        - name: include_sweeps
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            title: Include Sweeps
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CursorListResponse_Annotated_Union_ACHTransactionActivity__WireTransactionActivity__CardTransactionActivity__OnUsTransactionActivity__FeeTransactionActivity__CreditTransactionActivity__GenericTransactionActivity___FieldInfo_annotation_NoneType__required_True__discriminator__type____
              example:
                prev_page: >-
                  cj0xJnA9MjAyMi0xMi0yMSsxNyUzQTIyJTNBMDguNjc5MzQ5JTJCMDAlM0EwMA==
                next_page: cD0yMDIyLTEyLTE5KzE5JTNBNTQlM0EyNy4xODMyNzglMkIwMCUzQTAw
                items:
                  - id: 05964326-49b7-4e74-9783-81137ee3cf3b
                    transaction_id: 4b955c69-dd95-4f6a-a0ff-325ee029f240
                    description: Wire Transfer In
                    amount:
                      value: 100000
                      currency: USD
                      formatted: $1,000.00
                    time_booked: '2023-01-01T12:00:00Z'
                    time_settled: '2023-01-02T12:00:00Z'
                    status: SETTLED
                    title: From External Account
                    direction: DEBIT
                    pocket_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                    customer_id: 66f6e46c-f6a1-4af8-a1bd-49666bc01301
                    type: WIRE
                    reference_number: 9999XXXX
                    counterparty_name: John Smith
                    wire_id: 4854014d-5540-4f0c-9efe-a0137f01e1da
                object_type: CursorList
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/transactions/:
    get:
      tags:
        - Transactions V2
      summary: List Partner Transactions
      description: >-
        Returns a list of **pocket** transactions. It does not include
        transactions between the **bank account** and **brokerage account**.
      operationId: list-partner-transactions-v2
      security:
        - HTTPBearer: []
      parameters:
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            default: ''
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            exclusiveMinimum: 0
            lte: 100
            default: 30
            title: Limit
        - name: order
          in: query
          required: false
          schema:
            enum:
              - desc
              - asc
            type: string
            default: desc
            title: Order
        - name: direction
          in: query
          required: false
          schema:
            anyOf:
              - enum:
                  - DEBIT
                  - CREDIT
                type: string
              - type: 'null'
            title: Direction
        - name: amount_from
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            title: Amount From
        - name: amount_to
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            title: Amount To
        - name: filter[card]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Filter[Card]
        - name: filter[portal]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Filter[Portal]
        - name: filter[type]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  enum:
                    - ACH
                    - WIRE
                    - ON_US
                    - CARD
                    - FEE
                    - CREDIT
                    - GENERIC
                  type: string
              - type: 'null'
            title: Filter[Type]
        - name: filter[on_us_transfer]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Filter[On Us Transfer]
        - name: filter[wire]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Filter[Wire]
        - name: time_booked_from
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Time Booked From
        - name: time_booked_to
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Time Booked To
        - name: time_settled_from
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Time Settled From
        - name: time_settled_to
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: Time Settled To
        - name: include_sweeps
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            title: Include Sweeps
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CursorListResponse_Annotated_Union_ACHTransactionActivity__WireTransactionActivity__CardTransactionActivity__OnUsTransactionActivity__FeeTransactionActivity__CreditTransactionActivity__GenericTransactionActivity___FieldInfo_annotation_NoneType__required_True__discriminator__type____
              example:
                prev_page: >-
                  cj0xJnA9MjAyMi0xMi0yMSsxNyUzQTIyJTNBMDguNjc5MzQ5JTJCMDAlM0EwMA==
                next_page: cD0yMDIyLTEyLTE5KzE5JTNBNTQlM0EyNy4xODMyNzglMkIwMCUzQTAw
                items:
                  - id: 05964326-49b7-4e74-9783-81137ee3cf3b
                    transaction_id: 4b955c69-dd95-4f6a-a0ff-325ee029f240
                    description: Wire Transfer In
                    amount:
                      value: 100000
                      currency: USD
                      formatted: $1,000.00
                    time_booked: '2023-01-01T12:00:00Z'
                    time_settled: '2023-01-02T12:00:00Z'
                    status: SETTLED
                    title: From External Account
                    direction: DEBIT
                    pocket_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                    customer_id: 66f6e46c-f6a1-4af8-a1bd-49666bc01301
                    type: WIRE
                    reference_number: 9999XXXX
                    counterparty_name: John Smith
                    wire_id: 4854014d-5540-4f0c-9efe-a0137f01e1da
                object_type: CursorList
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/transactions/{transaction_activity_id}/:
    get:
      tags:
        - Transactions V2
      summary: Get Transaction
      description: >-
        Retrieves a single transaction activity by ID. A transaction activity
        represents a single side (debit/credit) of a transaction.
      operationId: get-transaction-v2
      security:
        - HTTPBearer: []
      parameters:
        - name: transaction_activity_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Transaction Activity Id
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ACHTransactionActivity'
                  - $ref: '#/components/schemas/WireTransactionActivity'
                  - $ref: '#/components/schemas/CardTransactionActivity'
                  - $ref: '#/components/schemas/OnUsTransactionActivity'
                  - $ref: '#/components/schemas/FeeTransactionActivity'
                  - $ref: '#/components/schemas/CreditTransactionActivity'
                  - $ref: '#/components/schemas/GenericTransactionActivity'
                discriminator:
                  propertyName: type
                  mapping:
                    ACH: '#/components/schemas/ACHTransactionActivity'
                    WIRE: '#/components/schemas/WireTransactionActivity'
                    CARD: '#/components/schemas/CardTransactionActivity'
                    ON_US: '#/components/schemas/OnUsTransactionActivity'
                    FEE: '#/components/schemas/FeeTransactionActivity'
                    CREDIT: '#/components/schemas/CreditTransactionActivity'
                    GENERIC: '#/components/schemas/GenericTransactionActivity'
                title: Response Get-Transaction-V2
              example:
                id: 05964326-49b7-4e74-9783-81137ee3cf3b
                transaction_id: 4b955c69-dd95-4f6a-a0ff-325ee029f240
                description: Wire Transfer In
                amount:
                  value: 100000
                  currency: USD
                  formatted: $1,000.00
                time_booked: '2023-01-01T12:00:00Z'
                time_settled: '2023-01-02T12:00:00Z'
                status: SETTLED
                title: From External Account
                direction: DEBIT
                pocket_id: 8a7ec6c0-2701-40a1-8954-68870964b50d
                customer_id: 66f6e46c-f6a1-4af8-a1bd-49666bc01301
                type: WIRE
                reference_number: 9999XXXX
                counterparty_name: John Smith
                wire_id: 4854014d-5540-4f0c-9efe-a0137f01e1da
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/pockets/{pocket_id}/earnings/:
    get:
      tags:
        - Pockets
      summary: Get Earnings
      operationId: get-earnings-v2
      security:
        - HTTPBearer: []
      parameters:
        - name: pocket_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Pocket Id
        - name: period
          in: query
          required: false
          schema:
            enum:
              - ytd
              - mtd
              - wtd
              - all-time
              - range
            type: string
            description: >

              The period to fetch earnings for. Can be one of

               * ytd (Year-to-date)
               * mtd (Month-to-date)
               * wtd (Week-to-date)
               * all-time
               * range

              When 'range' is chosen, you need to specify 'date_from' and
              'date_to' (inclusive).
            default: all-time
            title: Period
          description: >

            The period to fetch earnings for. Can be one of

             * ytd (Year-to-date)
             * mtd (Month-to-date)
             * wtd (Week-to-date)
             * all-time
             * range

            When 'range' is chosen, you need to specify 'date_from' and
            'date_to' (inclusive).
        - name: date_from
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date
              - type: 'null'
            title: Date From
        - name: date_to
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date
              - type: 'null'
            title: Date To
        - name: x-jiko-idempotency
          in: header
          required: true
          schema:
            type: string
            format: uuid
            title: X-Jiko-Idempotency
        - name: x-jiko-signature
          in: header
          required: true
          schema:
            type: string
            title: X-Jiko-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EarningsResponse'
              example:
                earnings:
                  value: 13000
                  currency: USD
                  formatted: $130.00
                date_from: '2025-04-01'
                date_to: '2025-05-01'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/redoc:
    get:
      summary: Redoc
      operationId: redoc-v2
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
webhooks:
  application.approved:
    post:
      tags:
        - Webhooks
      summary: application.approved
      description: Application - Approved Event
      operationId: webhook_application_approved_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                ApplicationUpdatePayload:
                  properties:
                    application_id:
                      type: string
                      format: uuid
                      title: Application Id
                  type: object
                  required:
                    - application_id
                  title: ApplicationUpdatePayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/ApplicationUpdatePayload'
                event_type:
                  const: application.approved
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: ApplicationApproved
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  application.manual_review:
    post:
      tags:
        - Webhooks
      summary: application.manual_review
      description: Application - Manual Review Event
      operationId: webhook_application_manual_review_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                ApplicationUpdatePayload:
                  properties:
                    application_id:
                      type: string
                      format: uuid
                      title: Application Id
                  type: object
                  required:
                    - application_id
                  title: ApplicationUpdatePayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/ApplicationUpdatePayload'
                event_type:
                  const: application.manual_review
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: ApplicationManual_Review
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  application.documents_needed:
    post:
      tags:
        - Webhooks
      summary: application.documents_needed
      description: Application - Documents Needed Event
      operationId: webhook_application_documents_needed_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                ApplicationUpdatePayload:
                  properties:
                    application_id:
                      type: string
                      format: uuid
                      title: Application Id
                  type: object
                  required:
                    - application_id
                  title: ApplicationUpdatePayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/ApplicationUpdatePayload'
                event_type:
                  const: application.documents_needed
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: ApplicationDocuments_Needed
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  application.rejected:
    post:
      tags:
        - Webhooks
      summary: application.rejected
      description: Application - Rejected Event
      operationId: webhook_application_rejected_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                ApplicationUpdatePayload:
                  properties:
                    application_id:
                      type: string
                      format: uuid
                      title: Application Id
                  type: object
                  required:
                    - application_id
                  title: ApplicationUpdatePayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/ApplicationUpdatePayload'
                event_type:
                  const: application.rejected
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: ApplicationRejected
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  transfers.ach.in.success:
    post:
      tags:
        - Webhooks
      summary: transfers.ach.in.success
      description: >-
        Incoming ACH Transfer - Success Event


        Triggered when Jiko, when acting as the
        [RDFI](https://www.nacha.org/content/how-ach-payments-work) has
        successfully processed an ACH transfer it received and settled it
        against the receiving pocket.
      operationId: webhook_transfers_ach_in_success_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                ACHIncomingPayload:
                  properties:
                    jiko_account_id:
                      type: string
                      format: uuid
                      title: Jiko Account Id
                  type: object
                  required:
                    - jiko_account_id
                  title: ACHIncomingPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/ACHIncomingPayload'
                event_type:
                  const: transfers.ach.in.success
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: TransfersAchInSuccess
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  transfers.ach.in.rejected:
    post:
      tags:
        - Webhooks
      summary: transfers.ach.in.rejected
      description: >-
        Incoming ACH Transfer - Rejected Event


        Triggered when Jiko, when acting as the
        [RDFI](https://www.nacha.org/content/how-ach-payments-work) has rejected
        and returned an ACH transfer it received back to the ACH network.
      operationId: webhook_transfers_ach_in_rejected_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                ACHIncomingPayload:
                  properties:
                    jiko_account_id:
                      type: string
                      format: uuid
                      title: Jiko Account Id
                  type: object
                  required:
                    - jiko_account_id
                  title: ACHIncomingPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/ACHIncomingPayload'
                event_type:
                  const: transfers.ach.in.rejected
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: TransfersAchInRejected
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  transfers.ach.out.success:
    post:
      tags:
        - Webhooks
      summary: transfers.ach.out.success
      description: >-
        Outgoing ACH Transfer - Success Event


        Triggered when Jiko, when acting as the
        [ODFI](https://www.nacha.org/content/how-ach-payments-work) has
        originated an ACH transfer and sent it to the ACH network. More
        information on ACH originations can be found in the [Create ACH
        Origination](/products/partner-api/reference/ach/create_ach_origination_api_v1_jiko_accounts__account_id__ach_originating__post)
        reference documentation.
      operationId: webhook_transfers_ach_out_success_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                ACHOutgoingPayload:
                  properties:
                    jiko_account_id:
                      type: string
                      format: uuid
                      title: Jiko Account Id
                    ach_origination_id:
                      type: string
                      format: uuid
                      title: Ach Origination Id
                  type: object
                  required:
                    - jiko_account_id
                    - ach_origination_id
                  title: ACHOutgoingPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/ACHOutgoingPayload'
                event_type:
                  const: transfers.ach.out.success
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: TransfersAchOutSuccess
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  transfers.ach.out.rejected:
    post:
      tags:
        - Webhooks
      summary: transfers.ach.out.rejected
      description: >-
        Outgoing ACH Transfer - Rejected Event


        Triggered when an ACH transfer originated by Jiko, when acting as the
        [ODFI](https://www.nacha.org/content/how-ach-payments-work), has been
        returned by the receiving depository financial institution. More
        information on ACH originations can be found in the [Create ACH
        Origination](/products/partner-api/reference/ach/create_ach_origination_api_v1_jiko_accounts__account_id__ach_originating__post)
        reference documentation.
      operationId: webhook_transfers_ach_out_rejected_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                ACHOutgoingPayload:
                  properties:
                    jiko_account_id:
                      type: string
                      format: uuid
                      title: Jiko Account Id
                    ach_origination_id:
                      type: string
                      format: uuid
                      title: Ach Origination Id
                  type: object
                  required:
                    - jiko_account_id
                    - ach_origination_id
                  title: ACHOutgoingPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/ACHOutgoingPayload'
                event_type:
                  const: transfers.ach.out.rejected
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: TransfersAchOutRejected
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  transfers.ach.out.sent:
    post:
      tags:
        - Webhooks
      summary: transfers.ach.out.sent
      description: >-
        Outgoing ACH Transfer - Sent Event


        Triggered when an ACH transfer originated by Jiko, when acting as the
        [ODFI](https://www.nacha.org/content/how-ach-payments-work), has been
        sent to the ACH network for processing. More information on ACH
        originations can be found in the [Create ACH
        Origination](/products/partner-api/reference/ach/create_ach_origination_api_v1_jiko_accounts__account_id__ach_originating__post)
        reference documentation.
      operationId: webhook_transfers_ach_out_sent_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                ACHOutgoingPayload:
                  properties:
                    jiko_account_id:
                      type: string
                      format: uuid
                      title: Jiko Account Id
                    ach_origination_id:
                      type: string
                      format: uuid
                      title: Ach Origination Id
                  type: object
                  required:
                    - jiko_account_id
                    - ach_origination_id
                  title: ACHOutgoingPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/ACHOutgoingPayload'
                event_type:
                  const: transfers.ach.out.sent
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: TransfersAchOutSent
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  card.status.closed:
    post:
      tags:
        - Webhooks
      summary: card.status.closed
      description: Card Status - Closed Event
      operationId: webhook_card_status_closed_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                CardStatusUpdatePayload:
                  properties:
                    card_id:
                      type: string
                      format: uuid
                      title: Card Id
                    status:
                      type: string
                      enum:
                        - OPEN
                        - LOCKED
                        - CLOSED
                        - NOT_ACTIVATED
                        - FROZEN
                      title: Status
                  type: object
                  required:
                    - card_id
                    - status
                  title: CardStatusUpdatePayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/CardStatusUpdatePayload'
                event_type:
                  const: card.status.closed
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: CardStatusClosed
              example:
                event_id: 723bc114-9a52-468d-8c37-56fc56bd1224
                event_type: card.status.closed
                payload:
                  card_id: 8bdfa0f8-04b2-44c7-81ac-c9828fe6798c
                  status: CLOSED
                timestamp: '2026-02-20T15:23:20.392134'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  card.status.open:
    post:
      tags:
        - Webhooks
      summary: card.status.open
      description: Card Status - Open Event
      operationId: webhook_card_status_open_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                CardStatusUpdatePayload:
                  properties:
                    card_id:
                      type: string
                      format: uuid
                      title: Card Id
                    status:
                      type: string
                      enum:
                        - OPEN
                        - LOCKED
                        - CLOSED
                        - NOT_ACTIVATED
                        - FROZEN
                      title: Status
                  type: object
                  required:
                    - card_id
                    - status
                  title: CardStatusUpdatePayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/CardStatusUpdatePayload'
                event_type:
                  const: card.status.open
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: CardStatusOpen
              example:
                event_id: 5a48ba56-d8c0-46c4-bfc5-7636e3cf0ca7
                event_type: card.status.open
                payload:
                  card_id: 5d0565cc-a6c3-4c14-9abd-a52e624e364f
                  status: OPEN
                timestamp: '2026-02-20T15:23:20.395892'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  card.status.frozen:
    post:
      tags:
        - Webhooks
      summary: card.status.frozen
      description: Card Status - Frozen Event
      operationId: webhook_card_status_frozen_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                CardStatusUpdatePayload:
                  properties:
                    card_id:
                      type: string
                      format: uuid
                      title: Card Id
                    status:
                      type: string
                      enum:
                        - OPEN
                        - LOCKED
                        - CLOSED
                        - NOT_ACTIVATED
                        - FROZEN
                      title: Status
                  type: object
                  required:
                    - card_id
                    - status
                  title: CardStatusUpdatePayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/CardStatusUpdatePayload'
                event_type:
                  const: card.status.frozen
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: CardStatusFrozen
              example:
                event_id: 1b804f2c-c781-4712-b1cd-a0cadfdbcf7c
                event_type: card.status.frozen
                payload:
                  card_id: f453405f-dd72-4d08-8bbd-e8fb6c2405b3
                  status: FROZEN
                timestamp: '2026-02-20T15:23:20.398566'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  card.status.locked:
    post:
      tags:
        - Webhooks
      summary: card.status.locked
      description: Card Status - Locked Event
      operationId: webhook_card_status_locked_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                CardStatusUpdatePayload:
                  properties:
                    card_id:
                      type: string
                      format: uuid
                      title: Card Id
                    status:
                      type: string
                      enum:
                        - OPEN
                        - LOCKED
                        - CLOSED
                        - NOT_ACTIVATED
                        - FROZEN
                      title: Status
                  type: object
                  required:
                    - card_id
                    - status
                  title: CardStatusUpdatePayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/CardStatusUpdatePayload'
                event_type:
                  const: card.status.locked
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: CardStatusLocked
              example:
                event_id: 6051905d-51e3-4ed7-819c-d1ea135af2dd
                event_type: card.status.locked
                payload:
                  card_id: 80d88461-0fa3-44c5-831e-1c92a49a3198
                  status: LOCKED
                timestamp: '2026-02-20T15:23:20.401344'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  card.transaction.approved:
    post:
      tags:
        - Webhooks
      summary: card.transaction.approved
      description: Card Transaction - Approved Event
      operationId: webhook_card_transaction_approved_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                CardTransactionPayload:
                  properties:
                    card_id:
                      type: string
                      format: uuid
                      title: Card Id
                    amount:
                      type: integer
                      title: Amount
                    account_id:
                      type: string
                      format: uuid
                      title: Account Id
                  type: object
                  required:
                    - card_id
                    - amount
                    - account_id
                  title: CardTransactionPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/CardTransactionPayload'
                event_type:
                  const: card.transaction.approved
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: CardTransactionApproved
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  card.transaction.on_hold:
    post:
      tags:
        - Webhooks
      summary: card.transaction.on_hold
      description: Card Transaction - On Hold Event
      operationId: webhook_card_transaction_on_hold_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                CardTransactionPayload:
                  properties:
                    card_id:
                      type: string
                      format: uuid
                      title: Card Id
                    amount:
                      type: integer
                      title: Amount
                    account_id:
                      type: string
                      format: uuid
                      title: Account Id
                  type: object
                  required:
                    - card_id
                    - amount
                    - account_id
                  title: CardTransactionPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/CardTransactionPayload'
                event_type:
                  const: card.transaction.on_hold
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: CardTransactionOn_Hold
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  card.transaction.reversed:
    post:
      tags:
        - Webhooks
      summary: card.transaction.reversed
      description: Card Transaction - Reversed Event
      operationId: webhook_card_transaction_reversed_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                CardTransactionPayload:
                  properties:
                    card_id:
                      type: string
                      format: uuid
                      title: Card Id
                    amount:
                      type: integer
                      title: Amount
                    account_id:
                      type: string
                      format: uuid
                      title: Account Id
                  type: object
                  required:
                    - card_id
                    - amount
                    - account_id
                  title: CardTransactionPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/CardTransactionPayload'
                event_type:
                  const: card.transaction.reversed
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: CardTransactionReversed
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  card.transaction.rejected:
    post:
      tags:
        - Webhooks
      summary: card.transaction.rejected
      description: Card Transaction - Rejected Event
      operationId: webhook_card_transaction_rejected_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                CardTransactionPayload:
                  properties:
                    card_id:
                      type: string
                      format: uuid
                      title: Card Id
                    amount:
                      type: integer
                      title: Amount
                    account_id:
                      type: string
                      format: uuid
                      title: Account Id
                  type: object
                  required:
                    - card_id
                    - amount
                    - account_id
                  title: CardTransactionPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/CardTransactionPayload'
                event_type:
                  const: card.transaction.rejected
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: CardTransactionRejected
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  transfers.wire.out.success:
    post:
      tags:
        - Webhooks
      summary: transfers.wire.out.success
      description: Outgoing Wire Transfer - Success Event
      operationId: webhook_transfers_wire_out_success_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                WireOutgoingPayload:
                  properties:
                    jiko_account_id:
                      type: string
                      format: uuid
                      title: Jiko Account Id
                    wire_id:
                      type: string
                      format: uuid
                      title: Wire Id
                  type: object
                  required:
                    - jiko_account_id
                    - wire_id
                  title: WireOutgoingPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/WireOutgoingPayload'
                event_type:
                  const: transfers.wire.out.success
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: TransfersWireOutSuccess
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  transfers.wire.out.processing:
    post:
      tags:
        - Webhooks
      summary: transfers.wire.out.processing
      description: Outgoing Wire Transfer - Processing Event
      operationId: webhook_transfers_wire_out_processing_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                WireOutgoingPayload:
                  properties:
                    jiko_account_id:
                      type: string
                      format: uuid
                      title: Jiko Account Id
                    wire_id:
                      type: string
                      format: uuid
                      title: Wire Id
                  type: object
                  required:
                    - jiko_account_id
                    - wire_id
                  title: WireOutgoingPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/WireOutgoingPayload'
                event_type:
                  const: transfers.wire.out.processing
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: TransfersWireOutProcessing
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  transfers.wire.out.rejected:
    post:
      tags:
        - Webhooks
      summary: transfers.wire.out.rejected
      description: Outgoing Wire Transfer - Rejected Event
      operationId: webhook_transfers_wire_out_rejected_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                WireOutgoingPayload:
                  properties:
                    jiko_account_id:
                      type: string
                      format: uuid
                      title: Jiko Account Id
                    wire_id:
                      type: string
                      format: uuid
                      title: Wire Id
                  type: object
                  required:
                    - jiko_account_id
                    - wire_id
                  title: WireOutgoingPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/WireOutgoingPayload'
                event_type:
                  const: transfers.wire.out.rejected
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: TransfersWireOutRejected
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  transfers.wire.in.success:
    post:
      tags:
        - Webhooks
      summary: transfers.wire.in.success
      description: Incoming Wire Transfer - Success Event
      operationId: webhook_transfers_wire_in_success_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                WireIncomingPayload:
                  properties:
                    jiko_account_id:
                      type: string
                      format: uuid
                      title: Jiko Account Id
                    wire_id:
                      type: string
                      format: uuid
                      title: Wire Id
                  type: object
                  required:
                    - jiko_account_id
                    - wire_id
                  title: WireIncomingPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/WireIncomingPayload'
                event_type:
                  const: transfers.wire.in.success
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: TransfersWireInSuccess
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  transfers.wire.in.rejected:
    post:
      tags:
        - Webhooks
      summary: transfers.wire.in.rejected
      description: Incoming Wire Transfer - Rejected Event
      operationId: webhook_transfers_wire_in_rejected_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                WireIncomingPayload:
                  properties:
                    jiko_account_id:
                      type: string
                      format: uuid
                      title: Jiko Account Id
                    wire_id:
                      type: string
                      format: uuid
                      title: Wire Id
                  type: object
                  required:
                    - jiko_account_id
                    - wire_id
                  title: WireIncomingPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/WireIncomingPayload'
                event_type:
                  const: transfers.wire.in.rejected
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: TransfersWireInRejected
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  transfers.on-us.success:
    post:
      tags:
        - Webhooks
      summary: transfers.on-us.success
      description: Transfers On-Us Success Event
      operationId: webhook_transfers_on_us_success_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                OnUsTransferPayload:
                  properties:
                    on_us_id:
                      type: string
                      format: uuid
                      title: On Us Id
                    origin_account_id:
                      type: string
                      format: uuid
                      title: Origin Account Id
                    destination_account_id:
                      type: string
                      format: uuid
                      title: Destination Account Id
                  type: object
                  required:
                    - on_us_id
                    - origin_account_id
                    - destination_account_id
                  title: OnUsTransferPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/OnUsTransferPayload'
                event_type:
                  const: transfers.on-us.success
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: TransfersOn-UsSuccess
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  transfers.on-us.processing:
    post:
      tags:
        - Webhooks
      summary: transfers.on-us.processing
      description: Transfers On-Us Processing Event
      operationId: webhook_transfers_on_us_processing_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                OnUsTransferPayload:
                  properties:
                    on_us_id:
                      type: string
                      format: uuid
                      title: On Us Id
                    origin_account_id:
                      type: string
                      format: uuid
                      title: Origin Account Id
                    destination_account_id:
                      type: string
                      format: uuid
                      title: Destination Account Id
                  type: object
                  required:
                    - on_us_id
                    - origin_account_id
                    - destination_account_id
                  title: OnUsTransferPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/OnUsTransferPayload'
                event_type:
                  const: transfers.on-us.processing
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: TransfersOn-UsProcessing
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  transfers.on-us.rejected:
    post:
      tags:
        - Webhooks
      summary: transfers.on-us.rejected
      description: Transfers On-Us Rejected Event
      operationId: webhook_transfers_on_us_rejected_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                OnUsTransferPayload:
                  properties:
                    on_us_id:
                      type: string
                      format: uuid
                      title: On Us Id
                    origin_account_id:
                      type: string
                      format: uuid
                      title: Origin Account Id
                    destination_account_id:
                      type: string
                      format: uuid
                      title: Destination Account Id
                  type: object
                  required:
                    - on_us_id
                    - origin_account_id
                    - destination_account_id
                  title: OnUsTransferPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/OnUsTransferPayload'
                event_type:
                  const: transfers.on-us.rejected
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: TransfersOn-UsRejected
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  transfers.on-us.received:
    post:
      tags:
        - Webhooks
      summary: transfers.on-us.received
      description: Transfers On-Us Received Event
      operationId: webhook_transfers_on_us_received_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                OnUsTransferReceivedPayload:
                  properties:
                    on_us_id:
                      type: string
                      format: uuid
                      title: On Us Id
                    receiving_pocket_id:
                      type: string
                      format: uuid
                      title: Receiving Pocket Id
                    transaction_activity_id:
                      type: string
                      format: uuid
                      title: Transaction Activity Id
                  type: object
                  required:
                    - on_us_id
                    - receiving_pocket_id
                    - transaction_activity_id
                  title: OnUsTransferReceivedPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/OnUsTransferReceivedPayload'
                event_type:
                  const: transfers.on-us.received
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: TransfersOn-UsReceived
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  tradable.maturity:
    post:
      tags:
        - Webhooks
      summary: tradable.maturity
      description: >-
        Tradable - Maturity Event


        Triggered when a treasury bill held by the pocket referenced in the
        event payload has matured.
      operationId: webhook_tradable_maturity_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                TradableMaturityPayload:
                  properties:
                    jiko_account_id:
                      type: string
                      format: uuid
                      title: Jiko Account Id
                    cusip:
                      type: string
                      title: Cusip
                    cusip_maturity_date:
                      type: string
                      format: date-time
                      title: Cusip Maturity Date
                    trading_strategy:
                      type: string
                      title: Trading Strategy
                  type: object
                  required:
                    - jiko_account_id
                    - cusip
                    - cusip_maturity_date
                    - trading_strategy
                  title: TradableMaturityPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/TradableMaturityPayload'
                event_type:
                  const: tradable.maturity
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: TradableMaturity
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  report.status.available:
    post:
      tags:
        - Webhooks
      summary: report.status.available
      description: Report - Download Available Event
      operationId: webhook_report_status_available_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                ReportStatusPayload:
                  properties:
                    report_id:
                      type: string
                      format: uuid
                      title: Report Id
                    root_report_id:
                      anyOf:
                        - type: string
                          format: uuid
                        - type: 'null'
                      title: Root Report Id
                  type: object
                  required:
                    - report_id
                    - root_report_id
                  title: ReportStatusPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/ReportStatusPayload'
                event_type:
                  const: report.status.available
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: ReportStatusAvailable
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  report.status.pending:
    post:
      tags:
        - Webhooks
      summary: report.status.pending
      description: Report - Pending Creation Event
      operationId: webhook_report_status_pending_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                ReportStatusPayload:
                  properties:
                    report_id:
                      type: string
                      format: uuid
                      title: Report Id
                    root_report_id:
                      anyOf:
                        - type: string
                          format: uuid
                        - type: 'null'
                      title: Root Report Id
                  type: object
                  required:
                    - report_id
                    - root_report_id
                  title: ReportStatusPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/ReportStatusPayload'
                event_type:
                  const: report.status.pending
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: ReportStatusPending
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  report.status.failed:
    post:
      tags:
        - Webhooks
      summary: report.status.failed
      description: Report Status Failed Event
      operationId: webhook_report_status_failed_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                ReportStatusPayload:
                  properties:
                    report_id:
                      type: string
                      format: uuid
                      title: Report Id
                    root_report_id:
                      anyOf:
                        - type: string
                          format: uuid
                        - type: 'null'
                      title: Root Report Id
                  type: object
                  required:
                    - report_id
                    - root_report_id
                  title: ReportStatusPayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/ReportStatusPayload'
                event_type:
                  const: report.status.failed
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: ReportStatusFailed
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  counterparty.status.linked:
    post:
      tags:
        - Webhooks
      summary: counterparty.status.linked
      description: Counterparty Status - Linked Event
      operationId: webhook_counterparty_status_linked_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                CounterpartyStatusUpdatePayload:
                  properties:
                    counterparty_id:
                      type: string
                      format: uuid
                      title: Counterparty Id
                    customer_id:
                      anyOf:
                        - type: string
                          format: uuid
                        - type: 'null'
                      title: Customer Id
                  type: object
                  required:
                    - counterparty_id
                  title: CounterpartyStatusUpdatePayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/CounterpartyStatusUpdatePayload'
                event_type:
                  const: counterparty.status.linked
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: CounterpartyStatusLinked
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  counterparty.status.unlinked:
    post:
      tags:
        - Webhooks
      summary: counterparty.status.unlinked
      description: Counterparty Status - Unlinked Event
      operationId: webhook_counterparty_status_unlinked_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                CounterpartyStatusUpdatePayload:
                  properties:
                    counterparty_id:
                      type: string
                      format: uuid
                      title: Counterparty Id
                    customer_id:
                      anyOf:
                        - type: string
                          format: uuid
                        - type: 'null'
                      title: Customer Id
                  type: object
                  required:
                    - counterparty_id
                  title: CounterpartyStatusUpdatePayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/CounterpartyStatusUpdatePayload'
                event_type:
                  const: counterparty.status.unlinked
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: CounterpartyStatusUnlinked
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  counterparty.status.failed:
    post:
      tags:
        - Webhooks
      summary: counterparty.status.failed
      description: Counterparty Status - Failed Event
      operationId: webhook_counterparty_status_failed_post
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                CounterpartyStatusUpdatePayload:
                  properties:
                    counterparty_id:
                      type: string
                      format: uuid
                      title: Counterparty Id
                    customer_id:
                      anyOf:
                        - type: string
                          format: uuid
                        - type: 'null'
                      title: Customer Id
                  type: object
                  required:
                    - counterparty_id
                  title: CounterpartyStatusUpdatePayload
              properties:
                event_id:
                  type: string
                  format: uuid
                  title: Event Id
                timestamp:
                  type: string
                  format: date-time
                  title: Timestamp
                payload:
                  $ref: '#/components/schemas/CounterpartyStatusUpdatePayload'
                event_type:
                  const: counterparty.status.failed
                  title: Event Type
              type: object
              required:
                - event_id
                - timestamp
                - payload
                - event_type
              title: CounterpartyStatusFailed
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
components:
  schemas:
    ACHCounterparty:
      properties:
        time_created:
          type: string
          format: date-time
          title: Time Created
        verification_type:
          type: string
          enum:
            - MICRO_DEPOSITS
            - PLAID
            - PRE_VERIFIED
            - INCOMING_WIRE
            - SUPPORTING_DOCUMENTS
          title: Verification Type
        status:
          type: string
          enum:
            - IN_PROGRESS
            - FAILED
            - VERIFIED
          title: Status
        account_number:
          type: string
          title: Account Number
        routing_number:
          type: string
          title: Routing Number
        name_on_account:
          type: string
          title: Name On Account
        account_type:
          type: string
          enum:
            - SAVINGS
            - CHECKING
          title: Account Type
        institution_name:
          type: string
          title: Institution Name
        plaid:
          anyOf:
            - $ref: '#/components/schemas/CounterpartyPlaid'
            - type: 'null'
        micro_deposits:
          anyOf:
            - $ref: '#/components/schemas/CounterpartyMicroDeposits'
            - type: 'null'
      type: object
      required:
        - time_created
        - verification_type
        - status
        - account_number
        - routing_number
        - name_on_account
        - account_type
        - institution_name
      title: ACHCounterparty
    ACHCounterpartyV2:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        time_created:
          type: string
          format: date-time
          title: Time Created
        status:
          type: string
          enum:
            - PENDING
            - FAILED
            - LINKED
            - UNLINKED
            - CLOSED
          title: Status
        verification:
          oneOf:
            - $ref: '#/components/schemas/SupportingDocumentsVerification'
            - $ref: '#/components/schemas/IncomingWireVerification'
            - $ref: '#/components/schemas/PreVerifiedVerification'
            - $ref: '#/components/schemas/PlaidVerification'
            - $ref: '#/components/schemas/MicroDepositsVerification'
            - $ref: '#/components/schemas/NameMatchVerification'
            - $ref: '#/components/schemas/UnverifiedVerification'
          title: Verification
          discriminator:
            propertyName: type
            mapping:
              incoming_wire: '#/components/schemas/IncomingWireVerification'
              micro_deposits: '#/components/schemas/MicroDepositsVerification'
              name_match: '#/components/schemas/NameMatchVerification'
              plaid: '#/components/schemas/PlaidVerification'
              pre_verified: '#/components/schemas/PreVerifiedVerification'
              supporting_documents: '#/components/schemas/SupportingDocumentsVerification'
              unverified: '#/components/schemas/UnverifiedVerification'
        type:
          const: ach
          title: Type
        counterparty_name:
          type: string
          title: Counterparty Name
        institution_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Institution Name
        routing_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Routing Number
        account_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Account Number
        account_type:
          type: string
          enum:
            - CHECKING
            - SAVINGS
          title: Account Type
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - id
        - time_created
        - status
        - verification
        - type
        - counterparty_name
        - institution_name
        - routing_number
        - account_number
        - account_type
        - object_type
      title: ACH Counterparty
    ACHDirection:
      type: string
      enum:
        - RECEIVING
        - ORIGINATION
      title: ACHDirection
    ACHIncomingEvent:
      properties:
        event_id:
          type: string
          format: uuid
          title: Event Id
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        payload:
          $ref: '#/components/schemas/ACHIncomingPayload'
        event_type:
          type: string
          enum:
            - transfers.ach.in.success
            - transfers.ach.in.rejected
          title: Event Type
      type: object
      required:
        - event_id
        - timestamp
        - payload
        - event_type
      title: ACHIncomingEvent
    ACHIncomingPayload:
      properties:
        jiko_account_id:
          type: string
          format: uuid
          title: Jiko Account Id
      type: object
      required:
        - jiko_account_id
      title: ACHIncomingPayload
    ACHOutgoingEvent:
      properties:
        event_id:
          type: string
          format: uuid
          title: Event Id
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        payload:
          $ref: '#/components/schemas/ACHOutgoingPayload'
        event_type:
          type: string
          enum:
            - transfers.ach.out.success
            - transfers.ach.out.rejected
            - transfers.ach.out.sent
          title: Event Type
      type: object
      required:
        - event_id
        - timestamp
        - payload
        - event_type
      title: ACHOutgoingEvent
    ACHOutgoingPayload:
      properties:
        jiko_account_id:
          type: string
          format: uuid
          title: Jiko Account Id
        ach_origination_id:
          type: string
          format: uuid
          title: Ach Origination Id
      type: object
      required:
        - jiko_account_id
        - ach_origination_id
      title: ACHOutgoingPayload
    ACHRequest:
      properties:
        counterparty_id:
          type: string
          format: uuid
          title: Counterparty Id
        direction:
          type: string
          enum:
            - DEBIT
            - CREDIT
          title: Direction
        sec_code:
          type: string
          enum:
            - CCD
            - WEB
          title: Sec Code
          default: WEB
        payment_related_information:
          items:
            type: string
          type: array
          title: Payment Related Information
        amount_usdc:
          type: integer
          title: Amount Usdc
        company_entry_description:
          anyOf:
            - type: string
              pattern: ^[ a-zA-Z0-9]{1,10}$
            - type: 'null'
          title: Company Entry Description
          description: >-
            Short description of the purpose of the entry (Maximum of 10
            characters). Required for sec_code `"CCD"` and `"PPD"`. For sec_code
            `"WEB"` the default value for DEBIT is "Funding TX" and "Release TX"
            for CREDIT.
      type: object
      required:
        - counterparty_id
        - direction
        - amount_usdc
      title: ACHRequest
    ACHResponse:
      properties:
        counterparty_id:
          type: string
          format: uuid
          title: Counterparty Id
        direction:
          type: string
          enum:
            - DEBIT
            - CREDIT
          title: Direction
        sec_code:
          type: string
          enum:
            - CCD
            - PPD
            - WEB
          title: Sec Code
        payment_related_information:
          items:
            type: string
          type: array
          title: Payment Related Information
        id:
          type: string
          format: uuid
          title: Id
        amount:
          $ref: '#/components/schemas/Amount'
        jiko_account_id:
          type: string
          format: uuid
          title: Jiko Account Id
        status:
          type: string
          enum:
            - PENDING
            - FAILED
            - REJECTED
            - PROCESSED
            - APPROVED
            - IN_TRANSIT
            - CANCELLED
          title: Status
        time_created:
          type: string
          format: date-time
          title: Time Created
        company_entry_description:
          type: string
          title: Company Entry Description
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - counterparty_id
        - direction
        - sec_code
        - payment_related_information
        - id
        - amount
        - jiko_account_id
        - status
        - time_created
        - company_entry_description
        - object_type
      title: ACHResponse
    ACHTransactionActivity:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: >-
            The ID of the transaction from the perspective of the respective
            pocket
        transaction_id:
          type: string
          format: uuid
          title: Transaction Id
          description: The ID of the transaction this activity is representing
        description:
          type: string
          title: Description
          description: A description of the transaction type, e.g. "ACH Electronic Debit".
        amount:
          $ref: '#/components/schemas/Amount'
        time_booked:
          type: string
          format: date-time
          title: Time Booked
          description: >-
            The time at which the transaction was originally booked into the
            ledger.
        time_settled:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Time Settled
          description: The time at which transaction was settled.
        status:
          type: string
          enum:
            - BOOKED
            - SETTLED
          title: Status
          description: Status of the transactions. Has the transactions been settled
        title:
          type: string
          title: Title
        direction:
          type: string
          enum:
            - DEBIT
            - CREDIT
          title: Direction
        pocket_id:
          type: string
          format: uuid
          title: Pocket Id
          description: The pocket associated with the transaction
        customer_id:
          type: string
          format: uuid
          title: Customer Id
          description: The customer associated with the transaction
        remittance_information:
          anyOf:
            - $ref: '#/components/schemas/RemittanceInformation'
            - type: 'null'
        type:
          const: ACH
          title: Type
        company_name:
          type: string
          title: Company Name
        company_entry_description:
          anyOf:
            - type: string
            - type: 'null'
          title: Company Entry Description
        individual_identification_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Individual Identification Number
        trace_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Trace Number
        ach_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Ach Id
        ach_direction:
          $ref: '#/components/schemas/ACHDirection'
        portal_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Portal Id
      type: object
      required:
        - id
        - transaction_id
        - description
        - amount
        - time_booked
        - time_settled
        - status
        - title
        - direction
        - pocket_id
        - customer_id
        - type
        - company_name
        - ach_direction
      title: ACHTransactionActivity
    ACHTransactionDetails:
      properties:
        company_name:
          type: string
          title: Company Name
        company_entry_description:
          anyOf:
            - type: string
            - type: 'null'
          title: Company Entry Description
        individual_identification_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Individual Identification Number
        trace_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Trace Number
        ach_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Ach Id
          description: >-
            The ID of the transfer object associated with this transaction. This
            field will be not be populated for originations before July 2024.
        ach_direction:
          $ref: '#/components/schemas/ACHDirection'
        portal_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Portal Id
          description: The ID of the portal used to receive this ACH transfer.
      type: object
      required:
        - company_name
        - ach_direction
      title: ACHTransactionDetails
    AUMFee:
      properties:
        amount:
          $ref: '#/components/schemas/Amount'
        type:
          const: AUM_FEE
          title: Type
      type: object
      required:
        - amount
        - type
      title: AUMFee
    Account:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        name:
          type: string
          title: Name
          description: The account name
        total_value:
          allOf:
            - $ref: '#/components/schemas/Amount'
          description: Current total value of account
        status:
          type: string
          enum:
            - OPEN
            - CLOSED
            - FROZEN
          title: Status
          description: Account status
        portfolio:
          allOf:
            - $ref: >-
                #/components/schemas/partner_api__interface__models__accounts__Portfolio
          description: Total liquid cash and holdings
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - id
        - name
        - total_value
        - status
        - portfolio
        - object_type
      title: Account
    Agreement:
      properties:
        version:
          type: string
          title: Version
        release_date:
          type: string
          format: date
          title: Release Date
        documents:
          items:
            $ref: '#/components/schemas/AgreementDocument'
          type: array
          title: Documents
      type: object
      required:
        - version
        - release_date
        - documents
      title: Agreement
    AgreementConsent:
      properties:
        version:
          type: string
          title: Version
          description: Agreement version
        timestamp:
          type: string
          format: date-time
          title: Timestamp
          description: Timestamp of applicant's acknowledgement of the agreements
      type: object
      required:
        - version
        - timestamp
      title: AgreementConsent
    AgreementDocument:
      properties:
        pdf_download_url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          title: Pdf Download Url
        title:
          type: string
          title: Title
        type:
          type: string
          enum:
            - PRIVACY_POLICY
            - PRIVACY_NOTICE
            - BUSINESS_CONTINUITY_PLAN
            - FINANCIAL_STATEMENT
            - US_TREASURIES_RISK
            - ELECTRONIC_COMMUNICATIONS
            - TAX_CERTIFICATION_FOR_US_PERSON
            - BANK_ACCOUNT
            - LIMITATIONS
            - BROKERAGE
            - CARD
            - CASHBACK
            - FORM_CRS
            - AUTHORIZED_REPRESENTATIVE_CERTIFICATION
            - TERMS_OF_USE
            - ELECTRONIC_FUND_TRANSFERS
            - TRUTH_IN_SAVINGS
            - FEE_NOTICE
            - FUNDS_AVAILABILITY
            - REGULATION_E
          title: Type
        category:
          type: string
          enum:
            - BANK
            - BROKERAGE
            - GENERAL
            - E-SIGN
          title: Category
      type: object
      required:
        - pdf_download_url
        - title
        - type
        - category
      title: AgreementDocument
    Amount:
      properties:
        value:
          type: integer
          title: Value
          description: USD values are always in cents.
        currency:
          type: string
          title: Currency
        formatted:
          type: string
          title: Formatted
          default: ''
      type: object
      required:
        - value
        - currency
      title: Amount
    ApplicationUpdateEvent:
      properties:
        event_id:
          type: string
          format: uuid
          title: Event Id
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        payload:
          $ref: '#/components/schemas/ApplicationUpdatePayload'
        event_type:
          type: string
          enum:
            - application.approved
            - application.manual_review
            - application.documents_needed
            - application.rejected
          title: Event Type
      type: object
      required:
        - event_id
        - timestamp
        - payload
        - event_type
      title: ApplicationUpdateEvent
    ApplicationUpdatePayload:
      properties:
        application_id:
          type: string
          format: uuid
          title: Application Id
      type: object
      required:
        - application_id
      title: ApplicationUpdatePayload
    BankStatementReport:
      properties:
        pocket_ids:
          items:
            type: string
            format: uuid
          type: array
          title: Pocket Ids
        customer_id:
          type: string
          format: uuid
          title: Customer Id
        date:
          type: string
          format: date
          title: Date
        type:
          const: BANK_STATEMENT_REPORT
          title: Type
      type: object
      required:
        - pocket_ids
        - customer_id
        - date
        - type
      title: BankStatementReport
    BrokerageStatementReport:
      properties:
        customer_id:
          type: string
          format: uuid
          title: Customer Id
        date:
          type: string
          format: date
          title: Date
        pocket_ids:
          items:
            type: string
            format: uuid
          type: array
          title: Pocket Ids
        type:
          const: BROKERAGE_STATEMENT_REPORT
          title: Type
      type: object
      required:
        - customer_id
        - date
        - pocket_ids
        - type
      title: BrokerageStatementReport
    Business:
      properties:
        address:
          $ref: '#/components/schemas/GeneralAddress'
        email:
          type: string
          title: Email
        phone_number:
          type: string
          title: Phone Number
        account_status:
          type: string
          enum:
            - OPEN
            - CLOSED
            - FROZEN
            - PENDING
          title: Account Status
        type:
          const: BUSINESS
          title: Type
        name:
          type: string
          title: Name
        identification_number:
          $ref: '#/components/schemas/BusinessIdentificationNumber'
      type: object
      required:
        - address
        - email
        - phone_number
        - account_status
        - type
        - name
        - identification_number
      title: Business
    BusinessApplicationRequest:
      properties:
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        entity_type:
          anyOf:
            - type: string
              enum:
                - SOLE_PROPRIETOR
                - CORPORATE
                - LLC
                - PARTNERSHIP
                - INCORPORATED_ASSOCIATION
                - UNINCORPORATED_ASSOCIATION
                - REGULATED_FINANCIAL_INSTITUTION
                - NON_BANK_FINANCIAL_INSTITUTION
                - NON_PROFIT
                - SPECIAL_PURPOSE_ACQUISITION_COMPANY
            - type: 'null'
          title: Entity Type
        doing_business_as:
          anyOf:
            - type: string
            - type: 'null'
          title: Doing Business As
        identification_number:
          anyOf:
            - $ref: '#/components/schemas/BusinessIdentificationNumber'
            - type: 'null'
        address:
          anyOf:
            - $ref: '#/components/schemas/ISOAddress'
            - type: 'null'
        website:
          anyOf:
            - type: string
            - type: 'null'
          title: Website
        contact:
          anyOf:
            - $ref: '#/components/schemas/BusinessContact'
            - type: 'null'
        formation_date:
          anyOf:
            - type: string
            - type: 'null'
          title: Formation Date
        risk_info:
          anyOf:
            - $ref: '#/components/schemas/RiskInfo'
            - type: 'null'
        industry:
          anyOf:
            - $ref: '#/components/schemas/IndustryInfo'
            - type: 'null'
        agreement_consent:
          anyOf:
            - $ref: '#/components/schemas/AgreementConsent'
            - type: 'null'
      type: object
      title: BusinessApplicationRequest
    BusinessApplicationResponse:
      properties:
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        entity_type:
          anyOf:
            - type: string
              enum:
                - SOLE_PROPRIETOR
                - CORPORATE
                - LLC
                - PARTNERSHIP
                - INCORPORATED_ASSOCIATION
                - UNINCORPORATED_ASSOCIATION
                - REGULATED_FINANCIAL_INSTITUTION
                - NON_BANK_FINANCIAL_INSTITUTION
                - NON_PROFIT
                - SPECIAL_PURPOSE_ACQUISITION_COMPANY
            - type: 'null'
          title: Entity Type
        doing_business_as:
          anyOf:
            - type: string
            - type: 'null'
          title: Doing Business As
        identification_number:
          anyOf:
            - $ref: '#/components/schemas/BusinessIdentificationNumber'
            - type: 'null'
        address:
          anyOf:
            - $ref: '#/components/schemas/ISOAddress'
            - type: 'null'
        website:
          anyOf:
            - type: string
            - type: 'null'
          title: Website
        contact:
          anyOf:
            - $ref: '#/components/schemas/BusinessContact'
            - type: 'null'
        formation_date:
          anyOf:
            - type: string
            - type: 'null'
          title: Formation Date
        risk_info:
          anyOf:
            - $ref: '#/components/schemas/RiskInfo'
            - type: 'null'
        industry:
          anyOf:
            - $ref: '#/components/schemas/IndustryInfo'
            - type: 'null'
        agreement_consent:
          anyOf:
            - $ref: '#/components/schemas/AgreementConsent'
            - type: 'null'
        id:
          type: string
          format: uuid
          title: Id
        time_created:
          type: string
          format: date-time
          title: Time Created
        updated_at:
          type: string
          format: date-time
          title: Updated At
        exception_reasons:
          items:
            type: string
          type: array
          title: Exception Reasons
          default: []
        customer_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Customer Id
          description: '`null` until application status is `APPROVED`'
        status:
          type: string
          enum:
            - CREATED
            - SUBMITTED
            - CLOSED
            - APPROVED
            - REJECTED
            - MANUAL_REVIEW
            - DOCUMENTS_NEEDED
            - PENDING
          title: Status
      type: object
      required:
        - id
        - time_created
        - updated_at
        - status
      title: BusinessApplicationResponse
    BusinessContact:
      properties:
        name:
          anyOf:
            - $ref: '#/components/schemas/Name'
            - type: 'null'
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone Number
        email:
          anyOf:
            - type: string
              format: email
            - type: 'null'
          title: Email
      type: object
      title: BusinessContact
    BusinessIdentificationNumber:
      properties:
        identification_number:
          type: string
          title: Identification Number
        issuing_country:
          anyOf:
            - type: string
            - type: 'null'
          title: Issuing Country
          description: 'A ISO-3166 Alpha-2 country code (Abbreviated. Example: "US")'
        type:
          type: string
          enum:
            - TIN
            - EIN
            - NON_US_BUSINESS_ID
          title: Type
      type: object
      required:
        - identification_number
        - type
      title: BusinessIdentificationNumber
    BusinessIndividual:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        name:
          $ref: '#/components/schemas/Name'
        title:
          type: string
          title: Title
      type: object
      required:
        - id
        - name
        - title
      title: BusinessIndividual
    BusinessName:
      properties:
        business_name:
          type: string
          title: Business Name
          description: The name of the business counterparty.
        type:
          const: business
          title: Type
      type: object
      required:
        - business_name
        - type
      title: BusinessName
    Card:
      properties:
        card_id:
          type: string
          format: uuid
          title: Card Id
        name:
          type: string
          title: Name
        status:
          type: string
          enum:
            - OPEN
            - LOCKED
            - CLOSED
            - NOT_ACTIVATED
            - FROZEN
          title: Status
        type:
          type: string
          enum:
            - VIRTUAL
            - PHYSICAL
          title: Type
        creation_time:
          type: string
          format: date-time
          title: Creation Time
      type: object
      required:
        - card_id
        - name
        - status
        - type
        - creation_time
      title: Card
    CardListResponse:
      properties:
        prev_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Prev Page
        next_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Next Page
        items:
          items:
            $ref: '#/components/schemas/Card'
          type: array
          title: Items
        object_type:
          type: string
          title: Object Type
          default: CursorList
      type: object
      required:
        - items
      title: CardListResponse
    CardPinBase:
      properties:
        encrypted_pin:
          type: string
          format: password
          title: Encrypted PIN
          description: 4 digit PIN encrypted by `set_pin` public key
          writeOnly: true
      type: object
      required:
        - encrypted_pin
      title: CardPinBase
    CardPinResponse:
      properties:
        success:
          type: boolean
          title: Success
      type: object
      required:
        - success
      title: CardPinResponse
    CardStatusResponse:
      properties:
        card_id:
          type: string
          format: uuid
          title: Card Id
        status:
          type: string
          enum:
            - OPEN
            - LOCKED
            - CLOSED
            - NOT_ACTIVATED
            - FROZEN
          title: Status
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - card_id
        - status
        - object_type
      title: CardStatusResponse
    CardStatusUpdateEvent:
      properties:
        event_id:
          type: string
          format: uuid
          title: Event Id
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        payload:
          $ref: '#/components/schemas/CardStatusUpdatePayload'
        event_type:
          type: string
          enum:
            - card.status.closed
            - card.status.open
            - card.status.frozen
            - card.status.locked
          title: Event Type
      type: object
      required:
        - event_id
        - timestamp
        - payload
        - event_type
      title: CardStatusUpdateEvent
      example:
        event_id: 6051905d-51e3-4ed7-819c-d1ea135af2dd
        event_type: card.status.locked
        payload:
          card_id: 80d88461-0fa3-44c5-831e-1c92a49a3198
          status: LOCKED
        timestamp: '2026-02-20T15:23:20.401344'
    CardStatusUpdatePayload:
      properties:
        card_id:
          type: string
          format: uuid
          title: Card Id
        status:
          type: string
          enum:
            - OPEN
            - LOCKED
            - CLOSED
            - NOT_ACTIVATED
            - FROZEN
          title: Status
      type: object
      required:
        - card_id
        - status
      title: CardStatusUpdatePayload
    CardSwipe:
      properties:
        card_id:
          type: string
          format: uuid
          title: Card Id
        amount_usdc:
          type: integer
          exclusiveMinimum: 0
          title: Amount Usdc
      type: object
      required:
        - card_id
        - amount_usdc
      title: CardSwipe
    CardTransactionActivity:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: >-
            The ID of the transaction from the perspective of the respective
            pocket
        transaction_id:
          type: string
          format: uuid
          title: Transaction Id
          description: The ID of the transaction this activity is representing
        description:
          type: string
          title: Description
          description: A description of the transaction type, e.g. "ACH Electronic Debit".
        amount:
          $ref: '#/components/schemas/Amount'
        time_booked:
          type: string
          format: date-time
          title: Time Booked
          description: >-
            The time at which the transaction was originally booked into the
            ledger.
        time_settled:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Time Settled
          description: The time at which transaction was settled.
        status:
          type: string
          enum:
            - BOOKED
            - SETTLED
          title: Status
          description: Status of the transactions. Has the transactions been settled
        title:
          type: string
          title: Title
        direction:
          type: string
          enum:
            - DEBIT
            - CREDIT
          title: Direction
        pocket_id:
          type: string
          format: uuid
          title: Pocket Id
          description: The pocket associated with the transaction
        customer_id:
          type: string
          format: uuid
          title: Customer Id
          description: The customer associated with the transaction
        remittance_information:
          anyOf:
            - $ref: '#/components/schemas/RemittanceInformation'
            - type: 'null'
        type:
          const: CARD
          title: Type
        location:
          anyOf:
            - $ref: '#/components/schemas/TransactionLocation'
            - type: 'null'
        counterparty:
          anyOf:
            - type: string
            - type: 'null'
          title: Counterparty
        terminal_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Terminal Id
        merchant_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Merchant Type
        pre_authorization:
          type: boolean
          title: Pre Authorization
        issue_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Issue Id
      type: object
      required:
        - id
        - transaction_id
        - description
        - amount
        - time_booked
        - time_settled
        - status
        - title
        - direction
        - pocket_id
        - customer_id
        - type
        - pre_authorization
      title: CardTransactionActivity
    CardTransactionDetails:
      properties:
        location:
          anyOf:
            - $ref: '#/components/schemas/TransactionLocation'
            - type: 'null'
        counterparty:
          anyOf:
            - type: string
            - type: 'null'
          title: Counterparty
        terminal_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Terminal Id
        merchant_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Merchant Type
        pre_authorization:
          type: boolean
          title: Pre Authorization
        issue_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Issue Id
      type: object
      required:
        - pre_authorization
      title: CardTransactionDetails
    CardTransactionEvent:
      properties:
        event_id:
          type: string
          format: uuid
          title: Event Id
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        payload:
          $ref: '#/components/schemas/CardTransactionPayload'
        event_type:
          type: string
          enum:
            - card.transaction.approved
            - card.transaction.on_hold
            - card.transaction.reversed
            - card.transaction.rejected
          title: Event Type
      type: object
      required:
        - event_id
        - timestamp
        - payload
        - event_type
      title: CardTransactionEvent
    CardTransactionPayload:
      properties:
        card_id:
          type: string
          format: uuid
          title: Card Id
        amount:
          type: integer
          title: Amount
        account_id:
          type: string
          format: uuid
          title: Account Id
      type: object
      required:
        - card_id
        - amount
        - account_id
      title: CardTransactionPayload
    CashBackTransactionDetails:
      properties:
        period:
          type: string
          title: Period
          description: Which period the cash back was calculated for, in YYYY-MM format.
        card_id:
          type: string
          format: uuid
          title: Card Id
      type: object
      required:
        - period
        - card_id
      title: CashBackTransactionDetails
    ChangeCardStatusRequest:
      properties:
        status:
          type: string
          enum:
            - OPEN
            - LOCKED
          title: Status
      type: object
      title: ChangeCardStatusRequest
    CloseCardRequest:
      properties:
        closure_reason:
          type: string
          enum:
            - LOST
            - STOLEN
            - DAMAGED
            - NEVER_RECEIVED
            - EXPIRED
            - CANCELED
          title: Closure Reason
        lost_stolen_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Lost Stolen Date
      type: object
      required:
        - closure_reason
      title: CloseCardRequest
    CloseCustomerAccount:
      properties:
        status:
          const: CLOSED
          title: Status
        closure_reason:
          type: string
          enum:
            - SUSPICIOUS_ACTIVITY
            - USER_INSTIGATED
            - PARTNER_INITIATED_CLOSURE
            - INACTIVITY
          title: Closure Reason
        closure_description:
          anyOf:
            - type: string
              maxLength: 200
            - type: 'null'
          title: Closure Description
      type: object
      required:
        - status
        - closure_reason
      title: CloseCustomerAccount
    Counterparty:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        type:
          type: string
          enum:
            - ACH
            - WIRE
          title: Type
        ach:
          anyOf:
            - $ref: '#/components/schemas/ACHCounterparty'
            - type: 'null'
        wire:
          anyOf:
            - $ref: '#/components/schemas/WireCounterparty'
            - type: 'null'
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - id
        - type
        - object_type
      title: Counterparty
    CounterpartyAddress:
      properties:
        street_address:
          type: string
          maxLength: 250
          title: Street Address
          description: Street address
        street_address2:
          anyOf:
            - type: string
              maxLength: 250
            - type: 'null'
          title: Street Address2
          description: Apartment, Suite, Box number, etc.
        city:
          type: string
          maxLength: 250
          title: City
          description: City / Town
        postal_code:
          type: string
          maxLength: 50
          title: Postal Code
          description: Postal code / ZIP code
        state:
          type: string
          title: State
          description: 'State (Postal Abbreviations. Example: "AL", "NJ", "OH")'
        country:
          type: string
          title: Country
          description: 'A ISO-3166 Alpha-2 country code (Abbreviated. Example: "US")'
      type: object
      required:
        - street_address
        - city
        - postal_code
        - state
        - country
      title: CounterpartyAddress
    CounterpartyListResponseV2:
      properties:
        prev_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Prev Page
        next_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Next Page
        items:
          items:
            oneOf:
              - $ref: '#/components/schemas/ACHCounterpartyV2'
              - $ref: '#/components/schemas/WireCounterpartyV2'
              - $ref: '#/components/schemas/OnUsCounterpartyV2'
              - $ref: '#/components/schemas/InternationalWireCounterpartyV2'
              - $ref: '#/components/schemas/CryptoWalletAddressCounterpartyV2'
            discriminator:
              propertyName: type
              mapping:
                ach: '#/components/schemas/ACHCounterpartyV2'
                crypto_wallet_address: '#/components/schemas/CryptoWalletAddressCounterpartyV2'
                international_wire: '#/components/schemas/InternationalWireCounterpartyV2'
                on_us: '#/components/schemas/OnUsCounterpartyV2'
                wire: '#/components/schemas/WireCounterpartyV2'
          type: array
          title: Items
        object_type:
          type: string
          title: Object Type
          default: CursorList
      type: object
      required:
        - items
      title: CounterpartyListResponseV2
    CounterpartyMicroDeposits:
      properties:
        verification_failure_count:
          type: integer
          title: Verification Failure Count
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - verification_failure_count
        - object_type
      title: CounterpartyMicroDeposits
    CounterpartyPlaid:
      properties:
        mask:
          type: string
          title: Mask
        verification_status:
          anyOf:
            - type: string
              enum:
                - PENDING_AUTOMATIC_VERIFICATION
                - PENDING_MANUAL_VERIFICATION
                - AUTOMATICALLY_VERIFIED
                - MANUALLY_VERIFIED
                - VERIFICATION_EXPIRED
                - VERIFICATION_FAILED
            - type: 'null'
          title: Verification Status
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - mask
        - verification_status
        - object_type
      title: CounterpartyPlaid
    CounterpartyStatusUpdateEvent:
      properties:
        event_id:
          type: string
          format: uuid
          title: Event Id
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        payload:
          $ref: '#/components/schemas/CounterpartyStatusUpdatePayload'
        event_type:
          type: string
          enum:
            - counterparty.status.linked
            - counterparty.status.unlinked
            - counterparty.status.failed
          title: Event Type
      type: object
      required:
        - event_id
        - timestamp
        - payload
        - event_type
      title: CounterpartyStatusUpdateEvent
    CounterpartyStatusUpdatePayload:
      properties:
        counterparty_id:
          type: string
          format: uuid
          title: Counterparty Id
        customer_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Customer Id
      type: object
      required:
        - counterparty_id
      title: CounterpartyStatusUpdatePayload
    Country:
      type: string
      enum:
        - USA
        - US
      title: Country
    CreateACHCounterpartyRequest:
      properties:
        routing_number:
          type: string
          title: Routing Number
        account_number:
          type: string
          title: Account Number
        account_type:
          type: string
          enum:
            - CHECKING
            - SAVINGS
          title: Account Type
          description: Account type
        counterparty_name:
          type: string
          title: Counterparty Name
        verification:
          oneOf:
            - $ref: '#/components/schemas/CreatePreVerifiedVerification'
          title: Verification
          discriminator:
            propertyName: type
            mapping:
              pre_verified: '#/components/schemas/CreatePreVerifiedVerification'
        type:
          const: ach
          title: Type
      type: object
      required:
        - routing_number
        - account_number
        - account_type
        - counterparty_name
        - verification
        - type
      title: CreateACHCounterpartyRequest
    CreateCryptoWalletAddressCounterpartyRequest:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        chain:
          type: string
          title: Chain
          description: '`ETH` is supported at this time.'
        wallet_address:
          type: string
          title: Wallet Address
        counterparty_name:
          type: string
          title: Counterparty Name
        type:
          const: crypto_wallet_address
          title: Type
      type: object
      required:
        - id
        - chain
        - wallet_address
        - counterparty_name
        - type
      title: CreateCryptoWalletAddressCounterpartyRequest
    CreateIncomingWireVerification:
      properties:
        type:
          const: incoming_wire
          title: Type
        wire_id:
          type: string
          format: uuid
          title: Wire Id
      type: object
      required:
        - type
        - wire_id
      title: CreateIncomingWireVerification
    CreateIndividualIdentificationNumber:
      properties:
        identification_number:
          type: string
          title: Identification Number
        issuing_country:
          anyOf:
            - type: string
            - type: 'null'
          title: Issuing Country
          description: 'A ISO-3166 Alpha-2 country code (Abbreviated. Example: "US")'
        identification_type:
          type: string
          enum:
            - SSN
            - PASSPORT
          title: Identification Type
      type: object
      required:
        - identification_number
        - identification_type
      title: CreateIndividualIdentificationNumber
    CreateInternationalWireCounterpartyRequest:
      properties:
        wire_instructions:
          anyOf:
            - type: string
              maxLength: 140
            - type: 'null'
          title: Wire Instructions
          description: >-
            Any additional wire instructions required for the wire to be
            processed correctly.
        counterparty_name:
          oneOf:
            - $ref: '#/components/schemas/IndividualName'
            - $ref: '#/components/schemas/BusinessName'
          title: Counterparty name
          discriminator:
            propertyName: type
            mapping:
              business: '#/components/schemas/BusinessName'
              individual: '#/components/schemas/IndividualName'
        address:
          $ref: '#/components/schemas/CounterpartyAddress'
        identifier:
          type: string
          title: Identifier
          description: Bank Account Number
        swift_bic:
          type: string
          maxLength: 11
          minLength: 8
          pattern: ^[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$
          title: Swift Bic
        verification:
          oneOf:
            - $ref: '#/components/schemas/CreateUnverifiedVerification'
          title: Verification
          discriminator:
            propertyName: type
            mapping:
              unverified: '#/components/schemas/CreateUnverifiedVerification'
        type:
          const: international_wire
          title: Type
      type: object
      required:
        - counterparty_name
        - address
        - identifier
        - swift_bic
        - verification
        - type
      title: CreateInternationalWireCounterpartyRequest
    CreateNameMatchVerification:
      properties:
        type:
          const: name_match
          title: Type
        legal_name:
          type: string
          title: Legal Name
      type: object
      required:
        - type
        - legal_name
      title: CreateNameMatchVerification
    CreateOnUsCounterpartyRequest:
      properties:
        account_number:
          type: string
          title: Account Number
          description: Represents the Jiko network address of the pocket.
        verification:
          oneOf:
            - $ref: '#/components/schemas/CreateNameMatchVerification'
          title: Verification
          discriminator:
            propertyName: type
            mapping:
              name_match: '#/components/schemas/CreateNameMatchVerification'
        type:
          const: on_us
          title: Type
        display_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Display Name
      type: object
      required:
        - account_number
        - verification
        - type
      title: CreateOnUsCounterpartyRequest
    CreatePocketConfigurationId:
      type: string
      enum:
        - UST-52W
        - UST-26W
        - UST-13W
        - UST-4W
        - UST-1W
      title: CreatePocketConfigurationId
    CreatePocketRequest:
      properties:
        pocket_name:
          type: string
          maxLength: 100
          title: Pocket Name
          description: Pocket name
        deposit_strategy_id:
          allOf:
            - $ref: '#/components/schemas/CreatePocketConfigurationId'
          description: 'Pocket deposit trading strategy ID (Example: UST-4W)'
        reinvestment_strategy_id:
          anyOf:
            - $ref: '#/components/schemas/CreatePocketConfigurationId'
            - type: 'null'
          description: 'Pocket reinvestment trading strategy ID (Example: UST-4W)'
      type: object
      required:
        - pocket_name
        - deposit_strategy_id
      title: CreatePocketRequest
    CreatePreVerifiedVerification:
      properties:
        type:
          const: pre_verified
          title: Type
        verification_method:
          type: string
          enum:
            - PLAID
            - MICRO_DEPOSIT
          title: Verification Method
          description: Underlying verification method
      type: object
      required:
        - type
        - verification_method
      title: CreatePreVerifiedVerification
    CreateReportRequest:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        report:
          anyOf:
            - $ref: '#/components/schemas/BankStatementReport'
            - $ref: '#/components/schemas/TradeReport'
            - $ref: '#/components/schemas/SecurityPriceReport'
            - $ref: '#/components/schemas/BrokerageStatementReport'
            - $ref: '#/components/schemas/PositionSummaryReport'
          title: Report
        output_formats:
          anyOf:
            - items:
                type: string
              type: array
              maxItems: 20
              minItems: 1
            - type: 'null'
          title: Output Formats
          description: >-
            If specified, renders only the specified formats. If not specified,
            renders all the available formats for the given report. The
            available formats differ depending on the report being requested.
            For a description of what formats are available per report, please
            refer to the Create Report Request endpoint description.
      type: object
      required:
        - id
        - report
      title: CreateReportRequest
    CreateSubscriptionRequest:
      properties:
        description:
          type: string
          title: Description
          description: A description of the webhook's intended use.
          default: ''
        events:
          items:
            type: string
          type: array
          minItems: 1
          title: Events
          description: Which types of events this webhook should be invoked for.
        url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          title: Url
          description: The webhook URL to invoke.
        retry_policy:
          anyOf:
            - $ref: '#/components/schemas/RetryPolicy'
            - type: 'null'
          description: >-
            The retry policy to use if Jiko encounters HTTP errors when calling
            subscription URLs.
        shared_secret:
          type: string
          minLength: 16
          title: Shared Secret
          description: >-
            The shared secret used by the Partner API to sign requests made to
            the webhook. The shared secret needs to be minimum 16 characters
            long.
      type: object
      required:
        - events
        - url
        - shared_secret
      title: CreateSubscriptionRequest
    CreateSupportingDocumentsVerification:
      properties:
        type:
          const: supporting_documents
          title: Type
        document_ids:
          items:
            type: string
            format: uuid
          type: array
          minItems: 1
          title: Document Ids
      type: object
      required:
        - type
        - document_ids
      title: CreateSupportingDocumentsVerification
    CreateUnverifiedVerification:
      properties:
        type:
          const: unverified
          title: Type
      type: object
      required:
        - type
      title: CreateUnverifiedVerification
    CreateWireCounterpartyRequest:
      properties:
        routing_number:
          type: string
          title: Routing Number
        identifier:
          type: string
          title: Identifier
          description: Bank Account Number
        identifier_code:
          type: string
          enum:
            - SWIFT_BIC
            - CHIPS_PARTICIPANT
            - DIRECT_DEPOSIT_ACCOUNT
            - FED_ROUTING_NUMBER
            - SWIFT_ID_AND_ACCOUNT_NUMBER
            - CHIPS_IDENTIFIER
            - PASSPORT_NUMBER
            - TAX_IDENTIFICATION_NUMBER
            - DRIVERS_LICENSE_NUMBER
            - ALIEN_REGISTRATION_NUMBER
            - CORPORATE_IDENTIFICATION
            - OTHER_IDENTIFICATION
          title: Identifier Code
          description: >-
            The code describing the identifier for the counterparty at the
            counterparty institution.
        address:
          $ref: '#/components/schemas/CounterpartyAddress'
        wire_instructions:
          anyOf:
            - type: string
              maxLength: 140
            - type: 'null'
          title: Wire Instructions
          description: >-
            Any additional wire instructions required for the wire to be
            processed correctly.
        counterparty_name:
          oneOf:
            - $ref: '#/components/schemas/IndividualName'
            - $ref: '#/components/schemas/BusinessName'
          title: Counterparty name
          discriminator:
            propertyName: type
            mapping:
              business: '#/components/schemas/BusinessName'
              individual: '#/components/schemas/IndividualName'
        verification:
          oneOf:
            - $ref: '#/components/schemas/CreateSupportingDocumentsVerification'
            - $ref: '#/components/schemas/CreateIncomingWireVerification'
            - $ref: '#/components/schemas/CreatePreVerifiedVerification'
            - $ref: '#/components/schemas/CreateUnverifiedVerification'
          title: Verification
          discriminator:
            propertyName: type
            mapping:
              incoming_wire: '#/components/schemas/CreateIncomingWireVerification'
              pre_verified: '#/components/schemas/CreatePreVerifiedVerification'
              supporting_documents: '#/components/schemas/CreateSupportingDocumentsVerification'
              unverified: '#/components/schemas/CreateUnverifiedVerification'
        type:
          const: wire
          title: Type
      type: object
      required:
        - routing_number
        - identifier
        - identifier_code
        - address
        - counterparty_name
        - verification
        - type
      title: CreateWireCounterpartyRequest
    CreditTransactionActivity:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: >-
            The ID of the transaction from the perspective of the respective
            pocket
        transaction_id:
          type: string
          format: uuid
          title: Transaction Id
          description: The ID of the transaction this activity is representing
        description:
          type: string
          title: Description
          description: A description of the transaction type, e.g. "ACH Electronic Debit".
        amount:
          $ref: '#/components/schemas/Amount'
        time_booked:
          type: string
          format: date-time
          title: Time Booked
          description: >-
            The time at which the transaction was originally booked into the
            ledger.
        time_settled:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Time Settled
          description: The time at which transaction was settled.
        status:
          type: string
          enum:
            - BOOKED
            - SETTLED
          title: Status
          description: Status of the transactions. Has the transactions been settled
        title:
          type: string
          title: Title
        direction:
          type: string
          enum:
            - DEBIT
            - CREDIT
          title: Direction
        pocket_id:
          type: string
          format: uuid
          title: Pocket Id
          description: The pocket associated with the transaction
        customer_id:
          type: string
          format: uuid
          title: Customer Id
          description: The customer associated with the transaction
        remittance_information:
          anyOf:
            - $ref: '#/components/schemas/RemittanceInformation'
            - type: 'null'
        type:
          const: CREDIT
          title: Type
        period:
          anyOf:
            - type: string
            - type: 'null'
          title: Period
          description: Set if cash back for a certain card period.
        card_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Card Id
          description: The ID of the card related to the credit.
      type: object
      required:
        - id
        - transaction_id
        - description
        - amount
        - time_booked
        - time_settled
        - status
        - title
        - direction
        - pocket_id
        - customer_id
        - type
      title: CreditTransactionActivity
    CryptoWalletAddressCounterpartyV2:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        time_created:
          type: string
          format: date-time
          title: Time Created
        status:
          type: string
          enum:
            - PENDING
            - FAILED
            - LINKED
            - UNLINKED
            - CLOSED
          title: Status
        verification:
          oneOf:
            - $ref: '#/components/schemas/SupportingDocumentsVerification'
            - $ref: '#/components/schemas/IncomingWireVerification'
            - $ref: '#/components/schemas/PreVerifiedVerification'
            - $ref: '#/components/schemas/PlaidVerification'
            - $ref: '#/components/schemas/MicroDepositsVerification'
            - $ref: '#/components/schemas/NameMatchVerification'
            - $ref: '#/components/schemas/UnverifiedVerification'
          title: Verification
          discriminator:
            propertyName: type
            mapping:
              incoming_wire: '#/components/schemas/IncomingWireVerification'
              micro_deposits: '#/components/schemas/MicroDepositsVerification'
              name_match: '#/components/schemas/NameMatchVerification'
              plaid: '#/components/schemas/PlaidVerification'
              pre_verified: '#/components/schemas/PreVerifiedVerification'
              supporting_documents: '#/components/schemas/SupportingDocumentsVerification'
              unverified: '#/components/schemas/UnverifiedVerification'
        counterparty_name:
          type: string
          title: Counterparty Name
        type:
          const: crypto_wallet_address
          title: Type
        wallet_address:
          type: string
          title: Wallet Address
        chain:
          type: string
          title: Chain
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - id
        - time_created
        - status
        - verification
        - counterparty_name
        - type
        - wallet_address
        - chain
        - object_type
      title: Crypto wallet address Counterparty
    CursorListResponse_ACHResponse_:
      properties:
        prev_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Prev Page
        next_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Next Page
        items:
          items:
            $ref: '#/components/schemas/ACHResponse'
          type: array
          title: Items
        object_type:
          type: string
          title: Object Type
          default: CursorList
      type: object
      required:
        - items
      title: CursorListResponse[ACHResponse]
    CursorListResponse_Annotated_Union_ACHTransactionActivity__WireTransactionActivity__CardTransactionActivity__OnUsTransactionActivity__FeeTransactionActivity__CreditTransactionActivity__GenericTransactionActivity___FieldInfo_annotation_NoneType__required_True__discriminator__type____:
      properties:
        prev_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Prev Page
        next_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Next Page
        items:
          items:
            anyOf:
              - $ref: '#/components/schemas/ACHTransactionActivity'
              - $ref: '#/components/schemas/WireTransactionActivity'
              - $ref: '#/components/schemas/CardTransactionActivity'
              - $ref: '#/components/schemas/OnUsTransactionActivity'
              - $ref: '#/components/schemas/FeeTransactionActivity'
              - $ref: '#/components/schemas/CreditTransactionActivity'
              - $ref: '#/components/schemas/GenericTransactionActivity'
          type: array
          title: Items
        object_type:
          type: string
          title: Object Type
          default: CursorList
      type: object
      required:
        - items
      title: >-
        CursorListResponse[Annotated[Union[ACHTransactionActivity,
        WireTransactionActivity, CardTransactionActivity,
        OnUsTransactionActivity, FeeTransactionActivity,
        CreditTransactionActivity, GenericTransactionActivity],
        FieldInfo(annotation=NoneType, required=True, discriminator='type')]]
    CursorListResponse_PartnerEvent_:
      properties:
        prev_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Prev Page
        next_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Next Page
        items:
          items:
            $ref: '#/components/schemas/PartnerEvent'
          type: array
          title: Items
        object_type:
          type: string
          title: Object Type
          default: CursorList
      type: object
      required:
        - items
      title: CursorListResponse[PartnerEvent]
    CursorListResponse_ReportRequest_:
      properties:
        prev_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Prev Page
        next_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Next Page
        items:
          items:
            $ref: '#/components/schemas/ReportRequest'
          type: array
          title: Items
        object_type:
          type: string
          title: Object Type
          default: CursorList
      type: object
      required:
        - items
      title: CursorListResponse[ReportRequest]
    CursorListResponse_Subscription_:
      properties:
        prev_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Prev Page
        next_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Next Page
        items:
          items:
            $ref: '#/components/schemas/Subscription'
          type: array
          title: Items
        object_type:
          type: string
          title: Object Type
          default: CursorList
      type: object
      required:
        - items
      title: CursorListResponse[Subscription]
    Customer:
      oneOf:
        - $ref: '#/components/schemas/Individual'
        - $ref: '#/components/schemas/Business'
      title: Customer
      discriminator:
        propertyName: type
        mapping:
          BUSINESS: '#/components/schemas/Business'
          INDIVIDUAL: '#/components/schemas/Individual'
    CustomerDefundingTransferRequest:
      properties:
        transfer_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Transfer Id
          description: The ID for this transfer, auto-generated if not provided.
        description:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
          title: Description
          description: A description of the transfer, visible on statements.
        end_to_end_identification:
          anyOf:
            - type: string
              maxLength: 35
            - type: 'null'
          title: End To End Identification
          description: >-
            Unique identification assigned by the initiating party to
            unambiguously identify the transaction. This identification is
            passed on, unchanged, throughout the entire end-to-end chain.
        from_account:
          $ref: '#/components/schemas/OnUsJikoAccountCounterparty'
        to_account:
          $ref: '#/components/schemas/OnUsJikoAccountCounterparty'
        type:
          const: PARTNER_CUSTOMER_DEFUNDING
          title: Type
          description: Withdraw funds from customer to partner.
        target:
          type: string
          maxLength: 200
          title: Target
          description: >-
            The funds destination belonging to the customer at the Partner
            institution.
        amount_usdc:
          anyOf:
            - type: integer
              exclusiveMinimum: 0
            - type: 'null'
          title: Amount USDC
          description: The amount, in USD cents. **Deprecated**, use `amount` instead.
          deprecated: true
        amount:
          anyOf:
            - oneOf:
                - $ref: '#/components/schemas/RequestedAmount'
                - $ref: '#/components/schemas/FullWithdrawal'
              discriminator:
                propertyName: type
                mapping:
                  FULL_WITHDRAWAL: '#/components/schemas/FullWithdrawal'
                  REQUESTED_AMOUNT: '#/components/schemas/RequestedAmount'
            - type: 'null'
          title: Amount
        async_mode:
          type: boolean
          title: Async Mode
          description: >-
            **Using asynchronous processing is strongly recommended.** Status
            updates will be delivered via Webhooks.
          default: false
      type: object
      required:
        - from_account
        - to_account
        - type
        - target
      title: Partner-Customer Defunding
      example:
        amount:
          type: FULL_WITHDRAWAL
        description: Withdrawing funds from customer to partner
        from_account:
          id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
          type: JIKO_ACCOUNT
        target: '123456789'
        to_account:
          id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
          type: JIKO_ACCOUNT
        transfer_id: d64e7b7e-7fd2-44a4-8bfd-68a31252afaa
        type: PARTNER_CUSTOMER_DEFUNDING
    CustomerDefundingTransferResponse:
      properties:
        transfer_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Transfer Id
          description: The ID for this transfer, auto-generated if not provided.
        description:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
          title: Description
          description: A description of the transfer, visible on statements.
        end_to_end_identification:
          anyOf:
            - type: string
              maxLength: 35
            - type: 'null'
          title: End To End Identification
          description: >-
            Unique identification assigned by the initiating party to
            unambiguously identify the transaction. This identification is
            passed on, unchanged, throughout the entire end-to-end chain.
        from_account:
          $ref: '#/components/schemas/OnUsJikoAccountCounterparty'
        to_account:
          $ref: '#/components/schemas/OnUsJikoAccountCounterparty'
        type:
          const: PARTNER_CUSTOMER_DEFUNDING
          title: Type
        target:
          type: string
          maxLength: 200
          title: Target
          description: >-
            The funds destination belonging to the customer at the Partner
            institution.
        amount:
          $ref: '#/components/schemas/Amount'
      type: object
      required:
        - from_account
        - to_account
        - type
        - target
        - amount
      title: Partner-Customer Defunding
      example:
        amount:
          type: FULL_WITHDRAWAL
        description: Withdrawing funds from customer to partner
        from_account:
          id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
          type: JIKO_ACCOUNT
        target: '123456789'
        to_account:
          id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
          type: JIKO_ACCOUNT
        transfer_id: d64e7b7e-7fd2-44a4-8bfd-68a31252afaa
        type: PARTNER_CUSTOMER_DEFUNDING
    CustomerFundingTransferRequest:
      properties:
        transfer_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Transfer Id
          description: The ID for this transfer, auto-generated if not provided.
        description:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
          title: Description
          description: A description of the transfer, visible on statements.
        end_to_end_identification:
          anyOf:
            - type: string
              maxLength: 35
            - type: 'null'
          title: End To End Identification
          description: >-
            Unique identification assigned by the initiating party to
            unambiguously identify the transaction. This identification is
            passed on, unchanged, throughout the entire end-to-end chain.
        from_account:
          $ref: '#/components/schemas/OnUsJikoAccountCounterparty'
        to_account:
          $ref: '#/components/schemas/OnUsJikoAccountCounterparty'
        type:
          const: PARTNER_CUSTOMER_FUNDING
          title: Type
          description: Disburse funds from partner to customer.
        source:
          type: string
          maxLength: 200
          title: Source
          description: The source of customer funds at the Partner institution.
        amount_usdc:
          anyOf:
            - type: integer
              exclusiveMinimum: 0
            - type: 'null'
          title: Amount USDC
          description: The amount, in USD cents. **Deprecated**, use `amount` instead.
          deprecated: true
        amount:
          anyOf:
            - $ref: '#/components/schemas/RequestedAmount'
            - type: 'null'
        async_mode:
          type: boolean
          title: Async Mode
          description: >-
            **Using asynchronous processing is strongly recommended.** Status
            updates will be delivered via Webhooks.
          default: false
      type: object
      required:
        - from_account
        - to_account
        - type
        - source
      title: Partner-Customer Funding
      example:
        amount:
          amount_usdc: 100000
          type: REQUESTED_AMOUNT
        description: Disbursing funds from partner to customer
        from_account:
          id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
          type: JIKO_ACCOUNT
        source: '123456789'
        to_account:
          id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
          type: JIKO_ACCOUNT
        transfer_id: d4a2d8dd-7def-4545-a062-761683b9aa05
        type: PARTNER_CUSTOMER_FUNDING
    CustomerFundingTransferResponse:
      properties:
        transfer_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Transfer Id
          description: The ID for this transfer, auto-generated if not provided.
        description:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
          title: Description
          description: A description of the transfer, visible on statements.
        end_to_end_identification:
          anyOf:
            - type: string
              maxLength: 35
            - type: 'null'
          title: End To End Identification
          description: >-
            Unique identification assigned by the initiating party to
            unambiguously identify the transaction. This identification is
            passed on, unchanged, throughout the entire end-to-end chain.
        from_account:
          $ref: '#/components/schemas/OnUsJikoAccountCounterparty'
        to_account:
          $ref: '#/components/schemas/OnUsJikoAccountCounterparty'
        type:
          const: PARTNER_CUSTOMER_FUNDING
          title: Type
        source:
          type: string
          maxLength: 200
          title: Source
          description: The source of customer funds at the Partner institution.
        amount:
          $ref: '#/components/schemas/Amount'
      type: object
      required:
        - from_account
        - to_account
        - type
        - source
        - amount
      title: Partner-Customer Funding
      example:
        amount:
          amount_usdc: 100000
          type: REQUESTED_AMOUNT
        description: Disbursing funds from partner to customer
        from_account:
          id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
          type: JIKO_ACCOUNT
        source: '123456789'
        to_account:
          id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
          type: JIKO_ACCOUNT
        transfer_id: d4a2d8dd-7def-4545-a062-761683b9aa05
        type: PARTNER_CUSTOMER_FUNDING
    CustomerPocket:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: ID of the pocket
        pocket_name:
          type: string
          title: Pocket Name
          description: Pocket name
        portfolio:
          anyOf:
            - $ref: >-
                #/components/schemas/partner_api__interface__models__v2__pockets__Portfolio
            - type: 'null'
          description: Total liquid cash and holdings
        status:
          type: string
          enum:
            - PENDING
            - OPEN
            - FROZEN
            - CLOSED
          title: Status
          description: Pocket status
        attributes:
          items:
            type: string
          type: array
          title: Attributes
        deposit_strategy_id:
          type: string
          title: Deposit Strategy Id
          description: 'Pocket deposit trading strategy ID (Example: UST-4W)'
        reinvestment_strategy_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Reinvestment Strategy Id
          description: 'Pocket reinvestment trading strategy ID (Example: UST-4W)'
        customer_id:
          type: string
          format: uuid
          title: Customer Id
          description: The ID of the customer this pocket belongs to
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - id
        - pocket_name
        - status
        - deposit_strategy_id
        - reinvestment_strategy_id
        - customer_id
        - object_type
      title: CustomerPocket
    CustomerPocketsResponse:
      properties:
        prev_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Prev Page
        next_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Next Page
        items:
          items:
            $ref: '#/components/schemas/CustomerPocket'
          type: array
          title: Items
        object_type:
          type: string
          title: Object Type
          default: CursorList
      type: object
      required:
        - items
      title: CustomerPocketsResponse
    DateOfBirth:
      properties:
        date_of_birth:
          type: string
          format: date
          title: Date Of Birth
      type: object
      required:
        - date_of_birth
      title: DateOfBirth
    Decimal:
      type: string
      title: Decimal
    DeliveryAttemptDetails:
      properties:
        delivery_attempt_id:
          type: string
          format: uuid
          title: Delivery Attempt Id
        subscription_id:
          type: string
          format: uuid
          title: Subscription Id
        success:
          type: boolean
          title: Success
        response_code:
          type: integer
          title: Response Code
        response_message:
          anyOf:
            - type: string
            - type: 'null'
          title: Response Message
        called_at:
          type: string
          format: date-time
          title: Called At
      type: object
      required:
        - delivery_attempt_id
        - subscription_id
        - success
        - response_code
        - response_message
        - called_at
      title: DeliveryAttemptDetails
    Document:
      properties:
        id:
          type: string
          title: Id
        type:
          type: string
          enum:
            - ID_FRONT
            - ID_BACK
            - ID_BARCODE
            - SELFIE
            - IDENTIFICATION_NUMBER_VERIFICATION
            - ADDRESS_VERIFICATION
            - PASSPORT
            - EIN_CONFIRMATION
            - OPERATING_AGREEMENT
            - PARTNERSHIP_AGREEMENT
            - ARTICLES_OF_INCORPORATION
            - BYLAWS
            - PROOF_OF_501_STATUS
            - ARTICLES_OF_ASSOCIATION
            - CORPORATE_CHARTER
            - TRUST_FORMATION_RECORDS
            - LIST_OF_TRUSTEES
            - LEGAL_ANALYSIS_OF_BUSINESS_MODEL
            - COINS_AND_TOKENS_LISTED_AND_OFFERED
            - COIN_RATING_POLICY_AND_PROCEDURES
            - TYPE_OF_BLOCKCHAIN_ANALYTICS_USED
            - MARKET_MANIPULATION_POLICY
            - BSA_AML_OFAC_POLICIES
            - INDEPENDENT_AML_AUDIT_REPORT
            - BSA_AML_OFAC_INTERNAL_RISK_ASSESSMENT
            - ARTICLES_OF_ORGANIZATION
            - FLOW_OF_FUNDS
            - BANK_STATEMENTS_1
            - BANK_STATEMENTS_2
            - BANK_STATEMENTS_3
            - ORG_CHART
            - BUSINESS_DESCRIPTION
            - CERTIFICATE_OF_GOOD_STANDING
            - CERTIFICATE_OF_TRADE_NAME
            - COMPANY_RESOLUTION
            - SIGNATURE_AUTHORIZATION
            - BANK_STATEMENT
            - BUSINESS_LICENSE
            - CERTIFICATE_OF_EXISTENCE
            - CERTIFICATE_OF_ASSUMED_NAME
            - COMPANY_REGISTRATION_DOCUMENT
            - INTERNAL_KYC_AUDIT
            - EXTERNAL_KYC_AUDIT
            - KYC_POLICIES_AND_PROCEDURES
            - WIRE_COUNTERPARTY_VERIFICATION
            - OTHER
          title: Type
        status:
          type: string
          enum:
            - PENDING_UPLOAD
            - PENDING_REVIEW
            - APPROVED
            - INVALID
          title: Status
        exception_reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Exception Reason
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
      type: object
      required:
        - id
        - type
        - status
      title: Document
    EarningsResponse:
      properties:
        earnings:
          $ref: '#/components/schemas/Amount'
        date_from:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Date From
        date_to:
          type: string
          format: date
          title: Date To
      type: object
      required:
        - earnings
        - date_from
        - date_to
      title: EarningsResponse
    EmployedInvestmentProfile:
      properties:
        income:
          type: string
          enum:
            - BELOW_50K
            - BETWEEN_50K_AND_100K
            - BETWEEN_100K_AND_250K
            - OVER_250K
          title: Income
          description: Applicant's estimated annual income in USD.
        net_worth:
          type: string
          enum:
            - BELOW_50K
            - BETWEEN_50K_AND_200K
            - BETWEEN_200K_AND_1M
            - BETWEEN_1M_AND_5M
            - OVER_5M
          title: Net Worth
          description: Applicant's estimated average personal net worth in USD.
        bd_association:
          anyOf:
            - type: string
              maxLength: 200
            - type: 'null'
          title: Bd Association
          description: >-
            Name of broker-dealer association or employment. Disclosure is
            required by law if applicable, else, leave empty
        director_policy_maker_of_company:
          anyOf:
            - type: string
              maxLength: 200
            - type: 'null'
          title: Director Policy Maker Of Company
          description: >-
            Name of company where customer is director or policy maker.
            Disclosure is required by law if applicable, otherwise, leave empty
        occupation:
          type: string
          maxLength: 200
          minLength: 2
          title: Occupation
          description: >-
            Applicant's occupation. Needs to be filled out if employment status
            is Employed.
        employment_status:
          const: EMPLOYED
          title: Employment Status
      type: object
      required:
        - income
        - net_worth
        - occupation
        - employment_status
      title: EmployedInvestmentProfile
    EncryptionKeysResponse:
      properties:
        set_pin:
          type: string
          title: Set Pin
          default: ''
      additionalProperties: false
      type: object
      title: EncryptionKeysResponse
      description: |-
        Encryption keys are currently stored as environment variables.

        Variables are declared in
        `services/partner-api/secret-(dev|staging|sandbox|partners).yaml`
    ErrorResponseModel:
      properties:
        type:
          type: string
          title: Type
        instance:
          type: string
          title: Instance
        detail:
          type: string
          title: Detail
        trace_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Trace Id
      type: object
      required:
        - type
        - instance
        - detail
      title: ErrorResponseModel
    EventDetails-Input:
      oneOf:
        - $ref: '#/components/schemas/ApplicationUpdateEvent'
        - $ref: '#/components/schemas/CardStatusUpdateEvent'
        - $ref: '#/components/schemas/ACHIncomingEvent'
        - $ref: '#/components/schemas/ACHOutgoingEvent'
        - $ref: '#/components/schemas/CardTransactionEvent'
        - $ref: '#/components/schemas/OutgoingWireEvent'
        - $ref: '#/components/schemas/OnUsTransferEvent'
        - $ref: '#/components/schemas/OnUsTransferReceivedEvent'
        - $ref: '#/components/schemas/TradableMaturityEvent'
        - $ref: '#/components/schemas/ReportEvent'
        - $ref: '#/components/schemas/CounterpartyStatusUpdateEvent'
        - $ref: '#/components/schemas/IncomingWireEvent'
      title: EventDetails
      discriminator:
        propertyName: event_type
        mapping:
          application.approved: '#/components/schemas/ApplicationUpdateEvent'
          application.documents_needed: '#/components/schemas/ApplicationUpdateEvent'
          application.manual_review: '#/components/schemas/ApplicationUpdateEvent'
          application.rejected: '#/components/schemas/ApplicationUpdateEvent'
          card.status.closed: '#/components/schemas/CardStatusUpdateEvent'
          card.status.frozen: '#/components/schemas/CardStatusUpdateEvent'
          card.status.locked: '#/components/schemas/CardStatusUpdateEvent'
          card.status.open: '#/components/schemas/CardStatusUpdateEvent'
          card.transaction.approved: '#/components/schemas/CardTransactionEvent'
          card.transaction.on_hold: '#/components/schemas/CardTransactionEvent'
          card.transaction.rejected: '#/components/schemas/CardTransactionEvent'
          card.transaction.reversed: '#/components/schemas/CardTransactionEvent'
          counterparty.status.failed: '#/components/schemas/CounterpartyStatusUpdateEvent'
          counterparty.status.linked: '#/components/schemas/CounterpartyStatusUpdateEvent'
          counterparty.status.unlinked: '#/components/schemas/CounterpartyStatusUpdateEvent'
          report.status.available: '#/components/schemas/ReportEvent'
          report.status.failed: '#/components/schemas/ReportEvent'
          report.status.pending: '#/components/schemas/ReportEvent'
          tradable.maturity: '#/components/schemas/TradableMaturityEvent'
          transfers.ach.in.rejected: '#/components/schemas/ACHIncomingEvent'
          transfers.ach.in.success: '#/components/schemas/ACHIncomingEvent'
          transfers.ach.out.rejected: '#/components/schemas/ACHOutgoingEvent'
          transfers.ach.out.sent: '#/components/schemas/ACHOutgoingEvent'
          transfers.ach.out.success: '#/components/schemas/ACHOutgoingEvent'
          transfers.on-us.processing: '#/components/schemas/OnUsTransferEvent'
          transfers.on-us.received: '#/components/schemas/OnUsTransferReceivedEvent'
          transfers.on-us.rejected: '#/components/schemas/OnUsTransferEvent'
          transfers.on-us.success: '#/components/schemas/OnUsTransferEvent'
          transfers.wire.in.rejected: '#/components/schemas/IncomingWireEvent'
          transfers.wire.in.success: '#/components/schemas/IncomingWireEvent'
          transfers.wire.out.processing: '#/components/schemas/OutgoingWireEvent'
          transfers.wire.out.rejected: '#/components/schemas/OutgoingWireEvent'
          transfers.wire.out.success: '#/components/schemas/OutgoingWireEvent'
    EventDetails-Output:
      oneOf:
        - $ref: '#/components/schemas/ApplicationUpdateEvent'
        - $ref: '#/components/schemas/CardStatusUpdateEvent'
        - $ref: '#/components/schemas/ACHIncomingEvent'
        - $ref: '#/components/schemas/ACHOutgoingEvent'
        - $ref: '#/components/schemas/CardTransactionEvent'
        - $ref: '#/components/schemas/OutgoingWireEvent'
        - $ref: '#/components/schemas/OnUsTransferEvent'
        - $ref: '#/components/schemas/OnUsTransferReceivedEvent'
        - $ref: '#/components/schemas/TradableMaturityEvent'
        - $ref: '#/components/schemas/ReportEvent'
        - $ref: '#/components/schemas/CounterpartyStatusUpdateEvent'
        - $ref: '#/components/schemas/IncomingWireEvent'
      title: EventDetails
      discriminator:
        propertyName: event_type
        mapping:
          application.approved: '#/components/schemas/ApplicationUpdateEvent'
          application.documents_needed: '#/components/schemas/ApplicationUpdateEvent'
          application.manual_review: '#/components/schemas/ApplicationUpdateEvent'
          application.rejected: '#/components/schemas/ApplicationUpdateEvent'
          card.status.closed: '#/components/schemas/CardStatusUpdateEvent'
          card.status.frozen: '#/components/schemas/CardStatusUpdateEvent'
          card.status.locked: '#/components/schemas/CardStatusUpdateEvent'
          card.status.open: '#/components/schemas/CardStatusUpdateEvent'
          card.transaction.approved: '#/components/schemas/CardTransactionEvent'
          card.transaction.on_hold: '#/components/schemas/CardTransactionEvent'
          card.transaction.rejected: '#/components/schemas/CardTransactionEvent'
          card.transaction.reversed: '#/components/schemas/CardTransactionEvent'
          counterparty.status.failed: '#/components/schemas/CounterpartyStatusUpdateEvent'
          counterparty.status.linked: '#/components/schemas/CounterpartyStatusUpdateEvent'
          counterparty.status.unlinked: '#/components/schemas/CounterpartyStatusUpdateEvent'
          report.status.available: '#/components/schemas/ReportEvent'
          report.status.failed: '#/components/schemas/ReportEvent'
          report.status.pending: '#/components/schemas/ReportEvent'
          tradable.maturity: '#/components/schemas/TradableMaturityEvent'
          transfers.ach.in.rejected: '#/components/schemas/ACHIncomingEvent'
          transfers.ach.in.success: '#/components/schemas/ACHIncomingEvent'
          transfers.ach.out.rejected: '#/components/schemas/ACHOutgoingEvent'
          transfers.ach.out.sent: '#/components/schemas/ACHOutgoingEvent'
          transfers.ach.out.success: '#/components/schemas/ACHOutgoingEvent'
          transfers.on-us.processing: '#/components/schemas/OnUsTransferEvent'
          transfers.on-us.received: '#/components/schemas/OnUsTransferReceivedEvent'
          transfers.on-us.rejected: '#/components/schemas/OnUsTransferEvent'
          transfers.on-us.success: '#/components/schemas/OnUsTransferEvent'
          transfers.wire.in.rejected: '#/components/schemas/IncomingWireEvent'
          transfers.wire.in.success: '#/components/schemas/IncomingWireEvent'
          transfers.wire.out.processing: '#/components/schemas/OutgoingWireEvent'
          transfers.wire.out.rejected: '#/components/schemas/OutgoingWireEvent'
          transfers.wire.out.success: '#/components/schemas/OutgoingWireEvent'
    EventListResponse:
      properties:
        offset:
          type: integer
          title: Offset
        count:
          type: integer
          title: Count
        items:
          items:
            $ref: '#/components/schemas/EventType'
          type: array
          title: Items
          description: List of available events to subscribe to
        object_type:
          type: string
          title: Object Type
          default: List
      type: object
      required:
        - offset
        - count
        - items
      title: EventListResponse
    EventType:
      properties:
        event:
          type: string
          title: Event
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - event
        - object_type
      title: EventType
    Fee:
      properties:
        type:
          const: AUM_FEE
          title: Type
        amount:
          $ref: '#/components/schemas/Amount'
      type: object
      required:
        - type
        - amount
      title: Fee
    FeeTransactionActivity:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: >-
            The ID of the transaction from the perspective of the respective
            pocket
        transaction_id:
          type: string
          format: uuid
          title: Transaction Id
          description: The ID of the transaction this activity is representing
        description:
          type: string
          title: Description
          description: A description of the transaction type, e.g. "ACH Electronic Debit".
        amount:
          $ref: '#/components/schemas/Amount'
        time_booked:
          type: string
          format: date-time
          title: Time Booked
          description: >-
            The time at which the transaction was originally booked into the
            ledger.
        time_settled:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Time Settled
          description: The time at which transaction was settled.
        status:
          type: string
          enum:
            - BOOKED
            - SETTLED
          title: Status
          description: Status of the transactions. Has the transactions been settled
        title:
          type: string
          title: Title
        direction:
          type: string
          enum:
            - DEBIT
            - CREDIT
          title: Direction
        pocket_id:
          type: string
          format: uuid
          title: Pocket Id
          description: The pocket associated with the transaction
        customer_id:
          type: string
          format: uuid
          title: Customer Id
          description: The customer associated with the transaction
        remittance_information:
          anyOf:
            - $ref: '#/components/schemas/RemittanceInformation'
            - type: 'null'
        type:
          const: FEE
          title: Type
        fee_type:
          type: string
          title: Fee Type
      type: object
      required:
        - id
        - transaction_id
        - description
        - amount
        - time_booked
        - time_settled
        - status
        - title
        - direction
        - pocket_id
        - customer_id
        - type
        - fee_type
      title: FeeTransactionActivity
    FixedIncomeSecurity:
      properties:
        quantity:
          type: integer
          title: Quantity
          description: Number of securities
        market_value:
          allOf:
            - $ref: '#/components/schemas/Amount'
          description: The current market value of the securities
        cusip:
          type: string
          title: Cusip
          description: CUSIP number of security
        jiko_mark_price:
          allOf:
            - $ref: '#/components/schemas/Decimal'
          description: Current price of security
        description:
          type: string
          title: Description
          description: A description of the security
        type:
          const: FIXED_INCOME
          title: Type
        maturity_date:
          type: string
          format: date
          title: Maturity Date
          description: Due date of the fixed income instrument
        yield_to_maturity:
          allOf:
            - $ref: '#/components/schemas/Decimal'
          description: Rate of return if the security is held to the maturity date
      type: object
      required:
        - quantity
        - market_value
        - cusip
        - jiko_mark_price
        - description
        - type
        - maturity_date
        - yield_to_maturity
      title: FixedIncomeSecurity
    FullWithdrawal:
      properties:
        type:
          const: FULL_WITHDRAWAL
          title: Type
      type: object
      required:
        - type
      title: Full withdrawal
      description: Fully liquidates all T-Bills from the source account.
    FundPortalRequest:
      properties:
        account_id:
          type: string
          format: uuid
          title: Account Id
        amount_usdc:
          type: integer
          exclusiveMaximum: 5000000
          exclusiveMinimum: 0
          title: Amount Usdc
        company_name:
          type: string
          maxLength: 16
          title: Company Name
          default: FakeCompany
        count:
          type: integer
          exclusiveMaximum: 10
          exclusiveMinimum: 0
          title: Count
          default: 1
      type: object
      required:
        - account_id
        - amount_usdc
      title: FundPortalRequest
    GeneralAddress:
      properties:
        street_address:
          type: string
          maxLength: 250
          title: Street Address
          description: Street address
        street_address2:
          anyOf:
            - type: string
              maxLength: 250
            - type: 'null'
          title: Street Address2
          description: Apartment, Suite, Box number, etc.
        city:
          type: string
          maxLength: 250
          title: City
          description: City / Town
        postal_code:
          type: string
          maxLength: 50
          title: Postal Code
          description: Postal code / ZIP code
        state:
          anyOf:
            - type: string
            - type: 'null'
          title: State
          description: 'State (Postal Abbreviations. Example: "AL", "NJ", "OH")'
        country:
          type: string
          title: Country
          description: 'A ISO-3166 Alpha-2 country code (Abbreviated. Example: "US")'
      type: object
      required:
        - street_address
        - city
        - postal_code
        - country
      title: GeneralAddress
    GeneratePhysicalCardFromOrder:
      properties:
        card_order_id:
          type: string
          format: uuid
          title: Card Order Id
      type: object
      required:
        - card_order_id
      title: GeneratePhysicalCardFromOrder
    GenericTransactionActivity:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: >-
            The ID of the transaction from the perspective of the respective
            pocket
        transaction_id:
          type: string
          format: uuid
          title: Transaction Id
          description: The ID of the transaction this activity is representing
        description:
          type: string
          title: Description
          description: A description of the transaction type, e.g. "ACH Electronic Debit".
        amount:
          $ref: '#/components/schemas/Amount'
        time_booked:
          type: string
          format: date-time
          title: Time Booked
          description: >-
            The time at which the transaction was originally booked into the
            ledger.
        time_settled:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Time Settled
          description: The time at which transaction was settled.
        status:
          type: string
          enum:
            - BOOKED
            - SETTLED
          title: Status
          description: Status of the transactions. Has the transactions been settled
        title:
          type: string
          title: Title
        direction:
          type: string
          enum:
            - DEBIT
            - CREDIT
          title: Direction
        pocket_id:
          type: string
          format: uuid
          title: Pocket Id
          description: The pocket associated with the transaction
        customer_id:
          type: string
          format: uuid
          title: Customer Id
          description: The customer associated with the transaction
        remittance_information:
          anyOf:
            - $ref: '#/components/schemas/RemittanceInformation'
            - type: 'null'
        type:
          const: GENERIC
          title: Type
        reference_transaction_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Reference Transaction Id
          description: >-
            For reverse postings, the identity of the transaction being
            reversed. 
      type: object
      required:
        - id
        - transaction_id
        - description
        - amount
        - time_booked
        - time_settled
        - status
        - title
        - direction
        - pocket_id
        - customer_id
        - type
        - reference_transaction_id
      title: GenericTransactionActivity
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ISOAddress:
      properties:
        street_address:
          type: string
          maxLength: 250
          title: Street Address
          description: Street address
        street_address2:
          anyOf:
            - type: string
              maxLength: 250
            - type: 'null'
          title: Street Address2
          description: Apartment, Suite, Box number, etc.
        city:
          type: string
          maxLength: 250
          title: City
          description: City / Town
        postal_code:
          type: string
          maxLength: 50
          title: Postal Code
          description: Postal code / ZIP code
        state:
          anyOf:
            - type: string
            - type: 'null'
          title: State
          description: 'State (Postal Abbreviations. Example: "AL", "NJ", "OH")'
        country:
          type: string
          title: Country
          description: 'A ISO-3166 Alpha-2 country code (Abbreviated. Example: "US")'
      type: object
      required:
        - street_address
        - city
        - postal_code
        - country
      title: ISOAddress
    IncomingWireEvent:
      properties:
        event_id:
          type: string
          format: uuid
          title: Event Id
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        payload:
          $ref: '#/components/schemas/WireIncomingPayload'
        event_type:
          type: string
          enum:
            - transfers.wire.in.success
            - transfers.wire.in.rejected
          title: Event Type
      type: object
      required:
        - event_id
        - timestamp
        - payload
        - event_type
      title: IncomingWireEvent
    IncomingWireVerification:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        type:
          const: incoming_wire
          title: Type
        wire_id:
          type: string
          format: uuid
          title: Wire Id
        status:
          type: string
          enum:
            - PENDING_REVIEW
            - APPROVED
            - REJECTED
          title: Status
      type: object
      required:
        - id
        - description
        - type
        - wire_id
        - status
      title: IncomingWireVerification
    IndependentInvestmentProfile:
      properties:
        income:
          type: string
          enum:
            - BELOW_50K
            - BETWEEN_50K_AND_100K
            - BETWEEN_100K_AND_250K
            - OVER_250K
          title: Income
          description: Applicant's estimated annual income in USD.
        net_worth:
          type: string
          enum:
            - BELOW_50K
            - BETWEEN_50K_AND_200K
            - BETWEEN_200K_AND_1M
            - BETWEEN_1M_AND_5M
            - OVER_5M
          title: Net Worth
          description: Applicant's estimated average personal net worth in USD.
        bd_association:
          anyOf:
            - type: string
              maxLength: 200
            - type: 'null'
          title: Bd Association
          description: >-
            Name of broker-dealer association or employment. Disclosure is
            required by law if applicable, else, leave empty
        director_policy_maker_of_company:
          anyOf:
            - type: string
              maxLength: 200
            - type: 'null'
          title: Director Policy Maker Of Company
          description: >-
            Name of company where customer is director or policy maker.
            Disclosure is required by law if applicable, otherwise, leave empty
        occupation:
          anyOf:
            - type: string
              maxLength: 200
            - type: 'null'
          title: Occupation
          description: >-
            Applicant's occupation. Needs to be filled out if employment status
            is Employed.
        employment_status:
          const: INDEPENDENT
          title: Employment Status
      type: object
      required:
        - income
        - net_worth
        - employment_status
      title: IndependentInvestmentProfile
    Individual:
      properties:
        address:
          $ref: '#/components/schemas/GeneralAddress'
        email:
          type: string
          title: Email
        phone_number:
          type: string
          title: Phone Number
        account_status:
          type: string
          enum:
            - OPEN
            - CLOSED
            - FROZEN
            - PENDING
          title: Account Status
        type:
          const: INDIVIDUAL
          title: Type
        name:
          $ref: '#/components/schemas/Name'
        date_of_birth:
          type: string
          format: date
          title: Date Of Birth
        identification_number:
          $ref: '#/components/schemas/IndividualIdentificationNumberMasked'
        trusted_contact:
          anyOf:
            - $ref: '#/components/schemas/TrustedContact'
            - type: 'null'
      type: object
      required:
        - address
        - email
        - phone_number
        - account_status
        - type
        - name
        - date_of_birth
        - identification_number
      title: Individual
    IndividualIdentificationNumberMasked:
      properties:
        identification_number:
          type: string
          title: Identification Number
        issuing_country:
          anyOf:
            - type: string
            - type: 'null'
          title: Issuing Country
          description: 'A ISO-3166 Alpha-2 country code (Abbreviated. Example: "US")'
        identification_type:
          type: string
          enum:
            - SSN
            - PASSPORT
            - NON_US_ID
            - DRIVERS_LICENSE
          title: Identification Type
      type: object
      required:
        - identification_number
        - identification_type
      title: IndividualIdentificationNumberMasked
    IndividualName:
      properties:
        first_name:
          type: string
          title: First Name
        last_name:
          type: string
          title: Last Name
        type:
          const: individual
          title: Type
      type: object
      required:
        - first_name
        - last_name
        - type
      title: Individual name
    IndustryInfo:
      properties:
        industry:
          anyOf:
            - type: string
              enum:
                - ACCOUNTING_AND_BOOKKEEPING
                - ADVERTISING
                - ART
                - ATM_OPERATOR
                - BEAUTY_AND_COSMETIC_SERVICES
                - BIOTECH
                - BUSINESS_MANAGEMENT
                - CLEANING_SERVICES
                - CONSTRUCTION
                - CONSULTING
                - CRYPTOCURRENCY
                - DESIGN
                - ECOMMERCE
                - EDUCATION
                - ENERGY
                - ENTERTAINMENT
                - FINANCIAL_SERVICES
                - FITNESS
                - FOOD
                - GAMBLING
                - HARDWARE
                - HEALTHCARE
                - HOSPITALITY
                - INSURANCE
                - INVESTMENTS
                - LEGAL_SERVICES
                - MARKETING
                - MARKETPLACE
                - NONPROFIT
                - OTHER
                - PARKING_GARAGE
                - PROFESSIONAL_TECHNICAL_OR_MECHANICAL_SERVICES
                - REAL_ESTATE
                - RECRUITING
                - RESEARCH
                - RESTAURANT
                - RETAIL_STORES
                - SECURITY
                - SHIPPING_WAREHOUSING
                - SOFTWARE
                - SPORTS_TEAM
                - SUPPORT_SERVICES
                - TECHNOLOGY
                - TRANSPORTATION
                - TRAVEL
                - WHOLESALE
                - VENDING_MACHINE_OPERATOR
                - WASTE_MANAGEMENT
            - type: 'null'
          title: Industry
        other_industry:
          anyOf:
            - type: string
            - type: 'null'
          title: Other Industry
      type: object
      title: IndustryInfo
    InternalReallocationTransferRequest:
      properties:
        transfer_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Transfer Id
          description: The ID for this transfer, auto-generated if not provided.
        description:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
          title: Description
          description: A description of the transfer, visible on statements.
        end_to_end_identification:
          anyOf:
            - type: string
              maxLength: 35
            - type: 'null'
          title: End To End Identification
          description: >-
            Unique identification assigned by the initiating party to
            unambiguously identify the transaction. This identification is
            passed on, unchanged, throughout the entire end-to-end chain.
        from_account:
          $ref: '#/components/schemas/OnUsJikoAccountCounterparty'
        to_account:
          $ref: '#/components/schemas/OnUsJikoAccountCounterparty'
        type:
          const: INTERNAL_REALLOCATION
          title: Type
          description: Move funds between accounts belonging to the same customer.
        amount_usdc:
          anyOf:
            - type: integer
              exclusiveMinimum: 0
            - type: 'null'
          title: Amount USDC
          description: The amount, in USD cents. **Deprecated**, use `amount` instead.
          deprecated: true
        amount:
          anyOf:
            - oneOf:
                - $ref: '#/components/schemas/RequestedAmount'
                - $ref: '#/components/schemas/FullWithdrawal'
              discriminator:
                propertyName: type
                mapping:
                  FULL_WITHDRAWAL: '#/components/schemas/FullWithdrawal'
                  REQUESTED_AMOUNT: '#/components/schemas/RequestedAmount'
            - type: 'null'
          title: Amount
        async_mode:
          type: boolean
          title: Async Mode
          description: >-
            **Using asynchronous processing is strongly recommended.** Status
            updates will be delivered via Webhooks.
          default: false
      type: object
      required:
        - from_account
        - to_account
        - type
      title: Internal Reallocation
      example:
        amount:
          amount_usdc: 10000
          type: REQUESTED_AMOUNT
        description: Moving funds between accounts belonging to the same customer
        from_account:
          id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
          type: JIKO_ACCOUNT
        to_account:
          id: 991dd8b5-f103-4158-8c6b-84480cb43652
          type: JIKO_ACCOUNT
        transfer_id: cbb6cfce-f207-45e7-a6b3-1055ab43db51
        type: INTERNAL_REALLOCATION
    InternalReallocationTransferResponse:
      properties:
        transfer_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Transfer Id
          description: The ID for this transfer, auto-generated if not provided.
        description:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
          title: Description
          description: A description of the transfer, visible on statements.
        end_to_end_identification:
          anyOf:
            - type: string
              maxLength: 35
            - type: 'null'
          title: End To End Identification
          description: >-
            Unique identification assigned by the initiating party to
            unambiguously identify the transaction. This identification is
            passed on, unchanged, throughout the entire end-to-end chain.
        from_account:
          $ref: '#/components/schemas/OnUsJikoAccountCounterparty'
        to_account:
          $ref: '#/components/schemas/OnUsJikoAccountCounterparty'
        type:
          const: INTERNAL_REALLOCATION
          title: Type
        amount:
          $ref: '#/components/schemas/Amount'
      type: object
      required:
        - from_account
        - to_account
        - type
        - amount
      title: Internal Reallocation
      example:
        amount:
          amount_usdc: 10000
          type: REQUESTED_AMOUNT
        description: Moving funds between accounts belonging to the same customer
        from_account:
          id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
          type: JIKO_ACCOUNT
        to_account:
          id: 991dd8b5-f103-4158-8c6b-84480cb43652
          type: JIKO_ACCOUNT
        transfer_id: cbb6cfce-f207-45e7-a6b3-1055ab43db51
        type: INTERNAL_REALLOCATION
    InternationalApplication:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        time_created:
          type: string
          format: date-time
          title: Time Created
        updated_at:
          type: string
          format: date-time
          title: Updated At
        phone_number:
          type: string
          title: Phone Number
          description: >-
            Applicant's phone number. **Note**: It will be required to include
            country codes in accordance to the E.164 spec in a future release,
            or `^\+[1-9]\d{1,14}$`.
        agreement_consent:
          $ref: '#/components/schemas/AgreementConsent'
        exception_reasons:
          items:
            type: string
          type: array
          title: Exception Reasons
          default: []
        email:
          type: string
          format: email
          title: Email
        status:
          type: string
          enum:
            - CREATED
            - PENDING
            - SUBMITTED
            - DOCUMENTS_NEEDED
            - APPROVED
            - REJECTED
            - MANUAL_REVIEW
          title: Status
        name:
          anyOf:
            - $ref: '#/components/schemas/Name'
            - type: 'null'
        date_of_birth:
          anyOf:
            - $ref: '#/components/schemas/DateOfBirth'
            - type: 'null'
        investment_profile:
          anyOf:
            - $ref: '#/components/schemas/InvestmentProfile'
            - type: 'null'
        customer_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Customer Id
          description: '`null` until application status is `APPROVED`'
        documents:
          items:
            $ref: '#/components/schemas/Document'
          type: array
          title: Documents
        id_verification_documents_needed:
          type: boolean
          title: Id Verification Documents Needed
        identification_number_verification_document_needed:
          type: boolean
          title: Identification Number Verification Document Needed
        address_verification_document_needed:
          type: boolean
          title: Address Verification Document Needed
        address:
          allOf:
            - $ref: '#/components/schemas/ISOAddress'
          description: Address object
        citizenship_country:
          anyOf:
            - type: string
            - type: 'null'
          title: Citizenship Country
          description: The applicant's citizenship country in ISO-3166 Alpha-2 format.
          default: US
        identification_number_issuing_country:
          anyOf:
            - type: string
            - type: 'null'
          title: Identification Number Issuing Country
          description: >-
            The country that issued the applicant's identification number.
            Country in ISO-3166 Alpha-2 format. **Note:** This field will be
            made mandatory in a future releases.
          default: US
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - id
        - time_created
        - updated_at
        - phone_number
        - agreement_consent
        - email
        - status
        - name
        - date_of_birth
        - investment_profile
        - id_verification_documents_needed
        - identification_number_verification_document_needed
        - address_verification_document_needed
        - address
        - object_type
      title: InternationalApplication
    InternationalApplicationRequest:
      properties:
        identification_number:
          type: string
          title: Identification Number
          description: Applicant's Identification number
        name:
          allOf:
            - $ref: '#/components/schemas/Name'
          description: Applicant's full name
        email:
          type: string
          format: email
          title: Email
          description: Applicant's email address
        date_of_birth:
          type: string
          format: date
          title: Date Of Birth
          description: Applicant's date of birth
        investment_profile:
          $ref: '#/components/schemas/InvestmentProfile'
        agreement_consent:
          allOf:
            - $ref: '#/components/schemas/AgreementConsent'
          description: Consent object for agreements
        originally_onboarded_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Originally Onboarded At
          description: Original onboarding time of applicant
        identification_type:
          type: string
          enum:
            - SSN
            - PASSPORT
            - TIN
            - DRIVERS_LICENSE
          title: Identification Type
          description: >-
            Type type of identification provided in the `identification_number`
            field. The options are 
             * `SSN`: Social security number
             * `TIN`: Tax ID number
             * `DRIVERS_LICENSE`: A driver's license number
             * `PASSPORT`: A passport number 

             **Note:** This field will be made mandatory in a future release. Currently defaults to `SSN`.
          default: SSN
        identification_number_issuing_country:
          anyOf:
            - type: string
            - type: 'null'
          title: Identification Number Issuing Country
          description: >-
            The country that issued the applicant's identification number.
            Country in ISO-3166 Alpha-2 format. **Note:** This field will be
            made mandatory in a future releases.
          default: US
        address:
          allOf:
            - $ref: '#/components/schemas/ISOAddress'
          description: Address object
        phone_number:
          type: string
          title: Phone Number
          description: >-
            Applicant's phone number. **Note**: It will be required to include
            country codes in accordance to the E.164 spec in a future release,
            or `^\+[1-9]\d{1,14}$`.
        citizenship_country:
          anyOf:
            - type: string
            - type: 'null'
          title: Citizenship Country
          description: The applicant's citizenship country in ISO-3166 Alpha-2 format.
          default: US
      type: object
      required:
        - identification_number
        - name
        - email
        - date_of_birth
        - investment_profile
        - agreement_consent
        - address
        - phone_number
      title: InternationalApplicationRequest
    InternationalWireCounterpartyV2:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        time_created:
          type: string
          format: date-time
          title: Time Created
        status:
          type: string
          enum:
            - PENDING
            - FAILED
            - LINKED
            - UNLINKED
            - CLOSED
          title: Status
        verification:
          oneOf:
            - $ref: '#/components/schemas/SupportingDocumentsVerification'
            - $ref: '#/components/schemas/IncomingWireVerification'
            - $ref: '#/components/schemas/PreVerifiedVerification'
            - $ref: '#/components/schemas/PlaidVerification'
            - $ref: '#/components/schemas/MicroDepositsVerification'
            - $ref: '#/components/schemas/NameMatchVerification'
            - $ref: '#/components/schemas/UnverifiedVerification'
          title: Verification
          discriminator:
            propertyName: type
            mapping:
              incoming_wire: '#/components/schemas/IncomingWireVerification'
              micro_deposits: '#/components/schemas/MicroDepositsVerification'
              name_match: '#/components/schemas/NameMatchVerification'
              plaid: '#/components/schemas/PlaidVerification'
              pre_verified: '#/components/schemas/PreVerifiedVerification'
              supporting_documents: '#/components/schemas/SupportingDocumentsVerification'
              unverified: '#/components/schemas/UnverifiedVerification'
        type:
          const: international_wire
          title: Type
        counterparty_name:
          oneOf:
            - $ref: '#/components/schemas/IndividualName'
            - $ref: '#/components/schemas/BusinessName'
          title: Counterparty name
          discriminator:
            propertyName: type
            mapping:
              business: '#/components/schemas/BusinessName'
              individual: '#/components/schemas/IndividualName'
        address:
          $ref: '#/components/schemas/CounterpartyAddress'
        swift_bic:
          type: string
          title: Swift Bic
        identifier:
          type: string
          title: Identifier
        bank_name:
          type: string
          title: Bank Name
        wire_instructions:
          anyOf:
            - type: string
              maxLength: 140
            - type: 'null'
          title: Wire Instructions
          description: >-
            Any additional wire instructions required for the wire to be
            processed correctly.
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - id
        - time_created
        - status
        - verification
        - type
        - counterparty_name
        - address
        - swift_bic
        - identifier
        - bank_name
        - object_type
      title: International Wire Counterparty
    InvestmentProfile:
      oneOf:
        - $ref: '#/components/schemas/EmployedInvestmentProfile'
        - $ref: '#/components/schemas/IndependentInvestmentProfile'
        - $ref: '#/components/schemas/RetiredInvestmentProfile'
        - $ref: '#/components/schemas/StudentInvestmentProfile'
        - $ref: '#/components/schemas/UnemployedInvestmentProfile'
      title: InvestmentProfile
      discriminator:
        propertyName: employment_status
        mapping:
          EMPLOYED: '#/components/schemas/EmployedInvestmentProfile'
          INDEPENDENT: '#/components/schemas/IndependentInvestmentProfile'
          RETIRED: '#/components/schemas/RetiredInvestmentProfile'
          STUDENT: '#/components/schemas/StudentInvestmentProfile'
          UNEMPLOYED: '#/components/schemas/UnemployedInvestmentProfile'
    ListAccountsResponse:
      properties:
        offset:
          type: integer
          title: Offset
        count:
          type: integer
          title: Count
        items:
          items:
            $ref: '#/components/schemas/Account'
          type: array
          title: Items
          description: Customer accounts
        object_type:
          type: string
          title: Object Type
          default: List
      type: object
      required:
        - offset
        - count
        - items
      title: ListAccountsResponse
    ListBeneficialOwnersResponse:
      properties:
        items:
          items:
            allOf:
              - $ref: '#/components/schemas/BusinessIndividual'
            description: a list of beneficial owners for a given customer
          type: array
          title: Items
      type: object
      required:
        - items
      title: ListBeneficialOwnersResponse
    ListCounterpartiesResponse:
      properties:
        prev_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Prev Page
        next_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Next Page
        items:
          items:
            $ref: '#/components/schemas/Counterparty'
          type: array
          title: Items
        object_type:
          type: string
          title: Object Type
          default: CursorList
      type: object
      required:
        - items
      title: ListCounterpartiesResponse
    ListPortalsResponse:
      properties:
        count:
          type: integer
          title: Count
        portals:
          items:
            $ref: '#/components/schemas/Portal'
          type: array
          minItems: 0
          title: Portals
        object_type:
          type: string
          title: Object Type
          default: List
      type: object
      required:
        - count
        - portals
      title: ListPortalsResponse
    LoginInput:
      properties:
        username:
          type: string
          maxLength: 128
          title: Username
        password:
          type: string
          maxLength: 128
          title: Password
      type: object
      required:
        - username
        - password
      title: LoginInput
    LoginResponse:
      properties:
        token:
          type: string
          title: Token
        expires:
          type: string
          format: date-time
          title: Expires
      type: object
      required:
        - token
        - expires
      title: LoginResponse
    MicroDepositsVerification:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        type:
          const: micro_deposits
          title: Type
        status:
          anyOf:
            - type: string
              enum:
                - PENDING_REVIEW
                - APPROVED
                - REJECTED
            - type: string
              enum:
                - MICRO_DEPOSITS_SENT
          title: Status
        verification_failure_count:
          type: integer
          title: Verification Failure Count
      type: object
      required:
        - id
        - description
        - type
        - status
        - verification_failure_count
      title: MicroDepositsVerification
    MinimalPhysicalCardOrderResponse:
      properties:
        card_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Card Id
        card_order_id:
          type: string
          format: uuid
          title: Card Order Id
        status:
          type: string
          enum:
            - INITIAL
            - CARD_CREATED
            - ORDERED
            - RECEIVED
          title: Status
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - card_order_id
        - status
        - object_type
      title: MinimalPhysicalCardOrderResponse
    Name:
      properties:
        first_name:
          type: string
          maxLength: 50
          title: First Name
          description: First Name
        middle_name:
          anyOf:
            - type: string
              maxLength: 50
            - type: 'null'
          title: Middle Name
          description: Middle Name
        last_name:
          type: string
          maxLength: 50
          title: Last Name
          description: Last Name
      type: object
      required:
        - first_name
        - last_name
      title: Name
    NameMatchVerification:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        type:
          const: name_match
          title: Type
      type: object
      required:
        - id
        - description
        - type
      title: NameMatchVerification
    OnUsCounterparty:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        type:
          const: COUNTERPARTY
          title: Type
      type: object
      required:
        - id
        - type
      title: OnUsCounterparty
    OnUsCounterpartyV2:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        time_created:
          type: string
          format: date-time
          title: Time Created
        status:
          type: string
          enum:
            - PENDING
            - FAILED
            - LINKED
            - UNLINKED
            - CLOSED
          title: Status
        verification:
          oneOf:
            - $ref: '#/components/schemas/SupportingDocumentsVerification'
            - $ref: '#/components/schemas/IncomingWireVerification'
            - $ref: '#/components/schemas/PreVerifiedVerification'
            - $ref: '#/components/schemas/PlaidVerification'
            - $ref: '#/components/schemas/MicroDepositsVerification'
            - $ref: '#/components/schemas/NameMatchVerification'
            - $ref: '#/components/schemas/UnverifiedVerification'
          title: Verification
          discriminator:
            propertyName: type
            mapping:
              incoming_wire: '#/components/schemas/IncomingWireVerification'
              micro_deposits: '#/components/schemas/MicroDepositsVerification'
              name_match: '#/components/schemas/NameMatchVerification'
              plaid: '#/components/schemas/PlaidVerification'
              pre_verified: '#/components/schemas/PreVerifiedVerification'
              supporting_documents: '#/components/schemas/SupportingDocumentsVerification'
              unverified: '#/components/schemas/UnverifiedVerification'
        type:
          const: on_us
          title: Type
        counterparty_name:
          type: string
          title: Counterparty Name
        account_number:
          type: string
          title: Account Number
          description: Represents the Jiko network address of the pocket.
        display_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Display Name
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - id
        - time_created
        - status
        - verification
        - type
        - counterparty_name
        - account_number
        - object_type
      title: ON_US Counterparty
    OnUsJikoAccountCounterparty:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        type:
          const: JIKO_ACCOUNT
          title: Type
      type: object
      required:
        - id
        - type
      title: OnUsJikoAccountCounterparty
    OnUsTransactionActivity:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: >-
            The ID of the transaction from the perspective of the respective
            pocket
        transaction_id:
          type: string
          format: uuid
          title: Transaction Id
          description: The ID of the transaction this activity is representing
        description:
          type: string
          title: Description
          description: A description of the transaction type, e.g. "ACH Electronic Debit".
        amount:
          $ref: '#/components/schemas/Amount'
        time_booked:
          type: string
          format: date-time
          title: Time Booked
          description: >-
            The time at which the transaction was originally booked into the
            ledger.
        time_settled:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Time Settled
          description: The time at which transaction was settled.
        status:
          type: string
          enum:
            - BOOKED
            - SETTLED
          title: Status
          description: Status of the transactions. Has the transactions been settled
        title:
          type: string
          title: Title
        direction:
          type: string
          enum:
            - DEBIT
            - CREDIT
          title: Direction
        pocket_id:
          type: string
          format: uuid
          title: Pocket Id
          description: The pocket associated with the transaction
        customer_id:
          type: string
          format: uuid
          title: Customer Id
          description: The customer associated with the transaction
        remittance_information:
          anyOf:
            - $ref: '#/components/schemas/RemittanceInformation'
            - type: 'null'
        type:
          const: ON_US
          title: Type
        on_us_transfer_id:
          type: string
          title: On Us Transfer Id
        on_us_transfer_type:
          type: string
          title: On Us Transfer Type
        counterparty_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Counterparty Name
        associated_pocket_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Associated Pocket Id
          description: >-
            The id of the pocket on the other half of INTERNAL_REALLOCATION
            ON_US transfer.
        end_to_end_identification:
          anyOf:
            - type: string
            - type: 'null'
          title: End To End Identification
      type: object
      required:
        - id
        - transaction_id
        - description
        - amount
        - time_booked
        - time_settled
        - status
        - title
        - direction
        - pocket_id
        - customer_id
        - type
        - on_us_transfer_id
        - on_us_transfer_type
      title: OnUsTransactionActivity
    OnUsTransactionDetails:
      properties:
        on_us_transfer_id:
          type: string
          title: On Us Transfer Id
        on_us_transfer_type:
          type: string
          title: On Us Transfer Type
        counterparty:
          anyOf:
            - oneOf:
                - $ref: '#/components/schemas/P2POnUsTransferCounterparty'
              discriminator:
                propertyName: type
                mapping:
                  P2POnUsTransferCounterparty: '#/components/schemas/P2POnUsTransferCounterparty'
            - type: 'null'
          title: Counterparty
        source:
          anyOf:
            - type: string
            - type: 'null'
          title: Source
        target:
          anyOf:
            - type: string
            - type: 'null'
          title: Target
      type: object
      required:
        - on_us_transfer_id
        - on_us_transfer_type
      title: OnUsTransactionDetails
    OnUsTransfer:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        status:
          type: string
          enum:
            - PENDING
            - COMPLETED
            - REJECTED
          title: Status
        reason:
          anyOf:
            - type: string
              enum:
                - ACCOUNT_UNAVAILABLE
                - CANCELED
                - INSUFFICIENT_FUNDS
                - INVALID_CURRENCY
                - INVALID_TRANSFER
                - SANCTION_SCREEN_FAILED
            - type: 'null'
          title: Reason
        transfer:
          $ref: '#/components/schemas/OnUsTransferDetails'
        fees:
          items:
            $ref: '#/components/schemas/Fee'
          type: array
          title: Fees
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - id
        - status
        - reason
        - transfer
        - fees
        - object_type
      title: OnUsTransfer
    OnUsTransferDetails:
      oneOf:
        - $ref: '#/components/schemas/CustomerFundingTransferResponse'
        - $ref: '#/components/schemas/CustomerDefundingTransferResponse'
        - $ref: '#/components/schemas/InternalReallocationTransferResponse'
        - $ref: '#/components/schemas/PeerToPeerTransferResponse'
      title: OnUsTransferDetails
      discriminator:
        propertyName: type
        mapping:
          INTERNAL_REALLOCATION: '#/components/schemas/InternalReallocationTransferResponse'
          PARTNER_CUSTOMER_DEFUNDING: '#/components/schemas/CustomerDefundingTransferResponse'
          PARTNER_CUSTOMER_FUNDING: '#/components/schemas/CustomerFundingTransferResponse'
          PEER_TO_PEER: '#/components/schemas/PeerToPeerTransferResponse'
    OnUsTransferDetailsRequest:
      oneOf:
        - $ref: '#/components/schemas/CustomerFundingTransferRequest'
        - $ref: '#/components/schemas/CustomerDefundingTransferRequest'
        - $ref: '#/components/schemas/InternalReallocationTransferRequest'
        - $ref: '#/components/schemas/PeerToPeerTransferRequest'
      title: OnUsTransferDetailsRequest
      discriminator:
        propertyName: type
        mapping:
          INTERNAL_REALLOCATION: '#/components/schemas/InternalReallocationTransferRequest'
          PARTNER_CUSTOMER_DEFUNDING: '#/components/schemas/CustomerDefundingTransferRequest'
          PARTNER_CUSTOMER_FUNDING: '#/components/schemas/CustomerFundingTransferRequest'
          PEER_TO_PEER: '#/components/schemas/PeerToPeerTransferRequest'
    OnUsTransferEvent:
      properties:
        event_id:
          type: string
          format: uuid
          title: Event Id
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        payload:
          $ref: '#/components/schemas/OnUsTransferPayload'
        event_type:
          type: string
          enum:
            - transfers.on-us.success
            - transfers.on-us.processing
            - transfers.on-us.rejected
          title: Event Type
      type: object
      required:
        - event_id
        - timestamp
        - payload
        - event_type
      title: OnUsTransferEvent
    OnUsTransferPayload:
      properties:
        on_us_id:
          type: string
          format: uuid
          title: On Us Id
        origin_account_id:
          type: string
          format: uuid
          title: Origin Account Id
        destination_account_id:
          type: string
          format: uuid
          title: Destination Account Id
      type: object
      required:
        - on_us_id
        - origin_account_id
        - destination_account_id
      title: OnUsTransferPayload
    OnUsTransferReceivedEvent:
      properties:
        event_id:
          type: string
          format: uuid
          title: Event Id
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        payload:
          $ref: '#/components/schemas/OnUsTransferReceivedPayload'
        event_type:
          const: transfers.on-us.received
          title: Event Type
      type: object
      required:
        - event_id
        - timestamp
        - payload
        - event_type
      title: OnUsTransferReceivedEvent
    OnUsTransferReceivedPayload:
      properties:
        on_us_id:
          type: string
          format: uuid
          title: On Us Id
        receiving_pocket_id:
          type: string
          format: uuid
          title: Receiving Pocket Id
        transaction_activity_id:
          type: string
          format: uuid
          title: Transaction Activity Id
      type: object
      required:
        - on_us_id
        - receiving_pocket_id
        - transaction_activity_id
      title: OnUsTransferReceivedPayload
    OtherSecurity:
      properties:
        quantity:
          type: integer
          title: Quantity
          description: Number of securities
        market_value:
          allOf:
            - $ref: '#/components/schemas/Amount'
          description: The current market value of the securities
        cusip:
          type: string
          title: Cusip
          description: CUSIP number of security
        jiko_mark_price:
          allOf:
            - $ref: '#/components/schemas/Decimal'
          description: Current price of security
        description:
          type: string
          title: Description
          description: A description of the security
        type:
          const: OTHER
          title: Type
      type: object
      required:
        - quantity
        - market_value
        - cusip
        - jiko_mark_price
        - description
        - type
      title: OtherSecurity
    OutgoingWireEvent:
      properties:
        event_id:
          type: string
          format: uuid
          title: Event Id
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        payload:
          $ref: '#/components/schemas/WireOutgoingPayload'
        event_type:
          type: string
          enum:
            - transfers.wire.out.success
            - transfers.wire.out.processing
            - transfers.wire.out.rejected
          title: Event Type
      type: object
      required:
        - event_id
        - timestamp
        - payload
        - event_type
      title: OutgoingWireEvent
    P2POnUsTransferCounterparty:
      properties:
        type:
          const: P2POnUsTransferCounterparty
          title: Type
        counterparty_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Counterparty Name
      type: object
      required:
        - type
      title: P2POnUsTransferCounterparty
    PartnerEvent:
      properties:
        event:
          $ref: '#/components/schemas/EventDetails-Output'
        delivery_attempts:
          items:
            $ref: '#/components/schemas/DeliveryAttemptDetails'
          type: array
          title: Delivery Attempts
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - event
        - delivery_attempts
        - object_type
      title: PartnerEvent
    PeerToPeerTransferRequest:
      properties:
        transfer_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Transfer Id
          description: The ID for this transfer, auto-generated if not provided.
        description:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
          title: Description
          description: A description of the transfer, visible on statements.
        end_to_end_identification:
          anyOf:
            - type: string
              maxLength: 35
            - type: 'null'
          title: End To End Identification
          description: >-
            Unique identification assigned by the initiating party to
            unambiguously identify the transaction. This identification is
            passed on, unchanged, throughout the entire end-to-end chain.
        from_account:
          $ref: '#/components/schemas/OnUsJikoAccountCounterparty'
        to_account:
          $ref: '#/components/schemas/OnUsCounterparty'
        type:
          const: PEER_TO_PEER
          title: Type
        amount_usdc:
          anyOf:
            - type: integer
              exclusiveMinimum: 0
            - type: 'null'
          title: Amount USDC
          description: The amount, in USD cents. **Deprecated**, use `amount` instead.
          deprecated: true
        amount:
          anyOf:
            - oneOf:
                - $ref: '#/components/schemas/RequestedAmount'
                - $ref: '#/components/schemas/FullWithdrawal'
              discriminator:
                propertyName: type
                mapping:
                  FULL_WITHDRAWAL: '#/components/schemas/FullWithdrawal'
                  REQUESTED_AMOUNT: '#/components/schemas/RequestedAmount'
            - type: 'null'
          title: Amount
        async_mode:
          type: boolean
          title: Async Mode
          description: >-
            **Using asynchronous processing is strongly recommended.** Status
            updates will be delivered via Webhooks.
          default: false
      type: object
      required:
        - from_account
        - to_account
        - type
      title: Peer To Peer Transfer
      example:
        amount:
          amount_usdc: 10000
          type: REQUESTED_AMOUNT
        description: Moving funds between accounts belonging to different customers
        from_account:
          id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
          type: JIKO_ACCOUNT
        to_account:
          id: 991dd8b5-f103-4158-8c6b-84480cb43652
          type: COUNTERPARTY
        transfer_id: cbb6cfce-f207-45e7-a6b3-1055ab43db51
        type: PEER_TO_PEER
    PeerToPeerTransferResponse:
      properties:
        transfer_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Transfer Id
          description: The ID for this transfer, auto-generated if not provided.
        description:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
          title: Description
          description: A description of the transfer, visible on statements.
        end_to_end_identification:
          anyOf:
            - type: string
              maxLength: 35
            - type: 'null'
          title: End To End Identification
          description: >-
            Unique identification assigned by the initiating party to
            unambiguously identify the transaction. This identification is
            passed on, unchanged, throughout the entire end-to-end chain.
        from_account:
          $ref: '#/components/schemas/OnUsJikoAccountCounterparty'
        to_account:
          $ref: '#/components/schemas/OnUsCounterparty'
        type:
          const: PEER_TO_PEER
          title: Type
        amount:
          $ref: '#/components/schemas/Amount'
      type: object
      required:
        - from_account
        - to_account
        - type
        - amount
      title: Peer To Peer Transfer
      example:
        amount:
          amount_usdc: 10000
          type: REQUESTED_AMOUNT
        description: Moving funds between accounts belonging to different customers
        from_account:
          id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
          type: JIKO_ACCOUNT
        to_account:
          id: 991dd8b5-f103-4158-8c6b-84480cb43652
          type: COUNTERPARTY
        transfer_id: cbb6cfce-f207-45e7-a6b3-1055ab43db51
        type: PEER_TO_PEER
    PhysicalCardOrder:
      properties:
        name_on_card:
          type: string
          maxLength: 100
          title: Name On Card
          description: Card holder's full name. Should be a maximum of 26 characters.
        shipping_address:
          $ref: '#/components/schemas/ShippingAddress'
      type: object
      required:
        - name_on_card
        - shipping_address
      title: PhysicalCardOrder
    PhysicalCardOrderListResponse:
      properties:
        prev_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Prev Page
        next_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Next Page
        items:
          items:
            $ref: '#/components/schemas/MinimalPhysicalCardOrderResponse'
          type: array
          title: Items
        object_type:
          type: string
          title: Object Type
          default: CursorList
      type: object
      required:
        - items
      title: PhysicalCardOrderListResponse
    PhysicalCardOrderResponse:
      properties:
        card_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Card Id
        card_order_id:
          type: string
          format: uuid
          title: Card Order Id
        status:
          type: string
          enum:
            - INITIAL
            - CARD_CREATED
            - ORDERED
            - RECEIVED
          title: Status
        name_on_card:
          type: string
          title: Name On Card
        shipping_address:
          $ref: '#/components/schemas/ShippingAddress'
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - card_order_id
        - status
        - name_on_card
        - shipping_address
        - object_type
      title: PhysicalCardOrderResponse
    PlaidVerification:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        type:
          const: plaid
          title: Type
        status:
          anyOf:
            - type: string
              enum:
                - PENDING_REVIEW
                - APPROVED
                - REJECTED
            - type: string
              enum:
                - VERIFICATION_EXPIRED
                - PENDING_AUTOMATIC_VERIFICATION
                - MICRO_DEPOSITS_SENT
          title: Status
        account_number_masked:
          type: string
          title: Account Number Masked
      type: object
      required:
        - id
        - description
        - type
        - status
        - account_number_masked
      title: PlaidVerification
    Pocket:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: ID of the pocket
        pocket_name:
          type: string
          title: Pocket Name
          description: Pocket name
        portfolio:
          anyOf:
            - $ref: >-
                #/components/schemas/partner_api__interface__models__v2__pockets__Portfolio
            - type: 'null'
          description: Total liquid cash and holdings
        status:
          type: string
          enum:
            - PENDING
            - OPEN
            - FROZEN
            - CLOSED
          title: Status
          description: Pocket status
        attributes:
          items:
            type: string
          type: array
          title: Attributes
        deposit_strategy_id:
          type: string
          title: Deposit Strategy Id
          description: 'Pocket deposit trading strategy ID (Example: UST-4W)'
        reinvestment_strategy_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Reinvestment Strategy Id
          description: 'Pocket reinvestment trading strategy ID (Example: UST-4W)'
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - id
        - pocket_name
        - status
        - deposit_strategy_id
        - reinvestment_strategy_id
        - object_type
      title: Pocket
    Pockets:
      properties:
        offset:
          type: integer
          title: Offset
        count:
          type: integer
          title: Count
        items:
          items:
            $ref: '#/components/schemas/Pocket'
          type: array
          title: Items
          description: Customer pockets list
        object_type:
          type: string
          title: Object Type
          default: List
      type: object
      required:
        - offset
        - count
        - items
      title: Pockets
    Portal:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        jiko_account_id:
          type: string
          format: uuid
          title: Jiko Account Id
        routing_number:
          type: string
          title: Routing Number
          description: Routing number
        account_number:
          type: string
          title: Account Number
          description: Account number
        status:
          type: string
          enum:
            - OPEN
            - CLOSED
          title: Status
          description: Portal status
        name:
          type: string
          maxLength: 50
          title: Name
          description: Portal name
        payment_rails:
          items:
            type: string
            enum:
              - ACH
              - WIRE
              - ON_US
          type: array
          title: Payment Rails
          description: Specifies which payment rails (ACH, WIRE, ON_US) are accepted.
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - id
        - jiko_account_id
        - routing_number
        - account_number
        - status
        - name
        - payment_rails
        - object_type
      title: Portal
    PortalCreateRequest:
      properties:
        name:
          type: string
          maxLength: 128
          title: Name
      type: object
      required:
        - name
      title: PortalCreateRequest
    PortalUpdateRequest:
      properties:
        name:
          type: string
          maxLength: 50
          title: Name
          description: Portal name
      type: object
      required:
        - name
      title: PortalUpdateRequest
    PositionSummaryReport:
      properties:
        customer_id:
          type: string
          format: uuid
          title: Customer Id
        pocket_ids:
          items:
            type: string
            format: uuid
          type: array
          title: Pocket Ids
        date:
          type: string
          format: date
          title: Date
        type:
          const: POSITION_SUMMARY_REPORT
          title: Type
      type: object
      required:
        - customer_id
        - pocket_ids
        - date
        - type
      title: PositionSummaryReport
    PreVerifiedVerification:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        type:
          const: pre_verified
          title: Type
        status:
          type: string
          enum:
            - PENDING_REVIEW
            - APPROVED
            - REJECTED
          title: Status
      type: object
      required:
        - id
        - description
        - type
        - status
      title: PreVerifiedVerification
    PublicKeyRequest:
      properties:
        public_key:
          type: string
          title: Public Key
          description: >-
            Single-use 4096-bit PEM-encoded RSA public-key in PKCS#1 or PKCS#1.5
            format
          min_bytes: 4096
      type: object
      required:
        - public_key
      title: PublicKeyRequest
    RelatedPartyApplicationRequest:
      properties:
        name:
          anyOf:
            - $ref: '#/components/schemas/Name'
            - type: 'null'
        address:
          anyOf:
            - $ref: '#/components/schemas/ISOAddress'
            - type: 'null'
        date_of_birth:
          anyOf:
            - type: string
            - type: 'null'
          title: Date Of Birth
        identification_number:
          anyOf:
            - $ref: '#/components/schemas/CreateIndividualIdentificationNumber'
            - type: 'null'
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone Number
        title:
          anyOf:
            - type: string
            - type: 'null'
          title: Title
        roles:
          anyOf:
            - items:
                type: string
                enum:
                  - CONTROL_PERSON
                  - AUTHORIZED_REPRESENTATIVE
              type: array
            - type: 'null'
          title: Roles
        ownership_percentage:
          anyOf:
            - type: string
            - type: 'null'
          title: Ownership Percentage
        citizenship:
          anyOf:
            - type: string
            - type: 'null'
          title: Citizenship
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
      type: object
      title: RelatedPartyApplicationRequest
    RelatedPartyApplicationResponse:
      properties:
        name:
          anyOf:
            - $ref: '#/components/schemas/Name'
            - type: 'null'
        address:
          anyOf:
            - $ref: '#/components/schemas/ISOAddress'
            - type: 'null'
        date_of_birth:
          anyOf:
            - type: string
            - type: 'null'
          title: Date Of Birth
        identification_number:
          anyOf:
            - $ref: '#/components/schemas/IndividualIdentificationNumberMasked'
            - type: 'null'
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone Number
        title:
          anyOf:
            - type: string
            - type: 'null'
          title: Title
        roles:
          anyOf:
            - items:
                type: string
                enum:
                  - CONTROL_PERSON
                  - AUTHORIZED_REPRESENTATIVE
              type: array
            - type: 'null'
          title: Roles
        ownership_percentage:
          anyOf:
            - type: string
            - type: 'null'
          title: Ownership Percentage
        citizenship:
          anyOf:
            - type: string
            - type: 'null'
          title: Citizenship
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
        id:
          type: string
          format: uuid
          title: Id
      type: object
      required:
        - identification_number
        - id
      title: RelatedPartyApplicationResponse
    RemittanceInformation:
      properties:
        unstructured:
          type: string
          maxLength: 200
          title: Unstructured
          description: >-
            Unstructured information provided by the originator of the
            transaction.
          default: ''
      type: object
      title: RemittanceInformation
    RenderFormatsRequest:
      properties:
        output_formats:
          items:
            type: string
          type: array
          maxItems: 20
          minItems: 1
          title: Output Formats
        customer_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Customer Id
      type: object
      required:
        - output_formats
      title: RenderFormatsRequest
    Report:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        file_name:
          type: string
          title: File Name
        mime_type:
          type: string
          title: Mime Type
        status:
          type: string
          enum:
            - PENDING
            - AVAILABLE
            - FAILED
          title: Status
        type:
          type: string
          title: Type
        metadata:
          anyOf:
            - type: object
            - type: 'null'
          title: Metadata
        created_at:
          type: string
          format: date-time
          title: Created At
        format:
          anyOf:
            - $ref: '#/components/schemas/ReportFormat'
            - type: 'null'
      type: object
      required:
        - id
        - file_name
        - mime_type
        - status
        - type
        - metadata
        - created_at
      title: Report
    ReportDownload:
      properties:
        download_url:
          type: string
          title: Download Url
        expires:
          type: string
          format: date-time
          title: Expires
      type: object
      required:
        - download_url
        - expires
      title: ReportDownload
    ReportDownloadRequest:
      properties:
        customer_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Customer Id
      type: object
      title: ReportDownloadRequest
    ReportEvent:
      properties:
        event_id:
          type: string
          format: uuid
          title: Event Id
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        payload:
          $ref: '#/components/schemas/ReportStatusPayload'
        event_type:
          type: string
          enum:
            - report.status.available
            - report.status.pending
            - report.status.failed
          title: Event Type
      type: object
      required:
        - event_id
        - timestamp
        - payload
        - event_type
      title: ReportEvent
    ReportFormat:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        description:
          type: string
          title: Description
      type: object
      required:
        - id
        - name
        - description
      title: ReportFormat
    ReportRequest:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        type:
          type: string
          title: Type
        metadata:
          anyOf:
            - type: object
            - type: 'null'
          title: Metadata
        created_at:
          type: string
          format: date-time
          title: Created At
        reports:
          items:
            $ref: '#/components/schemas/Report'
          type: array
          title: Reports
      type: object
      required:
        - id
        - type
        - metadata
        - created_at
        - reports
      title: ReportRequest
    ReportStatusPayload:
      properties:
        report_id:
          type: string
          format: uuid
          title: Report Id
        root_report_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Root Report Id
      type: object
      required:
        - report_id
        - root_report_id
      title: ReportStatusPayload
    RequestedAmount:
      properties:
        amount_usdc:
          type: integer
          exclusiveMinimum: 0
          title: Amount USDC
        type:
          const: REQUESTED_AMOUNT
          title: Type
      type: object
      required:
        - amount_usdc
        - type
      title: Requested amount
      description: Creates a transfer for a specific, requested amount.
    RetiredInvestmentProfile:
      properties:
        income:
          type: string
          enum:
            - BELOW_50K
            - BETWEEN_50K_AND_100K
            - BETWEEN_100K_AND_250K
            - OVER_250K
          title: Income
          description: Applicant's estimated annual income in USD.
        net_worth:
          type: string
          enum:
            - BELOW_50K
            - BETWEEN_50K_AND_200K
            - BETWEEN_200K_AND_1M
            - BETWEEN_1M_AND_5M
            - OVER_5M
          title: Net Worth
          description: Applicant's estimated average personal net worth in USD.
        bd_association:
          anyOf:
            - type: string
              maxLength: 200
            - type: 'null'
          title: Bd Association
          description: >-
            Name of broker-dealer association or employment. Disclosure is
            required by law if applicable, else, leave empty
        director_policy_maker_of_company:
          anyOf:
            - type: string
              maxLength: 200
            - type: 'null'
          title: Director Policy Maker Of Company
          description: >-
            Name of company where customer is director or policy maker.
            Disclosure is required by law if applicable, otherwise, leave empty
        occupation:
          anyOf:
            - type: string
              maxLength: 200
            - type: 'null'
          title: Occupation
          description: >-
            Applicant's occupation. Needs to be filled out if employment status
            is Employed.
        employment_status:
          const: RETIRED
          title: Employment Status
      type: object
      required:
        - income
        - net_worth
        - employment_status
      title: RetiredInvestmentProfile
    RetryPolicy:
      properties:
        retry_on_status_codes:
          items:
            type: integer
          type: array
          title: Retry On Status Codes
          description: >-
            Denotes on which status codes Jiko will retry the webhook call, e.g.
            502 or 503.
        backoff_coefficient:
          type: number
          maximum: 5
          minimum: 1
          title: Backoff Coefficient
        maximum_attempts:
          type: integer
          maximum: 5
          minimum: 1
          title: Maximum Attempts
        initial_interval_seconds:
          type: number
          maximum: 30
          minimum: 0
          title: Initial Interval Seconds
        maximum_interval_seconds:
          type: number
          maximum: 300
          minimum: 0
          title: Maximum Interval Seconds
      type: object
      required:
        - retry_on_status_codes
        - backoff_coefficient
        - maximum_attempts
        - initial_interval_seconds
        - maximum_interval_seconds
      title: RetryPolicy
    RiskInfo:
      properties:
        risk_categories:
          anyOf:
            - items:
                type: string
                enum:
                  - INTERNET_GAMBLING
                  - CANNABIS
                  - CRYPTOCURRENCY
                  - CROWDFUNDING
                  - FINANCIAL_OR_MONEY_MOVEMENT
                  - NON_US_ENTITY
                  - FINTECH_OR_BAAS
              type: array
            - type: 'null'
          title: Risk Categories
        company_mission:
          anyOf:
            - type: string
            - type: 'null'
          title: Company Mission
        has_current_enforcement_actions:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Has Current Enforcement Actions
        primary_regulator:
          anyOf:
            - type: string
            - type: 'null'
          title: Primary Regulator
        business_activity_location:
          anyOf:
            - type: string
              enum:
                - PRIMARILY_US
                - MIX_OF_US_AND_NON_US
                - PRIMARILY_NON_US
            - type: 'null'
          title: Business Activity Location
        source_of_funds:
          anyOf:
            - type: string
              enum:
                - INTERNAL_FUNDS
                - CLIENT_OR_EXTERNAL_FUNDS
                - CRYPTOCURRENCY_EXCESS_RESERVES
                - CRYPTOCURRENCY_STABLECOIN_RESERVES
            - type: 'null'
          title: Source Of Funds
        source_of_funds_explanation:
          anyOf:
            - type: string
            - type: 'null'
          title: Source Of Funds Explanation
        account_usage:
          anyOf:
            - type: string
              enum:
                - MONEY_STORAGE
                - MONEY_STORAGE_US_BANKS
                - MONEY_STORAGE_NON_US_BANKS
                - 3RD_PARTY_PAYMENTS
                - CRYPTOCURRENCY_EXCESS_RESERVES
                - CRYPTOCURRENCY_STABLECOIN_RESERVES
            - type: 'null'
          title: Account Usage
        annual_revenue:
          anyOf:
            - type: string
              enum:
                - PRE_REVENUE
                - 5M_OR_LESS
                - BETWEEN_5M_100M
                - 100M_OR_MORE
            - type: 'null'
          title: Annual Revenue
        monthly_transactions:
          anyOf:
            - type: string
              enum:
                - 5_OR_LESS
                - BETWEEN_5_AND_15
                - 15_OR_MORE
            - type: 'null'
          title: Monthly Transactions
        first_month_deposit:
          anyOf:
            - type: string
              enum:
                - 1M_OR_LESS
                - BETWEEN_1M_AND_5M
                - BETWEEN_5M_AND_20M
                - BETWEEN_20M_AND_50M
                - 50M_OR_MORE
            - type: 'null'
          title: First Month Deposit
      type: object
      title: RiskInfo
    Security:
      properties:
        tradable_id:
          type: string
          format: uuid
          title: Tradable Id
        security_type:
          type: string
          enum:
            - FIXED_INCOME
            - OTHER
          title: Security Type
        quantity:
          type: integer
          exclusiveMinimum: 0
          title: Quantity
          description: Number of securities
        market_value:
          allOf:
            - $ref: '#/components/schemas/Amount'
          description: The current market value of the securities
        external_id:
          type: string
          title: External Id
        maturity_date:
          type: string
          format: date
          title: Maturity Date
          description: Due date of the fixed income instrument
        yield_to_maturity:
          allOf:
            - $ref: '#/components/schemas/Decimal'
          description: Rate of return if the security is held to the maturity date
        ask:
          allOf:
            - $ref: '#/components/schemas/Decimal'
          description: The current price the account is willing to sell the security at
        bid:
          allOf:
            - $ref: '#/components/schemas/Decimal'
          description: The current price the market is willing to pay for the security
        description:
          type: string
          title: Description
          description: A description of the security
      type: object
      required:
        - tradable_id
        - security_type
        - quantity
        - market_value
        - external_id
        - maturity_date
        - yield_to_maturity
        - ask
        - bid
        - description
      title: Security
    SecurityPriceReport:
      properties:
        securities:
          items:
            type: string
          type: array
          title: Securities
          default: []
        start_date:
          type: string
          format: date
          title: Start Date
        end_date:
          type: string
          format: date
          title: End Date
        customer_id:
          type: string
          format: uuid
          title: Customer Id
        type:
          const: SECURITY_PRICE_REPORT
          title: Type
      type: object
      required:
        - start_date
        - end_date
        - customer_id
        - type
      title: SecurityPriceReport
    ShippingAddress:
      properties:
        street_address:
          type: string
          maxLength: 100
          title: Street Address
          description: Street address
        street_address2:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
          title: Street Address2
          description: Apartment, Suite, Box number, etc.
        city:
          type: string
          maxLength: 100
          title: City
          description: City / Town
        postal_code:
          type: string
          maxLength: 10
          title: Postal Code
          description: Postal code / ZIP code
        state:
          allOf:
            - $ref: '#/components/schemas/State'
          description: 'State (Postal Abbreviations. Example: "AL", "NJ", "OH")'
        country:
          allOf:
            - $ref: '#/components/schemas/Country'
          description: 'A ISO-3166 Alpha-2 country code (Abbreviated. Example: "US")'
      type: object
      required:
        - street_address
        - city
        - postal_code
        - state
        - country
      title: ShippingAddress
    State:
      type: string
      enum:
        - AA
        - AE
        - AP
        - AK
        - AL
        - AR
        - AZ
        - CA
        - CO
        - CT
        - DC
        - DE
        - FL
        - GA
        - GU
        - HI
        - IA
        - ID
        - IL
        - IN
        - KS
        - KY
        - LA
        - MA
        - MD
        - ME
        - MI
        - MN
        - MO
        - MS
        - MT
        - NC
        - ND
        - NE
        - NH
        - NJ
        - NM
        - NV
        - NY
        - OH
        - OK
        - OR
        - PA
        - PR
        - RI
        - SC
        - SD
        - TN
        - TX
        - UT
        - VA
        - VI
        - VT
        - WA
        - WI
        - WV
        - WY
      title: State
    Statement:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        jiko_account_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Jiko Account Id
        type:
          type: string
          enum:
            - 1099B
            - 1099INT
            - BANK
            - BROKERAGE
            - CONSOLIDATED_BANK
            - CONSOLIDATED_BROKERAGE
          title: Type
        key:
          type: string
          title: Key
        pdf_download_url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          title: Pdf Download Url
        time_created:
          type: string
          format: date-time
          title: Time Created
        csv_zip_download_url:
          anyOf:
            - type: string
              maxLength: 2083
              minLength: 1
              format: uri
            - type: 'null'
          title: Csv Zip Download Url
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - id
        - jiko_account_id
        - type
        - key
        - pdf_download_url
        - time_created
        - csv_zip_download_url
        - object_type
      title: Statement
    StatementListResponse:
      properties:
        prev_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Prev Page
        next_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Next Page
        items:
          items:
            $ref: '#/components/schemas/Statement'
          type: array
          title: Items
        object_type:
          type: string
          title: Object Type
          default: CursorList
      type: object
      required:
        - items
      title: StatementListResponse
    StudentInvestmentProfile:
      properties:
        income:
          type: string
          enum:
            - BELOW_50K
            - BETWEEN_50K_AND_100K
            - BETWEEN_100K_AND_250K
            - OVER_250K
          title: Income
          description: Applicant's estimated annual income in USD.
        net_worth:
          type: string
          enum:
            - BELOW_50K
            - BETWEEN_50K_AND_200K
            - BETWEEN_200K_AND_1M
            - BETWEEN_1M_AND_5M
            - OVER_5M
          title: Net Worth
          description: Applicant's estimated average personal net worth in USD.
        bd_association:
          anyOf:
            - type: string
              maxLength: 200
            - type: 'null'
          title: Bd Association
          description: >-
            Name of broker-dealer association or employment. Disclosure is
            required by law if applicable, else, leave empty
        director_policy_maker_of_company:
          anyOf:
            - type: string
              maxLength: 200
            - type: 'null'
          title: Director Policy Maker Of Company
          description: >-
            Name of company where customer is director or policy maker.
            Disclosure is required by law if applicable, otherwise, leave empty
        occupation:
          anyOf:
            - type: string
              maxLength: 200
            - type: 'null'
          title: Occupation
          description: >-
            Applicant's occupation. Needs to be filled out if employment status
            is Employed.
        employment_status:
          const: STUDENT
          title: Employment Status
      type: object
      required:
        - income
        - net_worth
        - employment_status
      title: StudentInvestmentProfile
    Subscription:
      properties:
        description:
          type: string
          title: Description
          description: A description of the webhook's intended use.
          default: ''
        events:
          items:
            type: string
          type: array
          minItems: 1
          title: Events
          description: Which types of events this webhook should be invoked for.
        url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          title: Url
          description: The webhook URL to invoke.
        retry_policy:
          anyOf:
            - $ref: '#/components/schemas/RetryPolicy'
            - type: 'null'
          description: >-
            The retry policy to use if Jiko encounters HTTP errors when calling
            subscription URLs.
        id:
          type: string
          format: uuid
          title: Id
        time_created:
          type: string
          format: date-time
          title: Time Created
        updated_at:
          type: string
          format: date-time
          title: Updated At
        status:
          type: string
          enum:
            - enabled
            - disabled
          title: Status
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - events
        - url
        - id
        - time_created
        - updated_at
        - status
        - object_type
      title: Subscription
    SupportingDocument:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        document_id:
          type: string
          format: uuid
          title: Document Id
        status:
          type: string
          enum:
            - PENDING_REVIEW
            - APPROVED
            - REJECTED
          title: Status
      type: object
      required:
        - id
        - document_id
        - status
      title: SupportingDocument
    SupportingDocumentsVerification:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        type:
          const: supporting_documents
          title: Type
        supporting_documents:
          items:
            $ref: '#/components/schemas/SupportingDocument'
          type: array
          title: Supporting Documents
        status:
          type: string
          enum:
            - PENDING_REVIEW
            - APPROVED
            - REJECTED
          title: Status
      type: object
      required:
        - id
        - description
        - type
        - supporting_documents
        - status
      title: SupportingDocumentsVerification
    TradableMaturityEvent:
      properties:
        event_id:
          type: string
          format: uuid
          title: Event Id
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        payload:
          $ref: '#/components/schemas/TradableMaturityPayload'
        event_type:
          const: tradable.maturity
          title: Event Type
      type: object
      required:
        - event_id
        - timestamp
        - payload
        - event_type
      title: TradableMaturityEvent
    TradableMaturityPayload:
      properties:
        jiko_account_id:
          type: string
          format: uuid
          title: Jiko Account Id
        cusip:
          type: string
          title: Cusip
        cusip_maturity_date:
          type: string
          format: date-time
          title: Cusip Maturity Date
        trading_strategy:
          type: string
          title: Trading Strategy
      type: object
      required:
        - jiko_account_id
        - cusip
        - cusip_maturity_date
        - trading_strategy
      title: TradableMaturityPayload
    Trade:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        trade_datetime:
          type: string
          format: date-time
          title: Trade Datetime
        settled_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Settled Date
        is_settled:
          type: boolean
          title: Is Settled
        activity:
          type: string
          enum:
            - BUY
            - SELL
            - MATURITY
          title: Activity
        cusip:
          type: string
          title: Cusip
        description:
          type: string
          title: Description
        notional:
          $ref: '#/components/schemas/Amount'
        quantity:
          type: integer
          title: Quantity
        price:
          $ref: '#/components/schemas/Decimal'
        maturity_date:
          type: string
          format: date
          title: Maturity Date
        jiko_account_id:
          type: string
          format: uuid
          title: Jiko Account Id
        yield_to_maturity:
          $ref: '#/components/schemas/Decimal'
        tradable_id:
          type: string
          title: Tradable Id
        book_date:
          type: string
          format: date
          title: Book Date
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - id
        - trade_datetime
        - settled_date
        - is_settled
        - activity
        - cusip
        - description
        - notional
        - quantity
        - price
        - maturity_date
        - jiko_account_id
        - yield_to_maturity
        - tradable_id
        - book_date
        - object_type
      title: Trade
    TradeConfirmation:
      properties:
        url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          title: Url
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - url
        - object_type
      title: TradeConfirmation
      example:
        url: https://example.com/path-to-trade-confirmation-pdf
    TradeListResponse:
      properties:
        prev_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Prev Page
        next_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Next Page
        items:
          items:
            $ref: '#/components/schemas/Trade'
          type: array
          title: Items
        object_type:
          type: string
          title: Object Type
          default: CursorList
      type: object
      required:
        - items
      title: TradeListResponse
    TradeReport:
      properties:
        customer_id:
          type: string
          format: uuid
          title: Customer Id
        pocket_ids:
          items:
            type: string
            format: uuid
          type: array
          title: Pocket Ids
        start_date:
          type: string
          format: date
          title: Start Date
        end_date:
          type: string
          format: date
          title: End Date
        filter_by_date_type:
          type: string
          enum:
            - trade_date
            - settlement_date
            - book_date
          title: Filter By Date Type
          default: trade_date
        include_maturity_events:
          type: boolean
          title: Include Maturity Events
          default: false
        type:
          const: TRADE_REPORT
          title: Type
      type: object
      required:
        - customer_id
        - pocket_ids
        - start_date
        - end_date
        - type
      title: TradeReport
    TradingStrategies:
      properties:
        offset:
          type: integer
          title: Offset
        count:
          type: integer
          title: Count
        items:
          items:
            $ref: '#/components/schemas/TradingStrategy'
          type: array
          title: Items
        object_type:
          type: string
          title: Object Type
          default: List
        last_updated:
          type: string
          format: date-time
          title: Last Updated
          description: Timestamp that reflects when the Jiko quote was fetched
      type: object
      required:
        - offset
        - count
        - items
        - last_updated
      title: TradingStrategies
    TradingStrategy:
      properties:
        id:
          type: string
          title: Id
        description:
          type: string
          title: Description
        yield_to_maturity:
          anyOf:
            - $ref: '#/components/schemas/Decimal'
            - type: 'null'
        discount_yield:
          anyOf:
            - $ref: '#/components/schemas/Decimal'
            - type: 'null'
        applicable_to:
          items:
            type: string
            enum:
              - DEPOSIT
              - REINVESTMENT
          type: array
          title: Applicable To
      type: object
      required:
        - id
        - description
        - yield_to_maturity
        - discount_yield
        - applicable_to
      title: TradingStrategy
    Transaction:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        jiko_account_id:
          type: string
          format: uuid
          title: Jiko Account Id
        amount:
          $ref: '#/components/schemas/Amount'
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        status:
          type: string
          enum:
            - PENDING
            - COMPLETED
          title: Status
        details:
          $ref: '#/components/schemas/TransactionDetails'
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - id
        - jiko_account_id
        - amount
        - timestamp
        - status
        - details
        - object_type
      title: Transaction
    TransactionDetails:
      properties:
        transaction_type:
          type: string
          enum:
            - CARD
            - CASH_BACK
            - ACH
            - WIRE
            - WIRE_FEE
            - GENERIC
            - ON_US
          title: Transaction Type
        title:
          anyOf:
            - type: string
            - type: 'null'
          title: Title
        sub_title:
          anyOf:
            - type: string
            - type: 'null'
          title: Sub Title
        transaction_type_title:
          anyOf:
            - type: string
            - type: 'null'
          title: Transaction Type Title
        card_transaction:
          anyOf:
            - $ref: '#/components/schemas/CardTransactionDetails'
            - type: 'null'
        ach_transaction:
          anyOf:
            - $ref: '#/components/schemas/ACHTransactionDetails'
            - type: 'null'
        wire_transaction:
          anyOf:
            - $ref: '#/components/schemas/WireTransactionDetails'
            - type: 'null'
        wire_fee_transaction:
          anyOf:
            - $ref: '#/components/schemas/WireTransactionDetails'
            - type: 'null'
        cash_back_transaction:
          anyOf:
            - $ref: '#/components/schemas/CashBackTransactionDetails'
            - type: 'null'
        on_us_transaction:
          anyOf:
            - $ref: '#/components/schemas/OnUsTransactionDetails'
            - type: 'null'
      type: object
      required:
        - transaction_type
      title: TransactionDetails
    TransactionListResponse:
      properties:
        prev_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Prev Page
        next_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Next Page
        items:
          items:
            $ref: '#/components/schemas/Transaction'
          type: array
          title: Items
        object_type:
          type: string
          title: Object Type
          default: CursorList
      type: object
      required:
        - items
      title: TransactionListResponse
    TransactionLocation:
      properties:
        street_address:
          type: string
          title: Street Address
        city:
          type: string
          title: City
        state:
          anyOf:
            - type: string
            - type: 'null'
          title: State
        country:
          type: string
          title: Country
      type: object
      required:
        - street_address
        - city
        - country
      title: TransactionLocation
    TrustedContact:
      properties:
        first_name:
          anyOf:
            - type: string
            - type: 'null'
          title: First Name
        last_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Name
        email:
          anyOf:
            - type: string
              format: email
            - type: 'null'
          title: Email
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone Number
          description: An E.164-formatted phone number, e.g. +12345678901
        address:
          anyOf:
            - type: string
            - type: 'null'
          title: Address
          description: >-
            The address of the trusted contact. You can use a format such as
            `{street name}, {city}, {state}, {post code}, {country}`
      type: object
      title: TrustedContact
    UnemployedInvestmentProfile:
      properties:
        income:
          type: string
          enum:
            - BELOW_50K
            - BETWEEN_50K_AND_100K
            - BETWEEN_100K_AND_250K
            - OVER_250K
          title: Income
          description: Applicant's estimated annual income in USD.
        net_worth:
          type: string
          enum:
            - BELOW_50K
            - BETWEEN_50K_AND_200K
            - BETWEEN_200K_AND_1M
            - BETWEEN_1M_AND_5M
            - OVER_5M
          title: Net Worth
          description: Applicant's estimated average personal net worth in USD.
        bd_association:
          anyOf:
            - type: string
              maxLength: 200
            - type: 'null'
          title: Bd Association
          description: >-
            Name of broker-dealer association or employment. Disclosure is
            required by law if applicable, else, leave empty
        director_policy_maker_of_company:
          anyOf:
            - type: string
              maxLength: 200
            - type: 'null'
          title: Director Policy Maker Of Company
          description: >-
            Name of company where customer is director or policy maker.
            Disclosure is required by law if applicable, otherwise, leave empty
        occupation:
          anyOf:
            - type: string
              maxLength: 200
            - type: 'null'
          title: Occupation
          description: >-
            Applicant's occupation. Needs to be filled out if employment status
            is Employed.
        employment_status:
          const: UNEMPLOYED
          title: Employment Status
      type: object
      required:
        - income
        - net_worth
        - employment_status
      title: UnemployedInvestmentProfile
    UnverifiedVerification:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        type:
          const: unverified
          title: Type
      type: object
      required:
        - id
        - description
        - type
      title: UnverifiedVerification
    UpdateCounterpartyRequest:
      properties:
        status:
          anyOf:
            - const: UNLINKED
            - type: 'null'
          title: Status
      type: object
      title: UpdateCounterpartyRequest
    UpdateCustomerData:
      properties:
        email:
          anyOf:
            - type: string
              format: email
            - type: 'null'
          title: Email
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone Number
          description: >-
            Applicant's phone number. **Note**: It will be required to include
            country codes in accordance to the E.164 spec in a future release,
            or `^\+[1-9]\d{1,14}$`.
        address:
          anyOf:
            - $ref: '#/components/schemas/ISOAddress'
            - type: 'null'
        trusted_contact:
          anyOf:
            - $ref: '#/components/schemas/TrustedContact'
            - type: 'null'
          description: >-
            Set the trusted contact as null to remove the current trusted
            contact information.
      type: object
      title: UpdateCustomerData
    UpdatePocketRequest:
      properties:
        pocket_name:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
          title: Pocket Name
          description: Pocket name
        status:
          anyOf:
            - const: CLOSED
            - type: 'null'
          title: Status
          description: Pocket status
        closure_reason:
          anyOf:
            - type: string
              enum:
                - PARTNER_INSTIGATED
                - USER_INSTIGATED
                - INACTIVITY
                - SUSPICIOUS_ACTIVITY
            - type: 'null'
          title: Closure Reason
        deposit_strategy_id:
          anyOf:
            - $ref: '#/components/schemas/CreatePocketConfigurationId'
            - type: 'null'
          description: 'Pocket deposit trading strategy ID (Example: UST-4W)'
        reinvestment_strategy_id:
          anyOf:
            - $ref: '#/components/schemas/CreatePocketConfigurationId'
            - type: 'null'
          description: 'Pocket reinvestment trading strategy ID (Example: UST-4W)'
      type: object
      title: UpdatePocketRequest
    UpdateRetryPolicy:
      properties:
        retry_policy:
          anyOf:
            - $ref: '#/components/schemas/RetryPolicy'
            - type: 'null'
      type: object
      title: UpdateRetryPolicy
    UpdateSubscriptionRequest:
      properties:
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: A description of the webhook's intended use.
        events:
          anyOf:
            - items:
                type: string
              type: array
              minItems: 1
              description: Which types of events this webhook should be invoked for.
            - type: 'null'
          title: Events
        url:
          anyOf:
            - type: string
              maxLength: 2083
              minLength: 1
              format: uri
            - type: 'null'
          title: Url
          description: The webhook URL to invoke.
        shared_secret:
          anyOf:
            - type: string
              minLength: 16
            - type: 'null'
          title: Shared Secret
          description: >-
            The shared secret used by the Partner API to sign requests made to
            the webhook. The shared secret needs to be minimum 16 characters
            long.
        retry_policy:
          anyOf:
            - $ref: '#/components/schemas/RetryPolicy'
            - type: 'null'
      type: object
      title: UpdateSubscriptionRequest
    UploadDocumentResponse:
      properties:
        success:
          type: boolean
          title: Success
        document_id:
          type: string
          format: uuid
          title: Document Id
      type: object
      required:
        - success
        - document_id
      title: UploadDocumentResponse
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    VirtualCardResponse:
      properties:
        card_id:
          type: string
          format: uuid
          title: Card Id
        encrypted_pan:
          type: string
          title: Encrypted Pan
        encrypted_cvv:
          type: string
          title: Encrypted Cvv
        encrypted_expiration:
          type: string
          title: Encrypted Expiration
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - card_id
        - encrypted_pan
        - encrypted_cvv
        - encrypted_expiration
        - object_type
      title: VirtualCardResponse
    WireCounterparty:
      properties:
        time_created:
          type: string
          format: date-time
          title: Time Created
        verification_type:
          type: string
          enum:
            - MICRO_DEPOSITS
            - PLAID
            - PRE_VERIFIED
            - INCOMING_WIRE
            - SUPPORTING_DOCUMENTS
          title: Verification Type
        status:
          type: string
          enum:
            - IN_PROGRESS
            - FAILED
            - VERIFIED
          title: Status
        account_number:
          type: string
          title: Account Number
        routing_number:
          type: string
          title: Routing Number
        name_on_account:
          type: string
          title: Name On Account
        account_type:
          type: string
          enum:
            - SAVINGS
            - CHECKING
          title: Account Type
        institution_name:
          type: string
          title: Institution Name
      type: object
      required:
        - time_created
        - verification_type
        - status
        - account_number
        - routing_number
        - name_on_account
        - account_type
        - institution_name
      title: WireCounterparty
    WireCounterpartyV2:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        time_created:
          type: string
          format: date-time
          title: Time Created
        status:
          type: string
          enum:
            - PENDING
            - FAILED
            - LINKED
            - UNLINKED
            - CLOSED
          title: Status
        verification:
          oneOf:
            - $ref: '#/components/schemas/SupportingDocumentsVerification'
            - $ref: '#/components/schemas/IncomingWireVerification'
            - $ref: '#/components/schemas/PreVerifiedVerification'
            - $ref: '#/components/schemas/PlaidVerification'
            - $ref: '#/components/schemas/MicroDepositsVerification'
            - $ref: '#/components/schemas/NameMatchVerification'
            - $ref: '#/components/schemas/UnverifiedVerification'
          title: Verification
          discriminator:
            propertyName: type
            mapping:
              incoming_wire: '#/components/schemas/IncomingWireVerification'
              micro_deposits: '#/components/schemas/MicroDepositsVerification'
              name_match: '#/components/schemas/NameMatchVerification'
              plaid: '#/components/schemas/PlaidVerification'
              pre_verified: '#/components/schemas/PreVerifiedVerification'
              supporting_documents: '#/components/schemas/SupportingDocumentsVerification'
              unverified: '#/components/schemas/UnverifiedVerification'
        type:
          const: wire
          title: Type
        counterparty_name:
          oneOf:
            - $ref: '#/components/schemas/IndividualName'
            - $ref: '#/components/schemas/BusinessName'
          title: Counterparty name
          discriminator:
            propertyName: type
            mapping:
              business: '#/components/schemas/BusinessName'
              individual: '#/components/schemas/IndividualName'
        address:
          $ref: '#/components/schemas/CounterpartyAddress'
        institution_name:
          type: string
          title: Institution Name
        routing_number:
          type: string
          title: Routing Number
        identifier:
          type: string
          title: Identifier
        identifier_code:
          type: string
          enum:
            - SWIFT_BIC
            - CHIPS_PARTICIPANT
            - DIRECT_DEPOSIT_ACCOUNT
            - FED_ROUTING_NUMBER
            - SWIFT_ID_AND_ACCOUNT_NUMBER
            - CHIPS_IDENTIFIER
            - PASSPORT_NUMBER
            - TAX_IDENTIFICATION_NUMBER
            - DRIVERS_LICENSE_NUMBER
            - ALIEN_REGISTRATION_NUMBER
            - CORPORATE_IDENTIFICATION
            - OTHER_IDENTIFICATION
          title: Identifier Code
        wire_instructions:
          anyOf:
            - type: string
              maxLength: 140
            - type: 'null'
          title: Wire Instructions
          description: >-
            Any additional wire instructions required for the wire to be
            processed correctly.
        object_type:
          type: string
          title: Object Type
          readOnly: true
      type: object
      required:
        - id
        - time_created
        - status
        - verification
        - type
        - counterparty_name
        - address
        - institution_name
        - routing_number
        - identifier
        - identifier_code
        - object_type
      title: Wire Counterparty
    WireIncomingPayload:
      properties:
        jiko_account_id:
          type: string
          format: uuid
          title: Jiko Account Id
        wire_id:
          type: string
          format: uuid
          title: Wire Id
      type: object
      required:
        - jiko_account_id
        - wire_id
      title: WireIncomingPayload
    WireOutgoingPayload:
      properties:
        jiko_account_id:
          type: string
          format: uuid
          title: Jiko Account Id
        wire_id:
          type: string
          format: uuid
          title: Wire Id
      type: object
      required:
        - jiko_account_id
        - wire_id
      title: WireOutgoingPayload
    WireRequest:
      properties:
        counterparty_id:
          type: string
          format: uuid
          title: Counterparty Id
        amount_usdc:
          type: integer
          title: Amount Usdc
          description: The amount, in USD cents.
        created_by:
          type: string
          title: Created By
          description: A string identifying the wire transfer originator.
        description:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
          title: Description
          description: A description of the transfer, visible on statements.
        wire_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Wire Id
          description: The ID for this wire transfer, auto-generated if not provided.
      type: object
      required:
        - counterparty_id
      title: WireRequest
    WireTransactionActivity:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: >-
            The ID of the transaction from the perspective of the respective
            pocket
        transaction_id:
          type: string
          format: uuid
          title: Transaction Id
          description: The ID of the transaction this activity is representing
        description:
          type: string
          title: Description
          description: A description of the transaction type, e.g. "ACH Electronic Debit".
        amount:
          $ref: '#/components/schemas/Amount'
        time_booked:
          type: string
          format: date-time
          title: Time Booked
          description: >-
            The time at which the transaction was originally booked into the
            ledger.
        time_settled:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Time Settled
          description: The time at which transaction was settled.
        status:
          type: string
          enum:
            - BOOKED
            - SETTLED
          title: Status
          description: Status of the transactions. Has the transactions been settled
        title:
          type: string
          title: Title
        direction:
          type: string
          enum:
            - DEBIT
            - CREDIT
          title: Direction
        pocket_id:
          type: string
          format: uuid
          title: Pocket Id
          description: The pocket associated with the transaction
        customer_id:
          type: string
          format: uuid
          title: Customer Id
          description: The customer associated with the transaction
        remittance_information:
          anyOf:
            - $ref: '#/components/schemas/RemittanceInformation'
            - type: 'null'
        type:
          const: WIRE
          title: Type
        reference_number:
          type: string
          title: Reference Number
        counterparty_name:
          type: string
          title: Counterparty Name
        wire_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Wire Id
      type: object
      required:
        - id
        - transaction_id
        - description
        - amount
        - time_booked
        - time_settled
        - status
        - title
        - direction
        - pocket_id
        - customer_id
        - type
        - reference_number
        - counterparty_name
        - wire_id
      title: WireTransactionActivity
    WireTransactionDetails:
      properties:
        reference_number:
          type: string
          title: Reference Number
        counterparty_name:
          type: string
          title: Counterparty Name
        wire_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Wire Id
      type: object
      required:
        - reference_number
        - counterparty_name
      title: WireTransactionDetails
    partner_api__interface__models__accounts__Portfolio:
      properties:
        securities:
          items:
            $ref: '#/components/schemas/Security'
          type: array
          title: Securities
          description: Securities currently held by the brokerage account
        cash:
          allOf:
            - $ref: '#/components/schemas/Amount'
          description: Cash currently held in the brokerage account.
        all_time_earnings:
          anyOf:
            - $ref: '#/components/schemas/Amount'
            - type: 'null'
          description: >-
            All time portfolio earnings. Use of this field is discouraged, as it
            will be removed in a future release. Please use the [Get
            Earnings](#tag/Pockets/operation/get-earnings-v2) endpoint instead.
      type: object
      required:
        - securities
        - cash
        - all_time_earnings
      title: Portfolio
    partner_api__interface__models__v2__pockets__Portfolio:
      properties:
        securities:
          items:
            oneOf:
              - $ref: '#/components/schemas/FixedIncomeSecurity'
              - $ref: '#/components/schemas/OtherSecurity'
            title: Securities currently held by the brokerage account
            discriminator:
              propertyName: type
              mapping:
                FIXED_INCOME: '#/components/schemas/FixedIncomeSecurity'
                OTHER: '#/components/schemas/OtherSecurity'
          type: array
          title: Securities
        cash:
          allOf:
            - $ref: '#/components/schemas/Amount'
          description: Cash currently held in the brokerage account.
        all_time_earnings:
          anyOf:
            - $ref: '#/components/schemas/Amount'
            - type: 'null'
          description: >-
            All time portfolio earnings. Use of this field is discouraged, as it
            will be removed in a future release. Please use the [Get
            Earnings](#tag/Pockets/operation/get-earnings-v2) endpoint instead.
        total_value:
          allOf:
            - $ref: '#/components/schemas/Amount'
          description: Total value, in USD cents
        fees:
          items:
            oneOf:
              - $ref: '#/components/schemas/AUMFee'
            discriminator:
              propertyName: type
              mapping:
                AUM_FEE: '#/components/schemas/AUMFee'
          type: array
          title: Fees
          description: Any outstanding fees
        liquidation_value_t0:
          allOf:
            - $ref: '#/components/schemas/Amount'
          description: Available liquid amount at T+0
        liquidation_value_t1:
          allOf:
            - $ref: '#/components/schemas/Amount'
          description: Available liquid amount at T+1
      type: object
      required:
        - securities
        - cash
        - total_value
        - fees
        - liquidation_value_t0
        - liquidation_value_t1
      title: Portfolio
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer
tags:
  - name: Individuals
    description: >
      Use these endpoints to initiate, manage, and complete KYC for Individuals.
      When an application has `status: “APPROVED”`, a
      [Customer](reference/customers/get_customer_data_api_v1_customers__customer_id___get)
      is created for the Individual. Customers can have multiple
      [Pockets](/products/partner-api/reference/pockets/list-pockets-v2).
  - name: Businesses
    description: >
      Use these endpoints to initiate, manage, and complete KYB for Businesses.
      When an application has `status: “APPROVED”`, a
      [Customer](reference/customers/get_customer_data_api_v1_customers__customer_id___get)
      is created for the Business. Customers can have multiple
      [Pockets](/products/partner-api/reference/pockets/list-pockets-v2).
  - name: Accounts
    description: >
      Use these endpoints to view Account information. Jiko Accounts (also known
      as Pockets) consist of a bank account and a brokerage account. When funds
      are deposited into a Pocket, they’re immediately invested in T-bills.


      </br>


      In the API interface, the Account object encapsulates both accounts and
      can be treated as a single account to deposit to or withdraw from.
  - name: Customers
    description: Use these endpoints to view and manage personal details for a Customer.
  - name: Transactions
    description: >
      Use these endpoints to view Transactions of funds moving in and out of
      Jiko Accounts, specifically the bank account component (cash deposits and
      withdrawals). For viewing information regarding the brokerage account
      component (buying and selling of T-bills), use
      [Trades](/products/partner-api/reference/trades).
  - name: Trades
    description: >-
      Use these endpoints to view Trades, or transactions related to the buying
      and selling of T-bills, within the brokerage account component of Jiko
      Pockets.
  - name: Statements
    description: >-
      Use these endpoints to retrieve monthly statements for bank and brokerage
      accounts.
  - name: Portals
    description: >-
      Use these endpoints to create and view Portals. Portals allow third-party
      financial institutions to initiate ACH and wire transfers. A Portal
      consists of a routing and an account number. Multiple Portals can be
      created for a single Pocket.
  - name: ACH
    description: Use these endpoints to create, view, and manage ACH Transfers.
  - name: Wires
    description: Use this endpoint to initiate Wire Transfers.
  - name: On-Us Transfers
    description: >-
      Use these endpoints to create and view On-Us (Book) Transfers between Jiko
      accounts.
  - name: Counterparties
    description: >
      Use these endpoints to view Counterparties. Counterparties represent
      external accounts when moving funds in or out of a Jiko Account. Jiko will
      only transfer funds between accounts where the Counterparty has `status:
      “VERIFIED”`, meaning ownership of the account has been confirmed.
  - name: 'Counterparties: Plaid'
    description: Use these endpoints to create and view Counterparties using Plaid.
  - name: Manage Cards
    description: Use these endpoints to view and manage Card information.
  - name: Physical Cards
    description: Use these endpoints to create, view, and manage Physical Debit Cards.
  - name: Virtual Cards
    description: Use these endpoints to create, view, and manage Virtual Debit Cards.
  - name: Security
    description: Use these endpoints to authenticate requests to the Jiko API.
  - name: Sandbox
    description: Use these endpoints to initiate sandbox functionality.
  - name: Subscriptions
    description: >-
      Use these endpoints to create, view, and manage Subscriptions.
      Subscriptions provide Partners with the ability to subscribe to Events.
      Once subscribed, Events will be sent to the specified URL.
  - name: Events
    description: Use these endpoints to view Events.
  - name: Health
    description: Use these endpoints to setup automatic health checks for the Partner API.
  - name: Reports
    description: |-
      **⚠️ Experimental ⚠️** These endpoints are subject to change. 

       Use these endpoints to interact with Reports.
x-tagGroups:
  - name: Accounts
    tags:
      - Accounts
      - Customers
      - Transactions
      - Trades
      - Statements
  - name: Cards
    tags:
      - Manage Cards
      - Physical Cards
      - Virtual Cards
  - name: Onboarding
    tags:
      - Businesses
      - Individuals
  - name: Platform
    tags:
      - Events
      - Health
      - Sandbox
      - Security
      - Subscriptions
      - Webhooks
  - name: Reports
    tags:
      - Reports
  - name: Transfers
    tags:
      - ACH
      - Counterparties
      - On-Us Transfers
      - Portals
      - Wires
  - name: Pockets V2
    tags:
      - Pockets
      - Trading Strategies
      - Transactions V2
  - name: Platform V2
    tags:
      - Health
  - name: Transfers V2
    tags:
      - Counterparties V2
