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

# Update Identity

> Updates an Identity, this action performs a delta of what is submitted in the update and the existing identity.
- Updating details (`person_details` or `institution_details`) might lead to the identity being re-verified (e.g. re-screening name changes), which
could impact the identity's ability to transact on the Platform.
- Setting `set_user_disabled` to `true` will make the Identity `DISABLED` (read [more here](https://docs.paxos.com/identity/statuses) on what this means)
- Setting `tax_details` will update all the tax details for the identity
- Setting `last_kyc_refresh_date` indicates this is not an adhoc-update, and instead an update for a [periodic kyc refresh](https://docs.paxos.com/identity/kyc-refresh)

Changing an Institution Identity to a Person and vice-versa is not supported.

```bash OAuth Scope theme={null}
identity:write_identity
```


## OpenAPI

````yaml put /identity/identities/{id}
openapi: 3.0.0
info:
  title: Paxos API
  version: '2.0'
  description: >
    <p>Welcome to Paxos APIs. At Paxos, our mission is to enable the movement of
    any asset, any time, in a trustworthy way. These APIs serve that mission by
    making it easier than ever for you to directly integrate our product
    capabilities into your application, leveraging the speed, stability, and
    security of the Paxos platform.</p> <p>The documentation that follows gives
    you access to our Crypto Brokerage, Trading, and Exchange products. It
    includes APIs for market data, orders, and the held rate quote flow.</p>
    <p>To test in our sandbox environment, <a
    href="https://account.sandbox.paxos.com" target="_blank">sign up</a> for an
    account. For more information about Paxos and our APIs, visit <a
    href="https://www.paxos.com/" target="_blank">Paxos.com</a>.</p>
  x-logo:
    url: /docs/paxos.svg
    backgroundColor: '#FFFFFF'
    altText: Paxos logo
servers:
  - url: https://api.paxos.com/v2
    description: Production
  - url: https://api.sandbox.paxos.com/v2
    description: Sandbox
security: []
tags:
  - name: Profiles
    description: >
      Profiles hold asset balances, and every Paxos transaction is on a
      particular profile.

      Depending on your integration type, Profiles may be used to reflect both
      corporate balances or individual user balances.

      There are two types of Profiles:

      - `DEFAULT` Profiles are system-generated.

      - `NORMAL` Profiles are created using the [Create
      Profile](#operation/CreateProfile) endpoint and are the only type of
      Profile you can create.
  - name: Quotes
    description: >
      Quotes are "held rates" offered by Paxos to buy or sell assets at a
      specific

      price within a period of time - for example, the option to buy BTC within

      the next 30 seconds for $8,000.


      The typical Quotes workflow is as follows:


      1. Call [List Quotes](#operation/ListQuotes) to get the latest available
         quoted prices for the assets you want to buy or sell.
      1. Present the offered price to one or more end-users, with a timer
         indicating the time to expiration.
      1. If a user accepts the price, call [Create Quote
      Execution](#operation/CreateQuoteExecution) with the amount to buy or
      sell.

      1. Call [Get Quote Execution](#operation/GetQuoteExecution) to monitor
         for completion and know when the funds from the execution are available.

      It's important to show end-users the latest available price. If you cache

      prices to show them to multiple users, you should refresh the cache once

      per second.


      You can call [List Quote Executions](#operation/ListQuoteExecutions) to

      review or construct reports on quote execution activity.
  - name: Quote Executions
    description: |
      Quote Executions buy or sell assets using a Quote obtained from
      the [Quotes](#tag/Quotes) flow.
  - name: Orders
    description: >
      <p>There are three types of orders: market, limit and post-only.</p>

      <p>Market orders guarantee execution at a variable price and quantity.
      Limit orders guarantee price and quantity at the time of execution but do
      not guarantee execution. Post-only is an order type that will only be
      placed on the order book if it is the maker side of a trade.</p>
  - name: Market Data
    description: >
      Market data provides various parameters of the order book and historical
      order data.
  - name: Pricing
    description: |
      Pricing provides historical data related to charting of asset prices.

      Note: Some Pricing API markets may be unavailable for trading.
  - name: Issuer Quotes
    description: >
      Issuer Quotes are "held rates" offered by Paxos to mint or redeem
      Paxos-issued assets at a specific price within a period of time - for
      example, the option to buy PAXG within the next 5 seconds for $3,000.


      The typical Issuer Quotes workflow is as follows:


      1. Call [Create Issuer Quote](#operation/CreateIssuerQuote) to get a quote
      for the asset you want to mint or redeem to a specific profile.

      1. Call [Create Issuer Quote
      Execution](#operation/CreateIssuerQuoteExecution) with the quote ID and
      profile ID.


      You can call [List Issuer Quote
      Executions](#operation/ListIssuerQuoteExecutions) to review or construct
      reports on issuer quote execution activity.
  - name: Identity
    description: >
      An Identity represents a person or institution who is able to take actions
      on the Paxos Platform. Depending on 

      your integration type you might not need to create Identities for your end
      users. 


      Identities must pass a set of verifications and checks before they're able
      to transact on the Platform. Learn more

      about getting started with Identity and managing their onboarding
      lifecycle in the [Identity Developer
      Guide](https://docs.paxos.com/identity).
  - name: Institution Members
    description: >
      Institution Members allow you to associate persons with an institution on
      our Platform.

      Each institution can have multiple members, with each member representing
      the relationship to a person identity.


      When creating an institution identity, you must designate at least one
      institution member.

      This requirement ensures we have complete information about the
      institution's ownership structure

      and key personnel, which is necessary to onboard institutions.
  - name: Accounts
    description: >
      Accounts connect Identities (persons or institutions) to Profiles (asset
      balances).

      Key features include:


      - **Balance Management**: Track and manage profile balances via
      [Subledgering](https://docs.paxos.com/crypto-brokerage/ledger-type#fiat-and-crypto-subledger)

      - **Joint Account Support**: Link multiple Identities to a single Account
      for shared on platform balance


      Accounts are required for all Identity API integrations.
  - name: Account Members
    description: >
      Account Members allow you to associate an Identity with an Account on our
      Platform.

      Each Account can be linked to multiple Identities, which supports Joint
      Accounts (where two Identities have the ability

      to transact against a single Profile)  


      Account members are effectively immutable. In order to update an account
      member,

      clients should remove then re-add the account member with the desired
      state.


      The API requires clients to have write access on the account and all
      identities

      associated with the account.
  - name: Identity Documents
    description: >
      The Identity Documents API allows clients to send documents to Paxos to
      validate identities

      during the KYC process. Files can be updated multiple times by re-sending
      the document type

      for processing.


      We currently accept the following file formats:

      - <code>pdf</code>

      - <code>jpg</code>

      - <code>png</code>


      Steps to upload a document are as follows:

      1. Send a <code>PUT</code> request to
      <code>/identity/identities/{id}/documents</code> to get
        the upload URL.
      1. Send your document to the provided URL via a PUT request. Take the
      following example using curl:
        <code>$ curl --upload-file Proof_of_residence.jpg $URI </code>

      Uploaded document metadata will be available via <code>GET</code> request
      to <code>/identity/identities/{id}/documents</code>
  - name: Fiat Transfers
    description: >
      The Fiat Transfers API allows clients to deposit and withdraw fiat via the
      following Fiat Networks: Wire (Fedwire and SWIFT) and CUBIX. The supported
      asset is USD.


      The full set of Fiat Transfers API endpoints is:

      - For Deposits:
        - [Create Fiat Deposit Instructions](#operation/CreateFiatDepositInstructions)
        - [List Fiat Deposit Instructions](#operation/ListFiatDepositInstructions)
        - [Get Fiat Deposit Instructions](#operation/GetFiatDepositInstructions)
      - For Withdrawals:
        - [Create Fiat Account](#operation/CreateFiatAccount)
        - [List Fiat Accounts](#operation/ListFiatAccounts)
        - [Get Fiat Account](#operation/GetFiatAccount)
        - [Delete Fiat Account](#operation/DeleteFiatAccount)
        - [Update Fiat Account](#operation/UpdateFiatAccount)
        - [Create Fiat Withdrawal](#operation/CreateFiatWithdrawal)
  - name: Stablecoin Conversion
    description: >
      <p>Convert between fiat and stablecoin using <a
      href="#operation/CreateStablecoinConversion">Create Stablecoin
      Conversion</a> and check the status of a <a
      href="#operation/GetStablecoinConversion">single conversion</a> or
      retrieve a <a href="#operation/ListStablecoinConversions">list of
      conversions</a>.</p>
    externalDocs:
      description: Learn more about stablecoin conversions →
      url: https://docs.paxos.com/developer/convert
  - name: Transfers
    description: |
      Each deposit to and withdrawal from a Paxos account is a Transfer.
      A Transfer is associated with a particular Profile, and increases or
      decreases the available balance of a single asset in that Profile.
  - name: Tax Forms
    description: >
      All tax forms are associated to a single account_id.

      An account_id can have multiple tax forms associated with it.

      US 1099-B and 1099-Misc tax forms for the previous fiscal year will be
      available in February of the current calendar year.

      Previous years tax forms are also available by request.
  - name: Crypto Deposits
    description: >
      For [Paxos Global PTE
      Ltd](https://help.paxos.com/hc/en-us/articles/9647005243284) users, update
      or reject a crypto deposit that does not contain the required [travel
      rule](https://help.paxos.com/hc/en-us/articles/25928845778068)
      information.

      Deposits with the `NEEDS_INFO` status require additional sender
      information before they can be processed.

      - For individuals, both first and last name are required.

      - For institutions, the institution name is required.


      If a deposit is rejected, the funds will no longer be available.
    externalDocs:
      description: Learn more about travel rule udpates →
      url: https://help.paxos.com/hc/en-us/articles/25422999706900
  - name: Settlement
    description: >
      Use the Settlements API to facilitate simultaneous exchange of pre-funded
      assets. Automate a variety of use cases that require two-party approval,
      including net settlement of over-the-counter trades, withdrawal requests
      for tri-party collateral, payment requests, and bilateral settlement for
      marketplace end users.


      The simple request-and-approval workflow supports both one-directional and
      bidirectional transactions to allow a user to receive an asset (for
      example, send USDP) or simultaneously send and receive assets (for
      example, send USD and receive BTC and ETH). Only when all parties are in
      agreement and assets are fully funded does the Settlements API allow for
      change of custody. Upon completion, all settled assets are immediately
      available for trading, transferring, withdrawal or other supported
      activities.


      The Source Profile initiates the transaction for the Target Profile to
      approve. The `DIRECTION` of each asset is always relative to the Source
      Profile and only the owner of the Source Profile can cancel a transaction
      if it hasn't been approved by the Target Profile.
    externalDocs:
      description: Learn more about the Settlement APIs →
      url: https://docs.paxos.com/settlements
  - name: Paxos Transfers
    description: >
      Move assets between two Entities belonging to the same Organization or to
      a different Organization on the Paxos platform.


      > Transferring USD between Entities is prohibited in some jurisdictions.
      Contact [Support](https://support.paxos.com/) if you run into any problems
      with this restriction.


      Ensure the destination
      [Profile](https://docs.paxos.com/dashboard/organization#profile) already
      exists before beginning the transfer. This may require contacting someone
      outside your Organization to get the destination Profile ID.
  - name: Monitoring Addresses
    description: >
      A Monitoring Address is a blockchain address that Paxos monitors daily for
      eligible stablecoin activity and determines the amount of rewards your
      organization will earn. We recommend adding any addresses you expect to
      hold, receive, or mint Paxos stablecoins as a monitoring address in order
      to receive rewards for all of your qualifying on-chain activity. 


      > Monitoring addresses must be added by month end (`23:59 UTC+0`) in order
      to earn rewards for that month. Addresses added after month end will start
      earning rewards for the following month.


      *These endpoints are only relevant for Global Dollar Network (GDN)
      partners.*
  - name: Payout Address
    description: >-
      Endpoints working with Payout Address. These endpoints are only relevant
      for Global Dollar Network (GDN) partners.
  - name: Statements
    description: >
      A Statement summarizes all eligible stablecoin rewards for a given
      organization over a fixed time period. It aggregates earned reward types
      (e.g., custody, mint, acceptance) and records whether the statement was
      paid.


      Statements are generated monthly and are immutable. Revised statements
      will be issued as a new statement with a unique ID. Statements can be used
      to reconcile balances or for accounting and accounts receivable purposes.


      *These endpoints are only relevant for Global Dollar Network (GDN)
      partners.*
  - name: Payments
    description: >
      Payments represent actual transfers of rewards to the payout address
      associated with a given statement. Payments are made on-chain to a
      specified payout address. Payments tie 1:1 with a statement amount.


      Use the `ref_id` to link payments to statements. 


      > Some fields (e.g., `account_id`, `profile_id`) are populated for
      consistency but are not relevant to reward-specific flows.


      *These endpoints are only relevant for Global Dollar Network (GDN)
      partners.*
  - name: Reward Addresses
    description: >
      Reward addresses are blockchain addresses registered for reward
      attribution.


      Custody Rewards: For EVM chains, Paxos registers these addresses on-chain
      for reward calculation and accrual in the token contract. For Solana,
      provide the **owner account** (not a token account) — Paxos will derive
      and register the associated token account on-chain for the given asset.
      Providing a token account will result in a derived address with no
      meaning. For other non-EVM chains, Paxos tracks on-chain activity for
      custody reward calculation.


      Non-Custody Rewards: Paxos tracks on-chain activity for these addresses to
      calculate and distribute non-custody rewards to your organization.


      *These endpoints are only relevant for whitelisted Rewards partners.*
  - name: Claims
    description: >
      Claims represent rewards paid out on-chain. Use claim schedules to
      automate daily reward claims.


      *These endpoints are only relevant for whitelisted Rewards partners.*
  - name: Payout Groups
    description: >
      Payout groups encapsulate common rewards characteristics. All monitored
      addresses that reference a payout group accumulate rewards at the same
      rate and claim to the payout destination specified for that group.


      *These endpoints are only relevant for whitelisted Rewards partners.*
  - name: Rewards
    description: >
      Rewards details including current reward rates, next accrual time,
      lifetime earned amounts, and estimated next accrual.


      *These endpoints are only relevant for whitelisted Rewards partners.*
  - name: API Credentials
    description: >
      API credentials allow programmatic access to Paxos APIs. These endpoints
      enable you to manage and view your API credentials.
  - name: Events
    description: >
      The Events API allows you to fetch events that occurred on the Paxos
      platform with the full event payload. This REST API can be used as part of
      your webhook integrations (including rebuilding your event history should
      your webhook consumer exceed its retries), or standalone by polling for
      events related to your identities.
  - name: Event Types
    description: >
      List of event types that can be delivered via webhooks. We may add
      additional event types at any time; your implementation should handle
      unexpected event types gracefully.
  - name: Event Objects
    description: >
      Object schemas that describe the structure of data that accompanies each
      event type.
paths:
  /identity/identities/{id}:
    put:
      tags:
        - Identity
      summary: Update Identity
      description: >-
        Updates an Identity, this action performs a delta of what is submitted
        in the update and the existing identity.

        - Updating details (`person_details` or `institution_details`) might
        lead to the identity being re-verified (e.g. re-screening name changes),
        which

        could impact the identity's ability to transact on the Platform.

        - Setting `set_user_disabled` to `true` will make the Identity
        `DISABLED` (read [more here](https://docs.paxos.com/identity/statuses)
        on what this means)

        - Setting `tax_details` will update all the tax details for the identity

        - Setting `last_kyc_refresh_date` indicates this is not an adhoc-update,
        and instead an update for a [periodic kyc
        refresh](https://docs.paxos.com/identity/kyc-refresh)


        Changing an Institution Identity to a Person and vice-versa is not
        supported.
      operationId: UpdateIdentity
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdentityPublicUpdateIdentityBody'
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Identity'
      security:
        - OAuth2:
            - identity:write_identity
components:
  schemas:
    IdentityPublicUpdateIdentityBody:
      type: object
      example:
        id: f190b163-208f-4d73-8deb-4fb8b24add00
        person_details:
          first_name: John
      properties:
        person_details:
          $ref: '#/components/schemas/PersonDetails'
        metadata:
          type: object
          additionalProperties:
            type: string
          title: API User-facing metadata
        set_user_disabled:
          type: boolean
          description: >-
            `true` disables the identity. `false` re-enables it, unless it has
            been disabled by a Paxos admin.
        institution_details:
          $ref: '#/components/schemas/InstitutionDetails'
        ref_id:
          type: string
          description: >-
            A user-facing ID to prevent duplicate identity creation. Unique for
            all identities created by the same API user.
        tax_details:
          type: array
          items:
            $ref: '#/components/schemas/TaxDetail'
          title: list of tax details associated with the identity
        set_tax_details_not_required:
          type: boolean
          description: Set to true if tax details are not legally required.
        customer_due_diligence:
          $ref: '#/components/schemas/CustomerDueDiligence'
        is_merchant:
          type: boolean
          description: Set to true to indicate that this identity is a merchant.
        last_kyc_refresh_date:
          type: string
          format: date-time
          description: >-
            Set to the timestamp the identity has last undergone a periodic kyc
            refresh. If unset, the update is not for

            periodic kyc refresh. RFC3339 format, like
            `YYYY-MM-DDTHH:MM:SS.sssZ`. ex: `2006-01-02T15:04:05Z`.
      title: UpdateIdentityRequest
    Identity:
      type: object
      example:
        id: f190b163-208f-4d73-8deb-4fb8b24add00
        summary_status: PENDING
      properties:
        id:
          type: string
          title: The id used for all other interactions with this account
        metadata:
          type: object
          additionalProperties:
            type: string
          title: API User-facing metadata
        status:
          $ref: '#/components/schemas/IdentityStatus'
        status_details:
          $ref: '#/components/schemas/IdentityStatusDetails'
        summary_status:
          $ref: '#/components/schemas/IdentityStatus'
        user_disabled:
          type: boolean
          title: true if the account has been disabled by the API user
        admin_disabled:
          type: boolean
          title: true if the account has been disabled by a Paxos admin
        person_details:
          $ref: '#/components/schemas/PersonDetails'
        type:
          $ref: '#/components/schemas/IdentityType'
        ref_id:
          type: string
          description: >-
            A user-facing ID to prevent duplicate account creation. Unique for
            all accounts created by the same API user.
        institution_details:
          $ref: '#/components/schemas/InstitutionDetails'
        institution_members:
          type: array
          items:
            $ref: '#/components/schemas/InstitutionMember'
          title: members associated with institution identity type
        created_at:
          type: string
          format: date-time
          description: >-
            The time at which the identity is created at. RFC3339 format, like
            `YYYY-MM-DDTHH:MM:SS.sssZ`. ex: `2006-01-02T15:04:05Z`.
        updated_at:
          type: string
          format: date-time
          description: >-
            The time at which the identity is updated at. RFC3339 format, like
            `YYYY-MM-DDTHH:MM:SS.sssZ`. ex: `2006-01-02T15:04:05Z`.
        tax_details:
          type: array
          items:
            $ref: '#/components/schemas/TaxDetail'
          title: tax payer details
        tax_details_not_required:
          type: boolean
          title: whether or not tax_details are legally required
        summary_tin_verification_status:
          $ref: '#/components/schemas/TINVerificationStatus'
        customer_due_diligence:
          $ref: '#/components/schemas/CustomerDueDiligence'
        is_merchant:
          type: boolean
          description: True if the identity is a merchant.
        last_kyc_refresh_date:
          type: string
          format: date-time
          description: >-
            The last timestamp the identity has undergone a periodic kyc
            refresh. RFC3339 format, like `YYYY-MM-DDTHH:MM:SS.sssZ`. ex:
            `2006-01-02T15:04:05Z`.
      required:
        - id
    PersonDetails:
      type: object
      properties:
        id_verification_status:
          $ref: '#/components/schemas/IdentityStatus'
        sanctions_verification_status:
          $ref: '#/components/schemas/IdentityStatus'
        first_name:
          type: string
          title: Allowed in create and update
          maxLength: 200
          pattern: ^[0-9A-Za-z /?:().,&'+-]+$
        last_name:
          type: string
          title: Allowed in create and update
          maxLength: 200
          pattern: ^[0-9A-Za-z /?:().,&'+-]+$
        date_of_birth:
          type: string
          title: Allowed in create and update
          pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
        govt_id:
          type: string
          title: 'DEPRECATED: use cip_id instead'
          maxLength: 200
          pattern: ^[0-9A-Za-z /?:().,&'+-]+$
        address:
          $ref: '#/components/schemas/IdentityMailingAddress'
        phone_number:
          type: string
          title: Allowed in create and update
        email:
          type: string
          title: Allowed in create and update
        nationality:
          type: string
          description: Allowed in create and update. Must be an ISO 3166-1 alpha 3 code.
          pattern: ^[A-Z]{3}$
        verifier_id:
          type: string
          description: Allowed in create and update. The id used by the external verifier.
        verifier_type:
          $ref: '#/components/schemas/identityprotoVerifierType'
        id_verification_url:
          type: string
          title: Conditionally contains a url for ID verification
        passthrough_verifier_type:
          $ref: '#/components/schemas/PassthroughVerifierType'
        passthrough_verified_at:
          type: string
          format: date-time
          title: >-
            When PASSTHROUGH verifier is used, this specifies the time that ID
            verification was completed
        govt_id_type:
          $ref: '#/components/schemas/PersonDetailsCIPIDType'
        cip_id:
          type: string
          title: >-
            SSN or TIN, unique for each Identity object. Allowed in create and
            update

            SSN format: xxx-xx-xxxx

            ITIN format: xxx-xx-xxxx

            EIN format: xx-xxxxxxx
          maxLength: 200
          pattern: ^[0-9A-Za-z /?:().,&'+-]+$
        cip_id_type:
          $ref: '#/components/schemas/PersonDetailsCIPIDType'
        cip_id_country:
          type: string
          description: Allowed in create and update. Must be an ISO 3166-1 alpha 3 code.
        additional_screening_status:
          $ref: '#/components/schemas/IdentityStatus'
        profession:
          type: string
          description: Allowed in create and update.
        middle_name:
          type: string
          title: Allowed in create and update
          maxLength: 200
        country_of_birth:
          type: string
          description: Allowed in create and update.
        passthrough_verification_id:
          type: string
          description: >-
            Unique identifier for the underlying person's ID verification
            record.
        passthrough_verification_status:
          $ref: '#/components/schemas/IdentityStatus'
        passthrough_verification_fields:
          type: array
          items:
            $ref: '#/components/schemas/PassthroughVerificationField'
          description: >-
            List of verification fields used by the external verifier to
            validate the person's identity.
    InstitutionDetails:
      type: object
      properties:
        sanctions_verification_status:
          $ref: '#/components/schemas/IdentityStatus'
        name:
          type: string
          title: Allowed in create and update
          maxLength: 200
          pattern: ^[0-9A-Za-z /?:().,&'+-]+$
        business_address:
          $ref: '#/components/schemas/IdentityMailingAddress'
        phone_number:
          type: string
          title: Allowed in create and update
        email:
          type: string
          title: Allowed in create and update
        institution_type:
          $ref: '#/components/schemas/InstitutionType'
        institution_sub_type:
          $ref: '#/components/schemas/InstitutionSubType'
        cip_id:
          type: string
          title: |-
            Allowed in create and update
            SSN format: xxx-xx-xxxx
            ITIN format: xxx-xx-xxxx
            EIN format: xx-xxxxxxx
          maxLength: 200
          pattern: ^[0-9A-Za-z /?:().,&'+-]+$
        cip_id_type:
          $ref: '#/components/schemas/InstitutionCIPIDType'
        cip_id_country:
          type: string
          description: Allowed in create and update. Must be an ISO 3166-1 alpha 3 code.
        govt_registration_date:
          type: string
          format: date-time
          title: date at which the institution is registered with govt
        incorporation_address:
          $ref: '#/components/schemas/IdentityMailingAddress'
        regulation_status:
          $ref: '#/components/schemas/RegulationStatus'
        trading_type:
          $ref: '#/components/schemas/TradingType'
        listed_exchange:
          type: string
          title: exchange in which the institution is listed
        ticker_symbol:
          type: string
          description: >-
            Ticker symbol of the institution if publicly traded or ticker symbol
            of the parent institution.
        parent_institution_name:
          type: string
          title: >-
            name of the parent institution if the institution is a subsidiary of
            parent institution
        regulator_name:
          type: string
          title: name of the financial regulator
        regulator_jurisdiction:
          type: string
          title: country or jurisdiction of financial regulator
        regulator_register_number:
          type: string
          title: registrar number of regulator
        document_verification_status:
          $ref: '#/components/schemas/IdentityStatus'
        additional_screening_status:
          $ref: '#/components/schemas/IdentityStatus'
        doing_business_as:
          type: string
          title: Allowed in create and update
        business_description:
          type: string
          title: free text description of business
    TaxDetail:
      type: object
      properties:
        tax_payer_id:
          type: string
          title: >-
            For U.S. citizens it is the SSN, TIN or EIN. For Brazil citizens, it
            is the CPF. Allowed in create and update
          maxLength: 35
          pattern: ^[0-9A-Za-z /?:().,&'+-]+$
        tax_payer_country:
          type: string
          title: Allowed in create and update. Must be an ISO 3166-1 alpha 3 code
        tin_verification_status:
          $ref: '#/components/schemas/TINVerificationStatus'
    CustomerDueDiligence:
      type: object
      properties:
        aliases:
          type: array
          items:
            type: string
          description: A list of alternate names or aliases associated with the Identity.
        estimated_net_worth:
          $ref: '#/components/schemas/CustomerDueDiligenceNetWorthRange'
        estimated_yearly_income:
          $ref: '#/components/schemas/CustomerDueDiligenceYearlyIncomeRange'
        expected_transfer_value:
          $ref: '#/components/schemas/CustomerDueDiligenceTransferValueRange'
        source_of_wealth:
          $ref: '#/components/schemas/WealthSource'
        source_of_funds:
          $ref: '#/components/schemas/FundsSource'
        purpose_of_account:
          $ref: '#/components/schemas/AccountPurpose'
        employment_status:
          $ref: '#/components/schemas/EmploymentStatus'
        employment_industry_sector:
          $ref: '#/components/schemas/InstitutionSubType'
        industry_sector:
          $ref: '#/components/schemas/InstitutionSubType'
        has_underlying_trust_structure:
          type: boolean
          description: >-
            Whether or not the institution tied to the Identity has an
            underlying trust structure.
        has_nominee_shareholders:
          type: boolean
          description: >-
            Whether or not the institution tied to the Identity has nominee
            shareholders.
        created_at:
          type: string
          format: date-time
          title: When the customer due diligence was created
        is_publicly_traded:
          type: boolean
          description: >-
            `true` or `false` indicating whether or not the company is listed on
            a public stock exchange.
        merchant_funding_source:
          $ref: '#/components/schemas/MerchantFundingSourceFundingSource'
        customer_regions:
          type: array
          items:
            $ref: '#/components/schemas/CustomerRegion'
          description: Regions where the customer base is located.
    IdentityStatus:
      type: string
      enum:
        - PENDING
        - ERROR
        - APPROVED
        - DENIED
        - DISABLED
      title: ''
    IdentityStatusDetails:
      type: object
      properties:
        active_controls:
          type: array
          items:
            $ref: '#/components/schemas/IdentityControl'
          description: Identity controls currently active on this identity.
        requirements:
          type: array
          items:
            $ref: '#/components/schemas/IdentityRequirement'
          description: >-
            Requirements that must be fulfilled for this identity to become
            approved.
    IdentityType:
      type: string
      enum:
        - PERSON
        - INSTITUTION
    InstitutionMember:
      type: object
      properties:
        identity_id:
          type: string
          title: The ID of the member identity
        roles:
          type: array
          items:
            $ref: '#/components/schemas/InstitutionRoleType'
          title: The type of membership this identity has in the institution
        ownership:
          type: string
          description: >-
            Decimal number representing the percent ownership the identity has
            in the company--  e.g. 5 represents 5% ownership.
        position:
          type: string
          title: The position the identity holds with the company
        name:
          type: string
          title: Member's full name. Not writable from API
        summary_status:
          $ref: '#/components/schemas/IdentityStatus'
        id:
          type: string
          description: >-
            Institution member ID. Note: This field is auto-generated.
            Specifying an ID when creating an institution member is a client
            error.
    TINVerificationStatus:
      type: string
      enum:
        - TIN_VERIFICATION_PENDING
        - TIN_VERIFICATION_ERROR
        - TIN_VERIFICATION_VALID
      description: The TIN verification status for the associated `tax_payer_id`.
    IdentityMailingAddress:
      type: object
      properties:
        country:
          type: string
          maxLength: 35
          pattern: ^[0-9A-Za-z /?:().,&'+-]+$
        address1:
          type: string
          maxLength: 35
          pattern: ^[0-9A-Za-z /?:().,&'+-]+$
        address2:
          type: string
          description: >-
            To clear address2 (i.e. when updating an identity), set address2 to
            an empty string ("").
          maxLength: 35
          pattern: ^[0-9A-Za-z /?:().,&'+-]+$
        city:
          type: string
          maxLength: 35
          pattern: ^[0-9A-Za-z /?:().,&'+-]+$
        province:
          type: string
          maxLength: 35
          pattern: ^[0-9A-Za-z /?:().,&'+-]+$
        zip_code:
          type: string
          description: Required for countries that have postal or zip codes.
          maxLength: 35
          pattern: ^[0-9A-Za-z /?:().,&'+-]+$
      description: A mailing address.
      required:
        - country
        - address1
        - city
        - province
    identityprotoVerifierType:
      type: string
      enum:
        - PAXOS
        - PASSTHROUGH
        - MANUAL
    PassthroughVerifierType:
      type: string
      enum:
        - JUMIO
        - ALLOY
        - LEXISNEXIS
        - MITEK
        - SUMSUB
        - MICROBILT
        - ONFIDO
        - CUSTOMER
        - EQUIFAX
        - ID3_AUTHENTICATE
        - FIS
        - PROVE
        - PERSONA
        - PLAID
        - DOTFILE
        - AIPRISE
    PersonDetailsCIPIDType:
      type: string
      enum:
        - SSN
        - ID_CARD
        - ITIN
        - PASSPORT
        - DRIVING_LICENSE
        - VISA
      title: ''
    PassthroughVerificationField:
      type: string
      enum:
        - FULL_LEGAL_NAME
        - ADDRESS
        - DATE_OF_BIRTH
        - CIP_ID
    InstitutionType:
      type: string
      enum:
        - TRUST
        - CORPORATION
        - LLC
        - PARTNERSHIP
      title: ''
    InstitutionSubType:
      type: string
      enum:
        - INVESTMENT
        - HEDGE_FUND
        - MONEY_SERVICE_BUSINESS
        - STO_ISSUER
        - PRECIOUS_METALS
        - NON_PROFIT
        - REGISTERED_INVESTMENT_ADVISOR
        - AGRICULTURE_FORESTRY_FISHING_HUNTING
        - MINING
        - UTILITIES
        - CONSTRUCTION
        - MANUFACTURING
        - WHOLESALE_TRADE
        - RETAIL_TRADE
        - TRANSPORTATION_WAREHOUSING
        - INFORMATION
        - FINANCE_INSURANCE
        - REAL_ESTATE_RENTAL_LEASING
        - PROFESSIONAL_SCIENTIFIC_TECHNICAL_SERVICES
        - MANAGEMENT_OF_COMPANIES_ENTERPRISES
        - ADMINISTRATIVE_SUPPORT_WASTE_MANAGEMENT_REMEDIATION_SERVICES
        - EDUCATIONAL_SERVICES
        - HEALTH_CARE_SOCIAL_ASSISTANCE
        - ARTS_ENTERTAINMENT_RECREATION
        - ACCOMMODATION_FOOD_SERVICES
        - OTHER_SERVICES
        - PUBLIC_ADMINISTRATION
        - NOT_CLASSIFIED
        - ADULT_ENTERTAINMENT
        - AUCTIONS
        - AUTOMOBILES
        - BLOCKCHAIN
        - CRYPTO
        - DRUGS
        - EXPORT_IMPORT
        - E_COMMERCE
        - FINANCIAL_INSTITUTION
        - GAMBLING
        - INSURANCE
        - MARKET_MAKER
        - SHELL_BANK
        - TRAVEL_TRANSPORT
        - WEAPONS
      title: ''
    InstitutionCIPIDType:
      type: string
      enum:
        - EIN
        - SSN
        - ITIN
        - REGISTRATION_NUMBER
      title: ''
    RegulationStatus:
      type: string
      enum:
        - US_REGULATED
        - INTL_REGULATED
        - NON_REGULATED
    TradingType:
      type: string
      enum:
        - PRIVATE
        - PUBLIC
        - PUBLICLY_TRADED_SUBSIDIARY
    CustomerDueDiligenceNetWorthRange:
      type: string
      enum:
        - NET_WORTH_0_TO_100K
        - NET_WORTH_100K_TO_500K
        - NET_WORTH_500K_TO_1M
        - NET_WORTH_1M_TO_2_5M
        - NET_WORTH_2_5M_TO_5M
        - NET_WORTH_5M_TO_7_5M
        - NET_WORTH_7_5M_TO_10M
        - NET_WORTH_10M_TO_25M
        - NET_WORTH_25M_TO_50M
        - NET_WORTH_OVER_50M
    CustomerDueDiligenceYearlyIncomeRange:
      type: string
      enum:
        - INCOME_0_TO_50K
        - INCOME_50K_TO_100K
        - INCOME_100K_TO_250K
        - INCOME_250K_TO_500K
        - INCOME_500K_TO_750K
        - INCOME_750K_TO_1M
        - INCOME_ABOVE_1M
    CustomerDueDiligenceTransferValueRange:
      type: string
      enum:
        - TRANSFER_VALUE_0_TO_25K
        - TRANSFER_VALUE_25K_TO_50K
        - TRANSFER_VALUE_50K_TO_100K
        - TRANSFER_VALUE_100K_TO_250K
        - TRANSFER_VALUE_250K_TO_500K
        - TRANSFER_VALUE_500K_TO_750K
        - TRANSFER_VALUE_750K_TO_1M
        - TRANSFER_VALUE_1M_TO_2_5M
        - TRANSFER_VALUE_2_5M_TO_5M
        - TRANSFER_VALUE_ABOVE_5M
      description: >-
        Anticipated monthly volume. The expected transfer value range for the
        Account associated with the Identity.
    WealthSource:
      type: string
      enum:
        - INHERITANCE
        - INVESTMENT_GAINS
        - BUSINESS_OWNERSHIP_DIVIDENDS
        - EMPLOYMENT_INCOME
        - REAL_ESTATE
        - OTHER_SOURCE_OF_WEALTH
    FundsSource:
      type: string
      enum:
        - SALARY_DISBURSEMENT
        - INHERITANCE_DISTRIBUTION
        - INVESTMENT_RETURNS
        - BUSINESS_DIVIDENDS_PROFITS
        - PROPERTY_SALE
        - LOAN_DISBURSEMENT
        - SAVINGS_ACCOUNT_WITHDRAWAL
        - GOVERNMENT_BENEFITS
    AccountPurpose:
      type: string
      enum:
        - INVESTMENT_TRADING
        - SAVINGS
        - STABLECOIN_PURCHASE_REDEMPTION
    EmploymentStatus:
      type: string
      enum:
        - CONTRACTUAL
        - FULL_TIME
        - PART_TIME
        - RETIRED
        - SELF_EMPLOYED
        - STUDENT
        - UNEMPLOYED
    MerchantFundingSourceFundingSource:
      type: string
      enum:
        - BUSINESS_LOANS_FINANCING
        - SALARY_SAVINGS
        - INVESTMENT_GAINS
        - INHERITANCE
        - REAL_ESTATE_INCOME
        - NON_PROFIT_SOURCES
        - OTHER_BUSINESS_INCOME
    CustomerRegion:
      type: string
      enum:
        - US_CANADA
        - MEXICO_CENTRAL_AMERICA
        - SOUTH_AMERICA
        - EUROPE
        - ASIA
        - AFRICA
        - OCEANIA
    IdentityControl:
      type: object
      properties:
        id:
          type: string
        type:
          $ref: '#/components/schemas/IdentityControlType'
        set_by:
          $ref: '#/components/schemas/IdentityControlSetBy'
        is_overridable:
          type: boolean
        reason_code:
          $ref: '#/components/schemas/IdentityControlReasonCode'
        reason:
          type: string
        created_at:
          type: string
          format: date-time
        deleted_at:
          type: string
          format: date-time
    IdentityRequirement:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/IdentityRequirementRequirementType'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/IdentityRequirementError'
          description: >-
            Specific errors providing additional detail on why this requirement
            is blocked.
        status:
          $ref: '#/components/schemas/IdentityRequirementRequirementStatus'
        awaiting_action_from:
          $ref: '#/components/schemas/IdentityRequirementAwaitingActionFrom'
      description: >-
        A requirement that must be fulfilled for an identity to be onboarded,
        reinstated, or remain in good standing.
      required:
        - type
        - errors
        - status
    InstitutionRoleType:
      type: string
      enum:
        - BENEFICIAL_OWNER
        - ACCOUNT_OPENER
        - TRUSTEE
        - AUTHORIZED_USER
        - GRANTOR
        - MANAGEMENT_CONTROL_PERSON
        - BENEFICIARY
      title: ''
    IdentityControlType:
      type: string
      enum:
        - SELL_ONLY
        - CLOSED
        - FROZEN
        - DORMANT
    IdentityControlSetBy:
      type: string
      enum:
        - SET_BY_PAXOS
        - SET_BY_CLIENT
    IdentityControlReasonCode:
      type: string
      enum:
        - OTHER
        - END_USER_REQUEST
        - INACTIVITY
        - COMPLIANCE_KYC
        - COMPLIANCE_EDD
        - COMPLIANCE_SCREENING
        - COMPLIANCE_INVESTIGATION
        - COMPLIANCE_INCOMPLETE
        - RISK_FRAUD
        - LEGAL_ORDER
        - ADMINISTRATIVE
      description: |2-
         - OTHER: Miscellaneous reason not captured by existing categories.
         - END_USER_REQUEST: Control applied at the end user's request.
         - INACTIVITY: Control applied due to prolonged inactivity in accordance with dormancy or lifecycle management policies.
         - COMPLIANCE_KYC: Control applied due to unmet KYC requirements, including missing, expired, failed, or unresponsiveness to refresh obligations.
         - COMPLIANCE_EDD: Control applied due to Enhanced Due Diligence (EDD) requirements, including failure to complete EDD reviews, provide requested information, or satisfy heightened risk assessment criteria.
         - COMPLIANCE_SCREENING: Control applied as a result of sanctions, politically exposed person (PEP), or adverse media screening hits.
         - COMPLIANCE_INVESTIGATION: Control applied while an identity is under active compliance, risk, or regulatory investigation, including reviews triggered by monitoring alerts or external inquiries.
         - COMPLIANCE_INCOMPLETE: Control applied because the onboarding process was not successfully completed, including failure to respond to requests for information or provide required documentation.
         - RISK_FRAUD: Control applied due to suspected or confirmed fraud, abuse, or security risk, including account compromise, transaction fraud, or policy violations.
         - LEGAL_ORDER: Control applied to comply with a legal, regulatory, or law-enforcement directive, including court orders, asset preservation requests, or regulatory instructions.
         - ADMINISTRATIVE: Control applied for operational or platform-initiated reasons not attributable to the end user or compliance failure, such as system remediation or account restructuring.
    IdentityRequirementRequirementType:
      type: string
      enum:
        - ID_VERIFICATION
        - DOCUMENT_VERIFICATION
        - SCREENING_CHECK
        - COMPLIANCE_CHECK
        - ENHANCED_DUE_DILIGENCE
        - MEMBERS
        - KYC_REFRESH
        - TAX_DETAILS_VERIFICATION
      description: >-
        RequirementType identifies the category of requirement blocking or
        pending for an identity.

         - ID_VERIFICATION: Identity verification via a passthrough provider is pending or failed.
         - DOCUMENT_VERIFICATION: Document review for an institution is pending or failed.
         - SCREENING_CHECK: Identity screening check is pending or failed.
         - COMPLIANCE_CHECK: A compliance check is pending or failed.
         - ENHANCED_DUE_DILIGENCE: Enhanced due diligence review is pending or failed.
         - MEMBERS: One or more institution members have a non-approved status.
         - KYC_REFRESH: KYC refresh is overdue or in progress.
         - TAX_DETAILS_VERIFICATION: Tax details verification is pending or failed.
    IdentityRequirementError:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/IdentityRequirementErrorCode'
        description:
          type: string
          description: >-
            Human-readable description providing additional context for the
            error.

            Do not expose code or description values directly to end users.
      description: A specific error explaining why a requirement is blocked or pending.
      required:
        - code
        - description
    IdentityRequirementRequirementStatus:
      type: string
      enum:
        - PENDING
        - FAILED
      description: >-
        RequirementStatus indicates whether this requirement is pending or has
        failed.

        PENDING means the check is in progress or awaiting information.

        FAILED means the check did not pass and may block approval.
    IdentityRequirementAwaitingActionFrom:
      type: string
      enum:
        - CLIENT
        - PAXOS
      description: >-
        AwaitingActionFrom indicates who needs to take action to unblock this
        requirement.

        Not set for MEMBERS requirements, where the client should call
        GetIdentity on each

        member identity to determine their individual requirement status.

         - CLIENT: The client (the integrating partner) must take action to resolve this requirement.
         - PAXOS: Paxos is handling this; no action needed from the client.
    IdentityRequirementErrorCode:
      type: string
      enum:
        - IDENTITY_VERIFICATION_FAILED
        - DOCUMENT_VERIFICATION_FAILED
        - SCREENING_IN_PROGRESS
        - SCREENING_FAILED
        - KYC_REFRESH_OVERDUE
        - MEMBER_VERIFICATION_FAILED
        - MEMBER_VERIFICATION_PENDING
        - EDD_DOCUMENTATION_REQUIRED
        - COMPLIANCE_REVIEW_REQUIRED
        - COMPLIANCE_REVIEW_FAILED
        - TIN_NOT_FOUND
        - IDENTITY_VERIFICATION_REQUIRED
        - DOCUMENT_UPLOAD_REQUIRED
        - KYC_REFRESH_REQUIRED
      description: |-
        Code identifies the specific failure type.
        Additional codes may be added as new requirement types are introduced.
  securitySchemes:
    OAuth2:
      type: oauth2
      description: >
        Paxos APIs use [OAuth 2](https://tools.ietf.org/html/rfc6749) with the
        [client credentials](https://tools.ietf.org/html/rfc6749#section-4.4)
        grant flow.


        **Token URLs:**

        - Production: https://oauth.paxos.com/oauth2/token

        - Sandbox: https://oauth.sandbox.paxos.com/oauth2/token


        Learn more in the [API credentials guide
        →](https://docs.paxos.com/developer/credentials)
      flows:
        clientCredentials:
          tokenUrl: https://oauth.paxos.com/oauth2/token
          scopes:
            conversion:read_conversion_stablecoin: Retrieve stablecoin conversion details
            conversion:write_conversion_stablecoin: Create or cancel a stablecoin conversion
            exchange:historical_prices: Retrieve marketnaverage prices at a certain time increment
            exchange:read_order: Retrieve order or order execution details
            exchange:read_quote: Retrieve quote details for buying or selling an asset
            exchange:read_quote_execution: Retrieve quote execution details
            exchange:write_quote_execution: Create a quote execution for buying or selling an asset
            exchange:write_order: Create or cancel an order for buying or selling an asset
            fee:write_crypto_withdrawal_fee: Create a guaranteed fee for crypto withdrawal
            funding:read_bank_balance: Retrieve Paxos dedicated bank account balance
            funding:read_profile: Retrieve Profile details and deposit funds in Sandbox
            funding:write_profile: Create a Profile
            identity:read_account: Retrieve Account details
            identity:read_identity: Retrieve Identity details or documents
            identity:write_account: Create or update Account and Account Members
            identity:write_identity: Create or update Identity details and set Sandbox Identify Status
            settlement:read_transaction: Retrieve settlement transaction details
            settlement:write_transaction: Create, affirm or cancel a settlement transaction
            tax:read_tax_form: Retrieve tax details
            tax:read_tax_lot: Retrieve tax lot details
            tax:write_tax_lot: Update the given tax-lot ID
            transfer:read_deposit_address: Retrieve deposit address details
            transfer:read_fiat_account: Retrieve Fiat Account details
            transfer:read_fiat_deposit_instructions: Retrieve fiat deposit instruction details
            transfer:read_transfer: Retrieve transfer details
            transfer:read_transfer_limit: Retrieve limits for the given transaction type
            transfer:reject_crypto_deposit: Reject a crypto deposit (travel rule)
            transfer:update_crypto_deposit: Provide required travel-rule details
            transfer:write_crypto_withdrawal: Withdraw asset to a specified destination address
            transfer:write_deposit_address: Create an deposit address on a blockchain network
            transfer:write_fiat_account: Create, update or delete a Fiat Account
            transfer:write_fiat_deposit_instructions: Create, update or delete fiat deposit instructions
            transfer:write_internal_transfer: Transfer assets between two Profiles
            transfer:write_sandbox_fiat_deposit: Initiate a test fiat deposit in the Sandbox environment
            transfer:write_fiat_withdrawal: Withdraw fiat to the given destination
            events:read_event: Retrieve events

````