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


    Welcome to the Jiko Customer API Reference! Jiko enables you to integrate
    money storage and movement, backed by the safety and security of US Treasury
    Bills. Use the Customer API if you are a Jiko customer integrating Jiko
    directly into your internal systems.


    **For questions regarding authorization for the Customer API, please visit
    [our OAuth guide](guides/oauth/getting-started)**
  version: 'Version: fd60d28d'
servers:
  - url: https://api.business.jiko.io
    description: Production server
  - url: https://customer-api.sandbox-api.jikoservices.com
    description: Sandbox server
paths:
  /api/v1/statements/:
    get:
      tags:
        - Statements
      summary: List Customer Statements
      description: >-
        This endpoint retrieves a list of all available account statements
        (e.g., `BANK`, `BROKERAGE`) and tax documents (`1099-INT`, `1099-B`).


        Returns a paginated `StatementListResponse`. The list can be filtered by
        `account`, statement `type`, and date `key` (e.g., "2023" or "2023-01").


        Customers can expect monthly statements to be available by the 15th of
        every month.
      operationId: list_customer_statements_api_v1_statements__get
      security:
        - CodeBearer: []
      parameters:
        - name: type[]
          in: query
          required: false
          schema:
            type: array
            items:
              enum:
                - 1099B
                - 1099INT
                - BANK
                - BROKERAGE
                - CONSOLIDATED_BANK
                - CONSOLIDATED_BROKERAGE
              type: string
            title: Type[]
        - 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: order
          in: query
          required: false
          schema:
            enum:
              - desc
              - asc
            type: string
            default: desc
            title: Order
        - name: account[]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Account[]
        - name: key
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                pattern: ^\d{4}(-\d{2})?$
              - type: 'null'
            title: Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatementListResponse'
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/trades/:
    get:
      tags:
        - Trades
      summary: List Trades
      description: >-
        This endpoint lists all buy, sell, and maturity events for securities
        (T-bills) within the customer's accounts.


        Returns a paginated `TradeListResponse`. The list can be filtered by
        `account` and a trade datetime range.
      operationId: list_trades_api_v1_trades__get
      security:
        - CodeBearer: []
      parameters:
        - 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: 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: 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
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TradeListResponse'
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/trades.csv:
    get:
      tags:
        - Trades
      summary: Trades As Csv
      description: >-
        This endpoint downloads the customer's complete trade history as a CSV
        file.


        This is useful for record-keeping and analysis and can be filtered by
        `account` and a trade datetime range.
      operationId: trades_as_csv_api_v1_trades_csv_get
      security:
        - CodeBearer: []
      parameters:
        - 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: 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
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TradeListResponse'
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/accounts/{account_id}/trades/{trade_id}/confirmation/:
    get:
      tags:
        - Trades
      summary: Download Trade Confirmation
      description: >-
        This endpoint downloads the confirmation for a specific trade, and
        returns a `307 Temporary Redirect` to the trade confirmation PDF
        location.


        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: >-
        download_trade_confirmation_api_v1_accounts__account_id__trades__trade_id__confirmation__get
      security:
        - CodeBearer: []
      parameters:
        - name: trade_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Trade Id
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
      responses:
        '307':
          description: Successful Response
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/customer/:
    get:
      tags:
        - Customer
      summary: Get Customer
      description: >-
        This endpoint retrieves the customer's profile information. This can be
        for an individual or a business.


        It returns a `Customer` object which can be either an `Individual` or a
        `Business` object, containing details like `name`, `address`, `email`,
        and `account_status`.
      operationId: get_customer_api_v1_customer__get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Customer'
        '404':
          description: Not found
      security:
        - CodeBearer: []
  /api/v1/documents/{document_type}/:
    post:
      tags:
        - Customer
      summary: Upload Document To Customer
      description: >-
        This endpoint uploads a verification document (e.g., passport, articles
        of incorporation) directly to the customer's profile.


        The `document_type` is specified in the URL path. The raw file data is
        sent in the request body with `Content-Type` and `Content-Length`
        headers. It returns the document's new `document_id`.


        It is mainly used to verify customer requests (e.g. Customer change
        request, close account request, ACH request).
      operationId: Upload_document_to_Customer_api_v1_documents__document_type___post
      security:
        - CodeBearer: []
      parameters:
        - 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|application/pdf|image/jpeg
            title: Content-Type
        - name: content-length
          in: header
          required: true
          schema:
            type: integer
            exclusiveMaximum: 52428800
            exclusiveMinimum: 0
            title: Content-Length
      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/customer/beneficial-owners/:
    get:
      tags:
        - Customer
      summary: Get Beneficial Owners
      description: >-
        For business customers, this endpoint lists the beneficial owners who
        have been identified for the account.


        It returns a `ListBeneficialOwnersResponse` object containing a list of
        `BusinessIndividual` objects.
      operationId: get_beneficial_owners_api_v1_customer_beneficial_owners__get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListBeneficialOwnersResponse'
        '404':
          description: Not found
      security:
        - CodeBearer: []
  /api/v1/team/audit-logs/:
    get:
      tags:
        - Team
      summary: Get Team Audit Logs
      description: >-
        This endpoint retrieves audit logs for the entire team. This is useful
        for tracking actions performed by team members.


        It returns a paginated list of `CustomerAuditLogEntry` objects, which
        can be filtered by a time range.
      operationId: get_team_audit_logs_api_v1_team_audit_logs__get
      security:
        - CodeBearer: []
      parameters:
        - name: cursor
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            exclusiveMinimum: 0
            lte: 100
            default: 100
            title: Limit
        - 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
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerAuditLogResults'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/team/members/{member_id}/audit-logs/:
    get:
      tags:
        - Team
      summary: Get Team Member Audit Logs
      description: >-
        This endpoint retrieves audit logs for a specific team member, and
        returns a paginated list of `CustomerAuditLogEntry` objects.
      operationId: >-
        get_team_member_audit_logs_api_v1_team_members__member_id__audit_logs__get
      security:
        - CodeBearer: []
      parameters:
        - name: member_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Member Id
        - name: cursor
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            exclusiveMinimum: 0
            lte: 100
            default: 100
            title: Limit
        - 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
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerAuditLogResults'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/team/audit-logs.csv:
    get:
      tags:
        - Team
      summary: Team Audits As Csv
      description: >-
        This endpoint downloads team audit logs in CSV format for offline
        analysis and record-keeping, and can be filtered by `member_id` and a
        timestamp range.
      operationId: team_audits_as_csv_api_v1_team_audit_logs_csv_get
      security:
        - CodeBearer: []
      parameters:
        - name: member_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            title: Member Id
        - 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
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerAuditLogResults'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/team/:
    get:
      tags:
        - Team
      summary: Get Team
      description: >-
        This endpoint retrieves information about the team, including a list of
        all team members.


        It returns a `TeamResponse` object which contains the team ID and a list
        of `MemberGroup` objects, categorized by member status (`ACTIVE`,
        `PENDING`, etc.).
      operationId: get_team_api_v1_team__get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamResponse'
      security:
        - CodeBearer: []
  /api/v1/team/{member_id}/:
    get:
      tags:
        - Team
      summary: Get Team Member
      description: >-
        This endpoint retrieves the details of a specific team member, and
        returns a `TeamMemberResponse` object.
      operationId: get_team_member_api_v1_team__member_id___get
      security:
        - CodeBearer: []
      parameters:
        - name: member_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Member Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamMemberResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
        - Team
      summary: Edit Team Member
      description: >-
        This endpoint allows you to edit a team member's `role` or `status`.


        The request body takes an `EditTeamMemberRequest` object, and returns
        the updated `TeamMemberResponse` object.
      operationId: edit_team_member_api_v1_team__member_id___put
      security:
        - CodeBearer: []
      parameters:
        - name: member_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Member Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EditTeamMemberRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamMemberResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
        - Team
      summary: Deactivate Team Member
      description: >-
        This endpoint deactivates a team member from a team, and returns the
        `TeamMemberResponse` object for the deactivated member.
      operationId: deactivate_team_member_api_v1_team__member_id___delete
      security:
        - CodeBearer: []
      parameters:
        - name: member_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Member Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamMemberResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/team/invite/:
    post:
      tags:
        - Team
      summary: Invite Team Member
      description: >-
        This endpoint invites a new member to a team.


        The request body requires an `InviteMemberRequest` object containing the
        new member's `first_name`, `last_name`, `email`, `phone_number`, and
        `role`.
      operationId: invite_team_member_api_v1_team_invite__post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InviteMemberRequest'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - CodeBearer: []
  /api/v1/team/{member_id}/invite/:
    post:
      tags:
        - Team
      summary: Resend Invite Team Member
      description: >-
        This endpoint resends an invitation to a team member, and returns a `200
        OK` response upon a successful request.
      operationId: resend_invite_team_member_api_v1_team__member_id__invite__post
      security:
        - CodeBearer: []
      parameters:
        - name: member_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Member Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
        - Team
      summary: Cancel Invite Team Member
      description: >-
        This endpoint cancels an invitation that has been sent to a team member,
        and returns a `200 OK` response upon a successful request.
      operationId: cancel_invite_team_member_api_v1_team__member_id__invite__delete
      security:
        - CodeBearer: []
      parameters:
        - name: member_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Member Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/team/service-users/:
    post:
      tags:
        - Team
      summary: Create Service User
      operationId: create_service_user_api_v1_team_service_users__post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateServiceUserRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - CodeBearer: []
  /api/v2/counterparties/:
    get:
      tags:
        - Counterparties V2
      summary: Get Counterparties
      description: >-
        This endpoint allows you to list all the counterparties associated with
        a customer's pocket. You can filter the results by

        counterparty type (`ach`, `wire`, `international_wire`, `on_us`, etc.)
        and status (`PENDING`, `LINKED`, `UNLINKED`, etc.).


        It returns a paginated list of `Counterparty` objects. The response
        includes a `next_page` token for retrieving more results.
      operationId: list-counterparties-v2
      security:
        - CodeBearer: []
      parameters:
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            default: ''
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 30
            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
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CounterpartyListResponseV2'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
        - Counterparties V2
      summary: Create Counterparty
      description: >-
        This endpoint is used to create a new counterparty for a customer. You
        can create different types of counterparties,

        including `ach`, `on-us`, `wire`, and `international_wire`, by providing
        the relevant details in the request body.


        **Note:** The `account_number` field for creating an `on-us`
        counterparty represents the Jiko network address of the pocket.


        The request body must conform to one of the request schemas. On success,
        it returns the newly created counterparty object.
      operationId: create-counterparty-v2
      security:
        - CodeBearer: []
      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: Payload
      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 Create-Counterparty-V2
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/counterparties/{counterparty_id}/:
    get:
      tags:
        - Counterparties V2
      summary: Get Counterparty
      description: >-
        This endpoint retrieves the details of a specific counterparty by its
        unique ID. It returns a single counterparty object corresponding to the
        provided `counterparty_id`.
      operationId: get-counterparty-v2
      security:
        - CodeBearer: []
      parameters:
        - name: counterparty_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Counterparty Id
      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-V2
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
        - Counterparties V2
      summary: Update Counterparty
      description: >-
        This endpoint is used to update the status of a counterparty. For
        example, you can use it to unlink a counterparty that is no longer
        needed.


        The request body takes an `UpdateCounterpartyRequest` object. On
        success, it returns the updated counterparty object.
      operationId: update-counterparty-v2
      security:
        - CodeBearer: []
      parameters:
        - name: counterparty_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Counterparty Id
      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-V2
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/pockets/:
    get:
      tags:
        - Pockets V2
      summary: List Customer Pockets
      description: >-
        This endpoint lists all the pockets for a given customer. It returns a
        `Pockets` object which is a paginated list of `Pocket` objects.
      operationId: list_customer_pockets_api_v2_pockets__get
      security:
        - CodeBearer: []
      parameters:
        - 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: 1
            default: 30
            title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pockets'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
        - Pockets V2
      summary: Create Customer Pocket
      description: >-
        This endpoint creates a new pocket for a customer.


        The request body requires a `CreatePocketRequest` object, specifying the
        `trading_strategy_id` and a `pocket_name`. It returns the newly created
        `Pocket` object.
      operationId: create_customer_pocket_api_v2_pockets__post
      security:
        - CodeBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePocketRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pocket'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/pockets/{pocket_id}/:
    get:
      tags:
        - Pockets V2
      summary: Get Customer Pocket
      description: >-
        This endpoint retrieves the details of a specific pocket, and returns a
        `Pocket` object with detailed portfolio information.
      operationId: get_customer_pocket_api_v2_pockets__pocket_id___get
      security:
        - CodeBearer: []
      parameters:
        - name: pocket_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Pocket Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerPocket'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
        - Pockets V2
      summary: Update Pocket
      description: >-
        This endpoint updates a pocket's information, such as its `name` or
        `status` (e.g., closing a pocket).

        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.


        The request body requires an `UpdatePocketRequest` object. It returns
        the updated `Pocket` object.
      operationId: update_pocket_api_v2_pockets__pocket_id___patch
      security:
        - CodeBearer: []
      parameters:
        - name: pocket_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Pocket Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePocketRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pocket'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/pockets/{pocket_id}/earnings/:
    get:
      tags:
        - Pockets V2
      summary: Get Single Pocket Earnings
      description: >-
        This endpoint returns pocket earnings for a single pocket for a
        specified datetime period.


        - Optionally pre-defined ranges are defined as such:

          - ytd (Year-to-date) From January 1st of the current year
          - mtd (Month-to-date) From the 1st calendar day of the current month, or start of business that month
          - wtd (Week-to-date) From the most recent Monday, or start of business that week.
          - all-time (default) From Account start
          - All through to the current day if buisness day, or last buisness day.

        When `range` is chosen, you need to specify `date_from` and `date_to`
        (inclusive).
      operationId: get_single_pocket_earnings_api_v2_pockets__pocket_id__earnings__get
      security:
        - CodeBearer: []
      parameters:
        - name: pocket_id
          in: path
          required: true
          schema:
            type: string
            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
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EarningsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/transactions/:
    get:
      tags:
        - Transactions V2
      summary: List Transactions
      description: >-
        This endpoint lists all transactions for a customer's pockets. It
        provides a comprehensive view of all financial activities.


        It returns a paginated list of `Transaction` objects, which can be of
        various types (`ACH`, `WIRE`, `CARD`, etc.).


        It does not include transactions between the bank account and brokerage
        account.
      operationId: list_transactions_api_v2_transactions__get
      security:
        - CodeBearer: []
      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: pocket[]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Pocket[]
        - name: type[]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  enum:
                    - ACH
                    - WIRE
                    - ON_US
                    - CARD
                    - FEE
                    - CREDIT
                    - GENERIC
                  type: string
              - type: 'null'
            title: Type[]
        - name: on_us_transfer[]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: On Us Transfer[]
        - name: wire[]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: 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: amount_to
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            title: Amount To
        - name: amount_from
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            title: Amount From
        - name: direction
          in: query
          required: false
          schema:
            anyOf:
              - enum:
                  - DEBIT
                  - CREDIT
                type: string
              - type: 'null'
            title: Direction
      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____
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/transactions.csv:
    get:
      tags:
        - Transactions V2
      summary: Transactions As Csv
      description: >-
        This endpoint downloads a customer's transaction history in CSV format.
        This is useful for accounting and reconciliation purposes, and can be
        filtered by `pocket`, transaction `type`, and a time range.
      operationId: transactions_as_csv_api_v2_transactions_csv_get
      security:
        - CodeBearer: []
      parameters:
        - name: pocket[]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Pocket[]
        - name: type[]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  enum:
                    - ACH
                    - WIRE
                    - ON_US
                    - CARD
                    - FEE
                    - CREDIT
                    - GENERIC
                  type: string
              - type: 'null'
            title: Type[]
        - 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
      responses:
        '200':
          description: Successful Response
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/transfer-requests/:
    post:
      tags:
        - Transfer Requests
      summary: Create Transfer Request
      description: >-
        This endpoint creates a new transfer request. This is the first step in
        a dual-control workflow for making transfers.


        The request body requires a `CreateTransferRequest` object, which
        specifies the transfer details and the reviewers.
      operationId: create_transfer_request_api_v1_transfer_requests__post
      security:
        - CodeBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTransferRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
        - Transfer Requests
      summary: Get Transfer Requests
      description: >-
        This endpoint retrieves a list of transfer requests.


        You can filter by `status`, `reviewer`, and other criteria, and returns
        a paginated list of `TransferRequest` objects.
      operationId: get_transfer_requests_api_v1_transfer_requests__get
      security:
        - CodeBearer: []
      parameters:
        - name: status_filter[]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  $ref: '#/components/schemas/TransferRequestStatus'
              - type: 'null'
            title: Status Filter[]
        - name: reviewer_filter[]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Reviewer Filter[]
        - name: filter[]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
              - type: 'null'
            title: Filter[]
          example:
            - include_unassigned
        - name: exclude_creator_filter[]
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            title: Exclude Creator Filter[]
        - 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
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferRequestsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/transfer-requests/reviewers/:
    get:
      tags:
        - Transfer Requests
      summary: Get Transfer Request Reviewers
      description: >-
        This endpoint retrieves a list of team members who are authorized to
        review transfer requests, and returns a list of `DualAuthUser` objects.
      operationId: get_transfer_request_reviewers_api_v1_transfer_requests_reviewers__get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/DualAuthUser'
                type: array
                title: >-
                  Response Get Transfer Request Reviewers Api V1 Transfer
                  Requests Reviewers  Get
      security:
        - CodeBearer: []
  /api/v1/transfer-requests/{transfer_id}/:
    get:
      tags:
        - Transfer Requests
      summary: Get Transfer Request
      description: >-
        This endpoint retrieves the details of a specific transfer request, and
        returns a single `TransferRequest` object.
      operationId: get_transfer_request_api_v1_transfer_requests__transfer_id___get
      security:
        - CodeBearer: []
      parameters:
        - name: transfer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Transfer Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferRequest'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
        - Transfer Requests
      summary: Cancel Transfer Request
      description: >-
        This endpoint cancels a pending transfer request, and returns a `204 No
        Content` response upon a successful cancellation.
      operationId: cancel_transfer_request_api_v1_transfer_requests__transfer_id___delete
      security:
        - CodeBearer: []
      parameters:
        - name: transfer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Transfer Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/transfer-requests/{transfer_id}/status/:
    patch:
      tags:
        - Transfer Requests
      summary: Update Transfer Request Status
      description: >-
        This endpoint is used to approve or deny a transfer request as part of a
        dual-control workflow.


        The request body requires an `UpdateTransferRequestStatus` object. It
        returns the updated `TransferRequest` object.
      operationId: >-
        update_transfer_request_status_api_v1_transfer_requests__transfer_id__status__patch
      security:
        - CodeBearer: []
      parameters:
        - name: transfer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Transfer Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTransferRequestStatus'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferRequest'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/subscriptions/:
    post:
      tags:
        - Subscriptions
      summary: Create Subscription
      description: >-
        This endpoint creates a new webhook subscription to receive real-time
        notifications for specified events.


        The request body requires a `CreateSubscriptionRequest` object, which
        includes the `url` for the webhook, the `events` to subscribe to, and a
        `shared_secret` for verifying request signatures.
      operationId: create_subscription_api_v1_subscriptions__post
      security:
        - CodeBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSubscriptionRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
        - Subscriptions
      summary: Get Subscriptions
      description: >-
        This endpoint lists all of your current webhook subscriptions, and
        returns a paginated list of `Subscription` objects.
      operationId: get_subscriptions_api_v1_subscriptions__get
      security:
        - CodeBearer: []
      parameters:
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            default: ''
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
            title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CursorListResponse_Subscription_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/subscriptions/{subscription_id}/:
    patch:
      tags:
        - Subscriptions
      summary: Update Subscription
      description: >-
        This endpoint updates an existing webhook subscription. You can change
        the `url`, the subscribed `events`, or the `status`
        (`enabled`/`disabled`).


        The request body requires an `UpdateSubscriptionRequest` object. It
        returns a `202 Accepted` response with the updated `Subscription`
        object.
      operationId: update_subscription_api_v1_subscriptions__subscription_id___patch
      security:
        - CodeBearer: []
      parameters:
        - name: subscription_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Subscription Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSubscriptionRequest'
      responses:
        '202':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
        - Subscriptions
      summary: Get Subscription
      description: >-
        This endpoint retrieves the details of a specific webhook subscription,
        and returns a single `Subscription` object.
      operationId: get_subscription_api_v1_subscriptions__subscription_id___get
      security:
        - CodeBearer: []
      parameters:
        - name: subscription_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Subscription Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
        - Subscriptions
      summary: Delete Subscription
      description: >-
        This endpoint deletes a webhook subscription, and returns a `202
        Accepted` response upon successful deletion.
      operationId: delete_subscription_api_v1_subscriptions__subscription_id___delete
      security:
        - CodeBearer: []
      parameters:
        - name: subscription_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Subscription Id
      responses:
        '202':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/events/:
    get:
      tags:
        - Events
      summary: Get Events
      description: >-
        This endpoint retrieves a list of events that have occurred for a
        customer's account, often related to webhook notifications. You can
        filter events by `subscription_id` and/or a time range query parameter
        (`after`).


        It returns a paginated list of `Event` objects, each containing details
        about the event and any delivery attempts if it's a webhook event.
      operationId: get_events_api_v1_events__get
      security:
        - CodeBearer: []
      parameters:
        - name: subscription_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            title: Subscription Id
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            default: ''
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
            title: Limit
        - name: after
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: After
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CursorListResponse_Event_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/accounts/{account_id}/portals/:
    get:
      tags:
        - Portals
      summary: List Account Portals
      description: >-
        This endpoint lists the payment portals associated with a specific Jiko
        account ID. Portals provide account and routing numbers for receiving
        funds into an account.


        Returns a `ListPortalsResponse` object containing a list of `Portal`
        objects.
      operationId: list_account_portals_api_v1_accounts__account_id__portals__get
      security:
        - CodeBearer: []
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Account Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPortalsResponse'
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/portals/:
    get:
      tags:
        - Portals
      summary: List Customer Portals
      description: >-
        This endpoint lists all portals for the customer. It returns a
        `ListPortalsResponse` object containing a list of `Portal` objects.
      operationId: list_customer_portals_api_v1_portals__get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPortalsResponse'
        '404':
          description: Not found
      security:
        - CodeBearer: []
  /api/v1/report-requests/:
    post:
      tags:
        - Reports
      summary: Create Customer 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_customer_report_request_api_v1_report_requests__post
      security:
        - CodeBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateReportRequest'
      responses:
        '201':
          description: Successful Response
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-badges:
        - name: Experimental
          color: '#9c27b0'
          position: after
    get:
      tags:
        - Reports
      summary: List Customer Report Requests
      description: >-
        This endpoint lists all report request for a customer. You can filter by
        date from and to


        It returns a paginated list of `ReportRequest` objects.
      operationId: list_customer_report_requests_api_v1_report_requests__get
      security:
        - CodeBearer: []
      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: 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
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportRequestListResponse'
        '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 Customer Report Request
      description: >-
        This endpoint retrieves the details of a specific report request, and
        returns a single `ReportRequest` object.
      operationId: >-
        get_customer_report_request_api_v1_report_requests__report_request_id___get
      security:
        - CodeBearer: []
      parameters:
        - name: report_request_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Report Request Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportRequest'
        '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/{report_id}:
    get:
      tags:
        - Reports
      summary: Get Customer Report
      description: >-
        This endpoint retrieves the details of a specific report, and returns a
        single `Report` object.
      operationId: get_customer_report_api_v1_report__report_id__get
      security:
        - CodeBearer: []
      parameters:
        - name: report_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Report Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Report'
        '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/{report_id}/download/:
    post:
      tags:
        - Reports
      summary: Download Customer Report
      description: >-
        This endpoint creates a temporary, time-limited URL for downloading the
        report corresponding to the given id, and returns a single
        `ReportDownload` object.
      operationId: download_customer_report_api_v1_report__report_id__download__post
      security:
        - CodeBearer: []
      parameters:
        - name: report_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Report Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportDownload'
        '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/v2/business-applications/:
    post:
      tags:
        - Business Applications V2
      summary: Create Business Application
      description: >-
        This endpoint initiates a new application for a business account. This
        is the first step in the business onboarding process.


        A successful request will create a new application record and return a
        `201 Created` status.
      operationId: create_business_application_api_v2_business_applications__post
      security:
        - CodeBearer: []
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema: {}
    get:
      tags:
        - Business Applications V2
      summary: List Business Applications
      description: >-
        This endpoint retrieves a list of all business applications associated
        with the user. It allows for tracking the status and details of multiple
        applications.


        The response is a paginated list of `BusinessApplication` objects.
        Pagination is controlled using `cursor` and `limit` query parameters.
      operationId: list_business_applications_api_v2_business_applications__get
      security:
        - CodeBearer: []
      parameters:
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            default: ''
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 30
            title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BusinessApplication'
                title: >-
                  Response List Business Applications Api V2 Business
                  Applications  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/business-applications/{application_id}/:
    get:
      tags:
        - Business Applications V2
      summary: Get Business Application
      description: >-
        This endpoint fetches the complete details of a single business
        application using its unique ID.


        It returns a comprehensive `BusinessApplication` object containing all
        submitted information, such as entity details, risk information, and
        current status.
      operationId: >-
        get_business_application_api_v2_business_applications__application_id___get
      security:
        - CodeBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessApplication'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
        - Business Applications V2
      summary: Update Business Application
      description: >-
        This endpoint is used to update the information of an existing,
        unsubmitted business application.


        The request body should contain a `BusinessApplicationRequest` object
        with the fields to be updated. It returns the full `BusinessApplication`
        object with the changes applied.
      operationId: >-
        update_business_application_api_v2_business_applications__application_id___patch
      security:
        - CodeBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BusinessApplicationRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessApplication'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/business-applications/{application_id}/apply/:
    post:
      tags:
        - Business Applications V2
      summary: Apply Business Application
      description: >-
        This endpoint formally submits a completed business application for
        review and processing.


        Once submitted, the application status will change, and it will be sent
        to Jiko for verification and approval. The updated `BusinessApplication`
        object is returned.
      operationId: >-
        apply_business_application_api_v2_business_applications__application_id__apply__post
      security:
        - CodeBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessApplication'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/business-applications/{application_id}/related-parties/:
    get:
      tags:
        - Business Applications V2
      summary: List Related Party Applications
      description: >-
        This endpoint lists all related parties (e.g., beneficial owners,
        control persons) associated with a specific business application.


        It returns a list of `RelatedPartyApplicationResponse` objects, each
        detailing an individual linked to the business entity.
      operationId: >-
        list_related_party_applications_api_v2_business_applications__application_id__related_parties__get
      security:
        - CodeBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RelatedPartyApplicationResponse'
                title: >-
                  Response List Related Party Applications Api V2 Business
                  Applications  Application Id  Related Parties  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
        - Business Applications V2
      summary: Create Related Party Application
      description: >-
        This endpoint adds a new related party to a business application.


        The request body must be a `RelatedPartyApplicationRequest` object
        containing the individual's details.


        The newly created related party record is returned with a `201 Created`
        reponse.
      operationId: >-
        create_related_party_application_api_v2_business_applications__application_id__related_parties__post
      security:
        - CodeBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RelatedPartyApplicationRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RelatedPartyApplicationResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/business-applications/{application_id}/documents/:
    get:
      tags:
        - Business Applications V2
      summary: List Business Documents
      description: >-
        This endpoint lists all the documents that have been uploaded in
        connection with a specific application.


        It returns an array of `Document` objects, showing the `type`, `status`,
        and `id` of each uploaded file.
      operationId: >-
        list_business_documents_api_v2_business_applications__application_id__documents__get
      security:
        - CodeBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Document'
                title: >-
                  Response List Business Documents Api V2 Business Applications 
                  Application Id  Documents  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/business-applications/{application_id}/related-parties/{related_party_id}/documents/:
    get:
      tags:
        - Business Applications V2
      summary: List Related Party Documents
      description: >-
        This endpoint lists all the documents that have been uploaded in
        connection with a specific application.


        It returns an array of `Document` objects, showing the `type`, `status`,
        and `id` of each uploaded file.
      operationId: >-
        list_related_party_documents_api_v2_business_applications__application_id__related_parties__related_party_id__documents__get
      security:
        - CodeBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
        - name: related_party_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Related Party Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Document'
                title: >-
                  Response List Related Party Documents Api V2 Business
                  Applications  Application Id  Related Parties  Related Party
                  Id  Documents  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/business-applications/{application_id}/invite/:
    post:
      tags:
        - Business Applications V2
      summary: Business Application Invite
      description: >-
        This endpoint sends invitations related to the business application. It
        can be used to invite collaborators to help fill out the application,
        request that an authorized person submit the application, or invite a
        related party to provide their information.


        The request body is a polymorphic `Invite` object where the
        `invitation_type` determines the action and required fields.
      operationId: >-
        business_application_invite_api_v2_business_applications__application_id__invite__post
      security:
        - CodeBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - $ref: '#/components/schemas/CollaborateInviteRequest'
                - $ref: '#/components/schemas/ApplicationSubmissionInviteRequest'
                - $ref: '#/components/schemas/RelatedPartyInviteRequest'
              discriminator:
                propertyName: invitation_type
                mapping:
                  COLLABORATE: '#/components/schemas/CollaborateInviteRequest'
                  REQUEST_APPLICATION_SUBMISSION: '#/components/schemas/ApplicationSubmissionInviteRequest'
                  INVITE_RELATED_PARTY: '#/components/schemas/RelatedPartyInviteRequest'
              title: Invite
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/business-applications/{application_id}/invites/:
    get:
      tags:
        - Business Applications V2
      summary: List Invites
      description: >-
        This endpoint retrieves a list of all active invitations associated with
        a business application.


        It returns a list of `Collaborator` objects, each containing the `id`
        and `email` of the invited person.
      operationId: list_invites_api_v2_business_applications__application_id__invites__get
      security:
        - CodeBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Collaborator'
                title: >-
                  Response List Invites Api V2 Business Applications 
                  Application Id  Invites  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/business-applications/{application_id}/related-parties/{related_party_id}/:
    patch:
      tags:
        - Business Applications V2
      summary: Update Related Party Application
      description: >-
        This endpoint updates the information for a specific related party that
        is already associated with a business application.


        The request body takes a `RelatedPartyApplicationRequest` object with
        the updated fields. It returns the modified
        `RelatedPartyApplicationResponse`.
      operationId: >-
        update_related_party_application_api_v2_business_applications__application_id__related_parties__related_party_id___patch
      security:
        - CodeBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
        - name: related_party_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Related Party Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RelatedPartyApplicationRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RelatedPartyApplicationResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
        - Business Applications V2
      summary: Delete Related Party Application
      description: >-
        This endpoint removes a related party from a business application, and
        returns a `204 No Content` response upon a successful deletion.
      operationId: >-
        delete_related_party_application_api_v2_business_applications__application_id__related_parties__related_party_id___delete
      security:
        - CodeBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
        - name: related_party_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Related Party Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/business-applications/{application_id}/team/:
    post:
      tags:
        - Business Applications V2
      summary: Business Application Create Team
      description: >-
        This endpoint creates a team for the business being onboarded and sends
        invitations to the initial set of team members.


        The request body is an array of `InviteMemberPayload` objects, each
        specifying the `email`, `first_name`,`last_name`, `phone_number`, and
        `role` for a new team member.
      operationId: >-
        business_application_create_team_api_v2_business_applications__application_id__team__post
      security:
        - CodeBearer: []
      parameters:
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Application Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/InviteMemberPayload'
              title: Team Members
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/user/:
    get:
      tags:
        - User
      summary: Get User Info
      description: >-
        This endpoint retrieves information about the currently authenticated
        user.


        It returns a `UserInfo` object containing the user's `user_id`, `email`,
        `name`, `role`, and other details.
      operationId: get_user_info_api_v1_user__get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserInfo'
      security:
        - CodeBearer: []
  /api/v1/user/memberships/:
    get:
      tags:
        - User
      summary: Get Memberships
      description: >-
        This endpoint retrieves all team memberships for the currently
        authenticated user.


        It returns a list of `MembershipInfo` objects, each detailing a team and
        the user's role within it.
      operationId: get-user-memberships
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/MembershipInfo'
                type: array
                title: Response Get-User-Memberships
      security:
        - CodeBearer: []
  /api/v1/agreements/:
    get:
      tags:
        - Agreements
      summary: List Agreements
      description: >-
        This endpoint retrieves a list of legal agreements that a customer can
        acknowledge. These agreements could include terms of service, privacy
        policies, or other legal documents.


        It returns an `Agreement` object which contains the `version`,
        `release_date`, and a list of documents. Each document includes a
        `pdf_download_url`, `title`, `type`, and `category`.
      operationId: list_agreements_api_v1_agreements__get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agreement'
      security:
        - CodeBearer: []
  /api/v2/documents/{document_id}/:
    post:
      tags:
        - Documents V2
      summary: Upload Document
      description: >-
        This endpoint allows you to upload a document associated with a specific
        document ID. This is useful for providing supporting documents for
        verification purposes.


        The request requires the `document_id` in the path and the document
        content in the request body. You also need to specify the `Content-Type`
        (`image/png`, `application/pdf`, `image/jpeg`), `Content-Length`, and
        `Content-Disposition` in the headers.
      operationId: Upload_document_api_v2_documents__document_id___post
      security:
        - CodeBearer: []
      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|application/pdf|image/jpeg
            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
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Document'
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/notifications/:
    get:
      tags:
        - Notifications
      summary: List Notifications
      description: >-
        This endpoint lists all notifications for a customer. You can filter by
        status (`READ` or `UNREAD`).


        It returns a paginated list of `CustomerNotification` objects.
      operationId: list_notifications_api_v1_notifications__get
      security:
        - CodeBearer: []
      parameters:
        - name: status
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/NotificationStatus'
              - type: 'null'
            title: Status
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            default: ''
            title: Cursor
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
            title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerNotificationsResult'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/notifications/{notification_id}/:
    get:
      tags:
        - Notifications
      summary: Get Notification
      description: >-
        This endpoint retrieves a single notification by its `notification_id`,
        and returns a `CustomerNotification` object.
      operationId: get_notification_api_v1_notifications__notification_id___get
      security:
        - CodeBearer: []
      parameters:
        - name: notification_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Notification Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerNotification'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
        - Notifications
      summary: Patch Notification
      description: >-
        This endpoint allows you to update the status of a notification, for
        example, to mark it as read.


        The request body must contain an `UpdateCustomerNotificationStatus`
        object. It returns the updated `CustomerNotification` object.
      operationId: patch_notification_api_v1_notifications__notification_id___patch
      security:
        - CodeBearer: []
      parameters:
        - name: notification_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Notification Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCustomerNotificationStatus'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerNotification'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/trading-strategies/:
    get:
      tags:
        - Trading Strategies V2
      summary: List Trading Strategies
      description: >-
        This endpoint lists the available trading strategies that can be applied
        to a pocket. This is the modern replacement for "pocket configurations."


        Returns a `TradingStrategies` object. You can filter strategies by their
        applicability (`DEPOSIT` or `REINVESTMENT`).


        **Note:** This endpoint is preferred for use over
        `/api/v1/pocket-configurations/`.
      operationId: list_trading_strategies_api_v2_trading_strategies__get
      security:
        - CodeBearer: []
      parameters:
        - name: applicable_to
          in: query
          required: false
          schema:
            anyOf:
              - enum:
                  - DEPOSIT
                  - REINVESTMENT
                type: string
              - type: 'null'
            title: Applicable To
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TradingStrategies'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    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
    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
    AUMFee:
      properties:
        amount:
          $ref: '#/components/schemas/Amount'
        type:
          const: AUM_FEE
          title: Type
      type: object
      required:
        - amount
        - type
      title: AUMFee
    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
    ApplicationSubmissionInviteRequest:
      properties:
        emails:
          items:
            type: string
          type: array
          title: Emails
        invitation_type:
          const: REQUEST_APPLICATION_SUBMISSION
          title: Invitation Type
      type: object
      required:
        - emails
        - invitation_type
      title: ApplicationSubmissionInviteRequest
    AuthenticationMethod:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        type:
          $ref: '#/components/schemas/AuthenticationMethodType'
        sso_provider_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Sso Provider Id
      type: object
      required:
        - type
      title: AuthenticationMethod
    AuthenticationMethodType:
      type: string
      enum:
        - SSO
        - USERPASS
      title: AuthenticationMethodType
    BankStatementReport:
      properties:
        pocket_ids:
          items:
            type: string
            format: uuid
          type: array
          title: Pocket Ids
        date:
          type: string
          format: date
          title: Date
        type:
          const: BANK_STATEMENT_REPORT
          title: Type
      type: object
      required:
        - pocket_ids
        - date
        - type
      title: BankStatementReport
    BrokerageStatementReport:
      properties:
        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:
        - 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
    BusinessApplication:
      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`'
        team_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Team Id
        status:
          type: string
          enum:
            - CREATED
            - SUBMITTED
            - CLOSED
            - APPROVED
            - REJECTED
            - MANUAL_REVIEW
            - DOCUMENTS_NEEDED
            - PENDING
            - COMPLETED
          title: Status
      type: object
      required:
        - id
        - time_created
        - updated_at
        - status
      title: BusinessApplication
    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
    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
    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
    CollaborateInviteRequest:
      properties:
        emails:
          items:
            type: string
          type: array
          title: Emails
        invitation_type:
          const: COLLABORATE
          title: Invitation Type
      type: object
      required:
        - emails
        - invitation_type
      title: CollaborateInviteRequest
    Collaborator:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        email:
          type: string
          title: Email
      type: object
      required:
        - email
      title: Collaborator
    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
    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
    CreateInternalReallocationTransfer:
      properties:
        type:
          const: INTERNAL_REALLOCATION
          title: Type
        destination_pocket_id:
          type: string
          format: uuid
          title: Destination Pocket Id
      type: object
      required:
        - type
        - destination_pocket_id
      title: CreateInternalReallocationTransfer
    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
    CreateOnUsTransfer:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        type:
          const: ON_US
          title: Type
        origin_pocket_id:
          type: string
          format: uuid
          title: Origin Pocket Id
        amount:
          $ref: '#/components/schemas/CreateRequestedAmount'
        details:
          anyOf:
            - $ref: '#/components/schemas/CreatePeerToPeerTransfer'
            - $ref: '#/components/schemas/CreateInternalReallocationTransfer'
          title: Details
        description:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
          title: Description
        end_to_end_identification:
          anyOf:
            - type: string
              maxLength: 35
            - type: 'null'
          title: End To End Identification
      type: object
      required:
        - id
        - type
        - origin_pocket_id
        - amount
        - details
      title: CreateOnUsTransfer
    CreatePeerToPeerTransfer:
      properties:
        type:
          const: PEER_TO_PEER
          title: Type
        destination_counterparty_id:
          type: string
          format: uuid
          title: Destination Counterparty Id
      type: object
      required:
        - type
        - destination_counterparty_id
      title: CreatePeerToPeerTransfer
    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
    CreateRequestedAmount:
      properties:
        type:
          const: REQUESTED_AMOUNT
          title: Type
        amount_usdc:
          type: integer
          exclusiveMinimum: 0
          title: Amount Usdc
      type: object
      required:
        - type
        - amount_usdc
      title: CreateRequestedAmount
    CreateServiceUserRequest:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        email:
          type: string
          title: Email
        display_name:
          type: string
          title: Display Name
        role:
          $ref: '#/components/schemas/Role'
      type: object
      required:
        - id
        - email
        - display_name
        - role
      title: CreateServiceUserRequest
    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
    CreateTransferRequest:
      properties:
        transfer:
          oneOf:
            - $ref: '#/components/schemas/CreateWireTransfer'
            - $ref: '#/components/schemas/CreateOnUsTransfer'
            - $ref: '#/components/schemas/CreateUsdcTransfer'
          title: Transfer
          discriminator:
            propertyName: type
            mapping:
              ON_US: '#/components/schemas/CreateOnUsTransfer'
              USDC: '#/components/schemas/CreateUsdcTransfer'
              WIRE: '#/components/schemas/CreateWireTransfer'
        reviewers:
          anyOf:
            - items:
                type: string
                format: uuid
              type: array
            - type: 'null'
          title: Reviewers
      type: object
      required:
        - transfer
      title: CreateTransferRequest
    CreateUnverifiedVerification:
      properties:
        type:
          const: unverified
          title: Type
      type: object
      required:
        - type
      title: CreateUnverifiedVerification
    CreateUsdcTransfer:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        type:
          const: USDC
          title: Type
        origin_pocket_id:
          type: string
          format: uuid
          title: Origin Pocket Id
        counterparty_id:
          type: string
          format: uuid
          title: Counterparty Id
        amount:
          $ref: '#/components/schemas/CreateRequestedAmount'
      type: object
      required:
        - id
        - type
        - origin_pocket_id
        - counterparty_id
        - amount
      title: CreateUsdcTransfer
    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
    CreateWireTransfer:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        type:
          const: WIRE
          title: Type
        origin_pocket_id:
          type: string
          format: uuid
          title: Origin Pocket Id
        counterparty_id:
          type: string
          format: uuid
          title: Counterparty Id
        amount:
          $ref: '#/components/schemas/CreateRequestedAmount'
        description:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
          title: Description
      type: object
      required:
        - id
        - type
        - origin_pocket_id
        - counterparty_id
        - amount
      title: CreateWireTransfer
    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_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_Event_:
      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/Event'
          type: array
          title: Items
        object_type:
          type: string
          title: Object Type
          default: CursorList
      type: object
      required:
        - items
      title: CursorListResponse[Event]
    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'
    CustomerAuditLogEntry:
      properties:
        actor:
          type: string
          title: Actor
        event_name:
          anyOf:
            - type: string
              enum:
                - account.list
                - account.get
                - pocket.get
                - pocket.list
                - pocket.create
                - pocket.modify
                - pocket_earnings.get
                - statement.list
                - portal.list
                - portal.create
                - portal.modify
                - agreement.list
                - counterparty.list
                - trade.list
                - trade_confirmation.get
                - transaction.list
                - transaction.get
                - counterparty.get
                - counterparty.create
                - counterparty.update
                - team.audit-logs.get
                - transfer_request.approve
                - transfer_request.cancel
                - transfer_request.deny
                - transfer_request.create
                - transfer_request.get
                - transfer_request.list
                - authorization_code.create
                - oauth_client.create
                - oauth_client.update
                - personal_access_token.create
                - sso_provider.create
                - sso_provider.authorize
                - user.authentication_failed
                - user.authenticate
                - user.initiate_reset_password
                - user.confirm_reset_password
                - user.grant_oauth_client
                - user.grant_sso
                - user.revoke_oauth_client
                - user.revoke_sso
                - user.logout
                - token.create
                - token.revoke
                - authorization_code.get
                - id_token.get
                - team_member.cancel_invite
                - user.confirm_signup
                - team_member.deactivate
                - team_member.modify
                - user.modify
                - team_member.login
                - team_member.invite
                - user.onboard
                - team_member.reactivate
                - user.signup
                - team_member.get
                - team.get
                - document.upload
                - user.token_exchange
                - oauth_token.create
                - oauth_credentials.create
                - integration_grant.read
                - integration.enroll
                - integration.reauthorize
                - report_request.list
                - report_request.get
                - report_request.create
                - report.get
                - report.download
                - authorization_request.get
                - authorization_request.create
                - approval_rule.validate
                - approval_rule.get
                - approval_rule.list
                - service_user.create
                - authorization_request.revoke_approval
                - authorization_request.approve
                - authorization_request.list
            - type: string
          title: Event Name
        id:
          type: string
          format: uuid
          title: Id
        entry_metadata:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          title: Entry Metadata
        team_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Team Id
        timestamp:
          type: string
          format: date-time
          title: Timestamp
      type: object
      required:
        - actor
        - event_name
        - id
        - timestamp
      title: CustomerAuditLogEntry
    CustomerAuditLogResults:
      properties:
        items:
          items:
            $ref: '#/components/schemas/CustomerAuditLogEntry'
          type: array
          title: Items
        prev_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Prev Page
        next_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Next Page
      type: object
      required:
        - items
      title: CustomerAuditLogResults
    CustomerNotification:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        description:
          type: string
          title: Description
        status:
          anyOf:
            - $ref: '#/components/schemas/NotificationStatus'
            - type: 'null'
        title:
          type: string
          title: Title
        type:
          type: string
          title: Type
        created_at:
          type: string
          format: date-time
          title: Created At
        notification_metadata:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          title: Notification Metadata
      type: object
      required:
        - id
        - description
        - status
        - title
        - type
        - created_at
      title: CustomerNotification
    CustomerNotificationsResult:
      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/CustomerNotification'
          type: array
          title: Items
        object_type:
          type: string
          title: Object Type
          default: CursorList
      type: object
      required:
        - items
      title: CustomerNotificationsResult
    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/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
    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
    DenialReason:
      type: string
      enum:
        - INCORRECT_AMOUNT
        - INCORRECT_PAYEE
        - OTHER
      title: DenialReason
    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
    DualAuthUser:
      properties:
        user_id:
          type: string
          format: uuid
          title: User Id
        first_name:
          type: string
          title: First Name
        last_name:
          type: string
          title: Last Name
        active:
          type: boolean
          title: Active
        role:
          $ref: '#/components/schemas/MakerChecker'
      type: object
      required:
        - user_id
        - first_name
        - last_name
        - active
        - role
      title: DualAuthUser
    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
    EditTeamMemberRequest:
      properties:
        role:
          anyOf:
            - $ref: '#/components/schemas/Role'
            - type: 'null'
        status:
          anyOf:
            - const: ACTIVE
            - type: 'null'
          title: Status
      type: object
      title: EditTeamMemberRequest
    Event:
      properties:
        event:
          $ref: '#/components/schemas/EventDetails'
        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: Event
    EventDetails:
      oneOf:
        - $ref: '#/components/schemas/OutgoingWireEvent'
        - $ref: '#/components/schemas/OnUsTransferEvent'
        - $ref: '#/components/schemas/TransferRequestEvent'
        - $ref: '#/components/schemas/IncomingWireEvent'
        - $ref: '#/components/schemas/OnUsTransferReceivedEvent'
      title: EventDetails
      discriminator:
        propertyName: event_type
        mapping:
          transfer-request.status.approved: '#/components/schemas/TransferRequestEvent'
          transfer-request.status.canceled: '#/components/schemas/TransferRequestEvent'
          transfer-request.status.denied: '#/components/schemas/TransferRequestEvent'
          transfer-request.status.processed: '#/components/schemas/TransferRequestEvent'
          transfer-request.status.processing: '#/components/schemas/TransferRequestEvent'
          transfer-request.status.rejected: '#/components/schemas/TransferRequestEvent'
          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'
    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: FullWithdrawal
    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
    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
    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
    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
    InviteMemberPayload:
      properties:
        email:
          type: string
          title: Email
        first_name:
          type: string
          title: First Name
        last_name:
          type: string
          title: Last Name
        phone_number:
          type: string
          title: Phone Number
        role:
          $ref: '#/components/schemas/Role'
      type: object
      required:
        - email
        - first_name
        - last_name
        - phone_number
        - role
      title: InviteMemberPayload
    InviteMemberRequest:
      properties:
        first_name:
          type: string
          title: First Name
        last_name:
          type: string
          title: Last Name
        email:
          type: string
          format: email
          title: Email
        phone_number:
          type: string
          title: Phone Number
        role:
          $ref: '#/components/schemas/Role'
      type: object
      required:
        - first_name
        - last_name
        - email
        - phone_number
        - role
      title: InviteMemberRequest
    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
    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
    MakerChecker:
      type: string
      enum:
        - MAKER
        - CHECKER
        - VIEWER
      title: MakerChecker
    MemberGroup:
      properties:
        name:
          type: string
          title: Name
        total:
          type: integer
          title: Total
        members:
          items:
            $ref: '#/components/schemas/TeamMember'
          type: array
          title: Members
      type: object
      required:
        - name
        - total
        - members
      title: MemberGroup
    MembershipInfo:
      properties:
        team_id:
          type: string
          format: uuid
          title: Team Id
        member_id:
          type: string
          format: uuid
          title: Member Id
        customer_name:
          type: string
          title: Customer Name
        is_current:
          type: boolean
          title: Is Current
        last_login:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Login
        role:
          $ref: '#/components/schemas/Role'
      type: object
      required:
        - team_id
        - member_id
        - customer_name
        - is_current
        - role
      title: MembershipInfo
    MembershipStatus:
      type: string
      enum:
        - PENDING
        - ACTIVE
        - DEACTIVATED
      title: MembershipStatus
    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
    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
    NotificationStatus:
      type: string
      enum:
        - READ
        - UNREAD
      title: NotificationStatus
    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
    OnUsInternalReallocationTransferDetails:
      properties:
        type:
          const: INTERNAL_REALLOCATION
          title: Type
        destination_pocket_id:
          type: string
          format: uuid
          title: Destination Pocket Id
      type: object
      required:
        - type
        - destination_pocket_id
      title: OnUsInternalReallocationTransferDetails
    OnUsPeerToPeerTransferDetails:
      properties:
        type:
          const: PEER_TO_PEER
          title: Type
        destination_counterparty_id:
          type: string
          format: uuid
          title: Destination Counterparty Id
      type: object
      required:
        - type
        - destination_counterparty_id
      title: OnUsPeerToPeerTransferDetails
    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
    OnUsTransfer:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        type:
          const: ON_US
          title: Type
        origin_pocket_id:
          type: string
          format: uuid
          title: Origin Pocket Id
        amount:
          anyOf:
            - $ref: '#/components/schemas/RequestedAmount'
            - $ref: '#/components/schemas/FullWithdrawal'
          title: Amount
        details:
          anyOf:
            - $ref: '#/components/schemas/OnUsPeerToPeerTransferDetails'
            - $ref: '#/components/schemas/OnUsInternalReallocationTransferDetails'
          title: Details
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
      type: object
      required:
        - id
        - type
        - origin_pocket_id
        - amount
        - details
      title: OnUsTransfer
    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
    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/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
    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
    PositionSummaryReport:
      properties:
        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:
        - 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
    RejectReason:
      type: string
      enum:
        - ACCOUNT_UNAVAILABLE
        - CANCELED
        - INSUFFICIENT_FUNDS
        - INVALID_CURRENCY
        - INVALID_TRANSFER
        - OTHER
      title: RejectReason
    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
    RelatedPartyInviteRequest:
      properties:
        emails:
          items:
            type: string
          type: array
          title: Emails
        invitation_type:
          const: INVITE_RELATED_PARTY
          title: Invitation Type
        related_party_application_id:
          type: string
          title: Related Party Application Id
      type: object
      required:
        - emails
        - invitation_type
        - related_party_application_id
      title: RelatedPartyInviteRequest
    RemittanceInformation:
      properties:
        unstructured:
          type: string
          maxLength: 200
          title: Unstructured
          description: >-
            Unstructured information provided by the originator of the
            transaction.
          default: ''
      type: object
      title: RemittanceInformation
    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
    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
    ReportRequestListResponse:
      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: ReportRequestListResponse
    RequestedAmount:
      properties:
        type:
          const: REQUESTED_AMOUNT
          title: Type
        amount:
          $ref: '#/components/schemas/Amount'
      type: object
      required:
        - type
        - amount
      title: RequestedAmount
    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
    Role:
      type: string
      enum:
        - ADMINISTRATOR
        - MAKER
        - CHECKER
        - VIEWER
        - USER_ADMINISTRATOR
      title: Role
    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
        type:
          const: SECURITY_PRICE_REPORT
          title: Type
      type: object
      required:
        - start_date
        - end_date
        - type
      title: SecurityPriceReport
    ServiceTeamMember:
      properties:
        member_id:
          type: string
          format: uuid
          title: Member Id
        last_login:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Login
        display_name:
          type: string
          title: Display Name
        email:
          type: string
          title: Email
        role:
          $ref: '#/components/schemas/Role'
        status:
          $ref: '#/components/schemas/MembershipStatus'
        added_date:
          type: string
          format: date-time
          title: Added Date
        deactivated_date:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Deactivated Date
        user_id:
          type: string
          format: uuid
          title: User Id
      type: object
      required:
        - member_id
        - last_login
        - display_name
        - email
        - role
        - status
        - added_date
        - deactivated_date
        - user_id
      title: ServiceTeamMember
    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
    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
      type: object
      required:
        - events
        - url
        - id
        - time_created
        - updated_at
        - status
      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
    TeamMember:
      properties:
        member_id:
          type: string
          format: uuid
          title: Member Id
        last_login:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Login
        first_name:
          type: string
          title: First Name
        last_name:
          type: string
          title: Last Name
        email:
          type: string
          title: Email
        role:
          $ref: '#/components/schemas/Role'
        status:
          $ref: '#/components/schemas/MembershipStatus'
        added_date:
          type: string
          format: date-time
          title: Added Date
        deactivated_date:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Deactivated Date
        phone_number:
          type: string
          title: Phone Number
        user_id:
          type: string
          format: uuid
          title: User Id
      type: object
      required:
        - member_id
        - last_login
        - first_name
        - last_name
        - email
        - role
        - status
        - added_date
        - deactivated_date
        - phone_number
        - user_id
      title: TeamMember
    TeamMemberResponse:
      properties:
        member_id:
          type: string
          format: uuid
          title: Member Id
        email:
          type: string
          title: Email
        first_name:
          type: string
          title: First Name
        last_name:
          type: string
          title: Last Name
        role:
          $ref: '#/components/schemas/Role'
        status:
          $ref: '#/components/schemas/MembershipStatus'
        added_date:
          type: string
          format: date-time
          title: Added Date
        last_login:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Login
        deactivated_date:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Deactivated Date
        team_id:
          type: string
          format: uuid
          title: Team Id
        partner_id:
          type: string
          format: uuid
          title: Partner Id
        user_id:
          type: string
          format: uuid
          title: User Id
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone Number
      type: object
      required:
        - member_id
        - email
        - first_name
        - last_name
        - role
        - status
        - added_date
        - last_login
        - deactivated_date
        - team_id
        - partner_id
        - user_id
        - phone_number
      title: TeamMemberResponse
    TeamResponse:
      properties:
        team_id:
          type: string
          format: uuid
          title: Team Id
        members_by_status:
          items:
            $ref: '#/components/schemas/MemberGroup'
          type: array
          title: Members By Status
        allowed_authentication_methods:
          items:
            $ref: '#/components/schemas/AuthenticationMethod'
          type: array
          title: Allowed Authentication Methods
        service_users:
          items:
            $ref: '#/components/schemas/ServiceTeamMember'
          type: array
          title: Service Users
      type: object
      required:
        - team_id
        - members_by_status
        - allowed_authentication_methods
        - service_users
      title: TeamResponse
    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
    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:
        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:
        - 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
    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
    TransferRequest:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        team_id:
          type: string
          format: uuid
          title: Team Id
        created_by_user:
          $ref: '#/components/schemas/DualAuthUser'
        created_at:
          type: string
          format: date-time
          title: Created At
        reviewed_by_user:
          anyOf:
            - $ref: '#/components/schemas/DualAuthUser'
            - type: 'null'
        reviewed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Reviewed At
        denial_reason:
          anyOf:
            - $ref: '#/components/schemas/DenialReason'
            - type: 'null'
        denial_other_memo:
          anyOf:
            - type: string
            - type: 'null'
          title: Denial Other Memo
        status:
          $ref: '#/components/schemas/TransferRequestStatus'
        transfer:
          anyOf:
            - $ref: '#/components/schemas/WireTransfer'
            - $ref: '#/components/schemas/OnUsTransfer'
            - $ref: '#/components/schemas/UsdcTransfer'
          title: Transfer
        reviewers:
          items:
            $ref: '#/components/schemas/DualAuthUser'
          type: array
          title: Reviewers
        reject_reason:
          anyOf:
            - $ref: '#/components/schemas/RejectReason'
            - type: 'null'
      type: object
      required:
        - id
        - team_id
        - created_by_user
        - created_at
        - status
        - transfer
        - reviewers
      title: TransferRequest
    TransferRequestEvent:
      properties:
        event_id:
          type: string
          format: uuid
          title: Event Id
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        payload:
          $ref: '#/components/schemas/TransferRequestPayload'
        event_type:
          type: string
          enum:
            - transfer-request.status.approved
            - transfer-request.status.canceled
            - transfer-request.status.denied
            - transfer-request.status.processed
            - transfer-request.status.processing
            - transfer-request.status.rejected
          title: Event Type
      type: object
      required:
        - event_id
        - timestamp
        - payload
        - event_type
      title: TransferRequestEvent
    TransferRequestPayload:
      properties:
        transfer_request_id:
          type: string
          format: uuid
          title: Transfer Request Id
        transfer_id:
          type: string
          format: uuid
          title: Transfer Id
      type: object
      required:
        - transfer_request_id
        - transfer_id
      title: TransferRequestPayload
    TransferRequestStatus:
      type: string
      enum:
        - UNDER_REVIEW
        - APPROVED
        - PROCESSING
        - PROCESSED
        - REJECTED
        - CANCELED
        - DENIED
      title: TransferRequestStatus
    TransferRequestsResponse:
      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/TransferRequest'
          type: array
          title: Items
        object_type:
          type: string
          title: Object Type
          default: CursorList
      type: object
      required:
        - items
      title: TransferRequestsResponse
    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
    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
    UpdateCustomerNotificationStatus:
      properties:
        status:
          $ref: '#/components/schemas/NotificationStatus'
      type: object
      required:
        - status
      title: UpdateCustomerNotificationStatus
    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
    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'
        status:
          anyOf:
            - type: string
              enum:
                - enabled
                - disabled
            - type: 'null'
          title: Status
      type: object
      title: UpdateSubscriptionRequest
    UpdateTransferRequestStatus:
      properties:
        status:
          $ref: '#/components/schemas/TransferRequestStatus'
        denial_reason:
          anyOf:
            - $ref: '#/components/schemas/DenialReason'
            - type: 'null'
        denial_other_memo:
          anyOf:
            - type: string
            - type: 'null'
          title: Denial Other Memo
      type: object
      required:
        - status
      title: UpdateTransferRequestStatus
    UploadDocumentResponse:
      properties:
        success:
          type: boolean
          title: Success
        document_id:
          type: string
          format: uuid
          title: Document Id
      type: object
      required:
        - success
        - document_id
      title: UploadDocumentResponse
    UsdcTransfer:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        type:
          const: USDC
          title: Type
        counterparty_id:
          type: string
          format: uuid
          title: Counterparty Id
        origin_pocket_id:
          type: string
          format: uuid
          title: Origin Pocket Id
        amount:
          $ref: '#/components/schemas/RequestedAmount'
      type: object
      required:
        - id
        - type
        - counterparty_id
        - origin_pocket_id
        - amount
      title: UsdcTransfer
    UserInfo:
      properties:
        member_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Member Id
        user_id:
          type: string
          title: User Id
        email:
          type: string
          title: Email
        name:
          type: string
          title: Name
        role:
          anyOf:
            - $ref: '#/components/schemas/Role'
            - type: 'null'
        phone_number:
          type: string
          title: Phone Number
        dual_auth_no_reviewers_mode:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Dual Auth No Reviewers Mode
        is_onboarding:
          type: boolean
          title: Is Onboarding
          default: false
        feature_flags:
          type: object
          title: Feature Flags
          default: {}
      type: object
      required:
        - user_id
        - email
        - name
        - phone_number
      title: UserInfo
      description: Response model for `/api/v1/user` endpoint
    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
    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
        state:
          type: string
          title: State
      type: object
      required:
        - jiko_account_id
        - wire_id
        - state
      title: WireOutgoingPayload
    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
    WireTransfer:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        type:
          const: WIRE
          title: Type
        counterparty_id:
          type: string
          format: uuid
          title: Counterparty Id
        origin_pocket_id:
          type: string
          format: uuid
          title: Origin Pocket Id
        amount:
          $ref: '#/components/schemas/RequestedAmount'
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
      type: object
      required:
        - id
        - type
        - counterparty_id
        - origin_pocket_id
        - amount
      title: WireTransfer
  securitySchemes:
    CodeBearer:
      type: oauth2
      flows:
        authorizationCode:
          scopes:
            openid: OpenID scope
            profile: Read information for current logged in user
            email: Read email for current logged in user
            phone: Read phone number for current logged in user
            pockets.read: Read pocket information for given customer
            pockets.write: Manage pocket information for given customer
            transfers.read: Read transfer and transfers request information for given customer
            transfers.write: Manage transfer requests
            customer.read: Read customer info for given customer
            customer.write: Write customer info
            team.read: Read team information for given customer
            team.write: Manage teams and team members for given customer
            onboarding.read: Read onboarding information for given customer
            onboarding.write: Manage onboarding information for given customer
            agreements.read: Read agreement information for given customer
            subscriptions.write: Manage customer webhook subscriptions
            subscriptions.read: Read webhook subscription information
          authorizationUrl: /api/oauth2/authorize
          tokenUrl: /api/oauth2/token
tags:
  - name: Statements
    description: >-
      Use these endpoints to retrieve monthly statements for bank and brokerage
      accounts.
  - 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: Customer
    description: Use these endpoints to view and manage personal details for a Customer.
  - name: Team
    description: Use these endpoints to view and manage details for a Team and its members.
  - name: Counterparties V2
    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: Pockets V2
    description: >-
      Use these endpoints to view Pocket information. Jiko Pockets consist of a
      bank account and a brokerage account. When funds are deposited into a
      Pocket, they're immediately invested in T-bills.
  - name: Transactions V2
    description: >-
      Use these endpoints to view Transactions of funds moving in and out of
      Jiko Pockets, 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](#tag/Trades).
  - name: Transfer Requests
    description: Use these endpoints to manage Dual Authorization for Tranfer Requests.
  - 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: 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: Reports
    description: |-
      **⚠️ Experimental ⚠️** These endpoints are subject to change. 

       Use these endpoints to interact with Reports.
  - name: Business Applications V2
    description: Use this endpoint to view, create and manage Business Applications.
  - name: User
    description: Use these endpoints to view User information.
  - name: Agreements
    description: >-
      Use this endpoint to fetch Agreements specific to your institution and
      Jiko.
  - name: Documents V2
    description: >-
      Use this endpoint to upload a document associated with a specific document
      ID. Useful for providing supporting documents for verification purposes.
  - name: Notifications
    description: Use these endpoints for interacting with Notifications.
  - name: Trading Strategies V2
    description: >-
      Use these endpoints to see available trading strategies applicable to a
      Pocket.
x-tagGroups:
  - name: Platform
    tags:
      - Agreements
      - Events
      - Notifications
      - Subscriptions
  - name: Reports
    tags:
      - Reports
  - name: Statements
    tags:
      - Statements
  - name: Team
    tags:
      - Team
  - name: Trades
    tags:
      - Trades
  - name: Transfers
    tags:
      - Portals
      - Transfer Requests
  - name: Users
    tags:
      - Customer
      - User
  - name: Onboarding V2
    tags:
      - Business Applications V2
      - Documents V2
  - name: Pockets V2
    tags:
      - Pockets V2
      - Transactions V2
  - name: Transfers V2
    tags:
      - Counterparties V2
  - name: Trading V2
    tags:
      - Trading Strategies V2
