Uphold Assets API

Assets, networks and rails.

Documentation

Specifications

Other Resources

OpenAPI Specification

uphold-assets-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Uphold Assets API
  version: 0.1.0
  description: 'Operations tagged Assets across 2 of this provider''s published API definitions: uphold-core-api-openapi.json, uphold-market-pulse-api-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.enterprise.sandbox.uphold.com
  description: Sandbox
- url: https://api.enterprise.uphold.com
  description: Production
security:
- OAuth2: []
tags:
- name: Assets
  description: Assets, networks and rails.
paths:
  /core/assets:
    servers:
    - url: https://api.enterprise.sandbox.uphold.com
      description: Sandbox
    - url: https://api.enterprise.uphold.com
      description: Production
    get:
      operationId: core.list-assets
      summary: List assets
      description: List assets supported by the platform.
      tags:
      - Assets
      x-uphold:
        security:
          OAuth2:
            subjects:
            - client
            - user:business
            - user:individual
      parameters:
      - $ref: '#/components/parameters/list-assets-type-filter'
      - $ref: '#/components/parameters/list-assets-sort'
      - $ref: '#/components/parameters/x-on-behalf-of'
      - $ref: '#/components/parameters/x-uphold-user-ip'
      - $ref: '#/components/parameters/x-uphold-user-agent'
      - $ref: '#/components/parameters/x-uphold-user-origin'
      - $ref: '#/components/parameters/x-uphold-user-country'
      - $ref: '#/components/parameters/x-uphold-user-subdivision'
      - $ref: '#/components/parameters/x-uphold-user-city'
      responses:
        '200':
          $ref: '#/components/responses/list-assets-response'
        '401':
          $ref: '#/components/responses/unauthorized'
        '429':
          $ref: '#/components/responses/too-many-requests'
  /core/assets/_mget:
    servers:
    - url: https://api.enterprise.sandbox.uphold.com
      description: Sandbox
    - url: https://api.enterprise.uphold.com
      description: Production
    post:
      operationId: core.get-many-assets
      summary: Get many assets
      description: Retrieve several assets by their codes.
      tags:
      - Assets
      x-uphold:
        security:
          OAuth2:
            subjects:
            - client
            - user:business
            - user:individual
      parameters:
      - $ref: '#/components/parameters/x-on-behalf-of'
      - $ref: '#/components/parameters/x-uphold-user-ip'
      - $ref: '#/components/parameters/x-uphold-user-agent'
      - $ref: '#/components/parameters/x-uphold-user-origin'
      - $ref: '#/components/parameters/x-uphold-user-country'
      - $ref: '#/components/parameters/x-uphold-user-subdivision'
      - $ref: '#/components/parameters/x-uphold-user-city'
      requestBody:
        $ref: '#/components/requestBodies/get-many-assets-request-body'
      responses:
        '200':
          $ref: '#/components/responses/get-many-assets-response'
        '401':
          $ref: '#/components/responses/unauthorized'
        '429':
          $ref: '#/components/responses/too-many-requests'
  /core/assets/{asset}:
    servers:
    - url: https://api.enterprise.sandbox.uphold.com
      description: Sandbox
    - url: https://api.enterprise.uphold.com
      description: Production
    get:
      operationId: core.get-asset
      summary: Get asset
      description: Retrieve an asset by code.
      tags:
      - Assets
      x-uphold:
        security:
          OAuth2:
            subjects:
            - client
            - user:business
            - user:individual
      parameters:
      - $ref: '#/components/parameters/asset-code'
      - $ref: '#/components/parameters/x-on-behalf-of'
      - $ref: '#/components/parameters/x-uphold-user-ip'
      - $ref: '#/components/parameters/x-uphold-user-agent'
      - $ref: '#/components/parameters/x-uphold-user-origin'
      - $ref: '#/components/parameters/x-uphold-user-country'
      - $ref: '#/components/parameters/x-uphold-user-subdivision'
      - $ref: '#/components/parameters/x-uphold-user-city'
      responses:
        '200':
          $ref: '#/components/responses/get-asset-response'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          $ref: '#/components/responses/get-asset-not-found-response'
        '429':
          $ref: '#/components/responses/too-many-requests'
  /core/assets/{asset}/rates:
    servers:
    - url: https://api.enterprise.sandbox.uphold.com
      description: Sandbox
    - url: https://api.enterprise.uphold.com
      description: Production
    get:
      operationId: core.get-asset-rates
      summary: Get asset rates
      description: Retrieve asset rates against other assets.
      tags:
      - Assets
      x-uphold:
        security:
          OAuth2:
            subjects:
            - client
            - user:business
            - user:individual
      parameters:
      - $ref: '#/components/parameters/asset-code'
      - $ref: '#/components/parameters/get-asset-rates-denomination-filter'
      - $ref: '#/components/parameters/x-uphold-user-ip'
      - $ref: '#/components/parameters/x-uphold-user-agent'
      - $ref: '#/components/parameters/x-uphold-user-origin'
      - $ref: '#/components/parameters/x-uphold-user-country'
      - $ref: '#/components/parameters/x-uphold-user-subdivision'
      - $ref: '#/components/parameters/x-uphold-user-city'
      responses:
        '200':
          $ref: '#/components/responses/get-asset-rates-response'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          $ref: '#/components/responses/get-asset-rates-not-found-response'
        '409':
          $ref: '#/components/responses/get-asset-rates-conflict-response'
        '429':
          $ref: '#/components/responses/too-many-requests'
  /core/assets/{asset}/historical-rates:
    servers:
    - url: https://api.enterprise.sandbox.uphold.com
      description: Sandbox
    - url: https://api.enterprise.uphold.com
      description: Production
    get:
      operationId: core.get-asset-historical-rates
      summary: Get asset historical rates
      description: Retrieve historical rates for a specific asset.
      tags:
      - Assets
      x-uphold:
        security:
          OAuth2:
            subjects:
            - client
            - user:business
            - user:individual
      parameters:
      - $ref: '#/components/parameters/asset-code'
      - $ref: '#/components/parameters/denomination'
      - $ref: '#/components/parameters/asset-historical-rates-interval'
      - $ref: '#/components/parameters/x-uphold-user-ip'
      - $ref: '#/components/parameters/x-uphold-user-agent'
      - $ref: '#/components/parameters/x-uphold-user-origin'
      - $ref: '#/components/parameters/x-uphold-user-country'
      - $ref: '#/components/parameters/x-uphold-user-subdivision'
      - $ref: '#/components/parameters/x-uphold-user-city'
      responses:
        '200':
          $ref: '#/components/responses/get-asset-historical-rate-response'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          $ref: '#/components/responses/get-asset-historical-rate-not-found-response'
        '409':
          $ref: '#/components/responses/get-asset-historical-rate-conflict-response'
        '429':
          $ref: '#/components/responses/too-many-requests'
  /core/networks:
    servers:
    - url: https://api.enterprise.sandbox.uphold.com
      description: Sandbox
    - url: https://api.enterprise.uphold.com
      description: Production
    get:
      operationId: core.list-networks
      summary: List networks
      description: List networks supported by the platform.
      tags:
      - Assets
      x-uphold:
        security:
          OAuth2:
            subjects:
            - client
            - user:business
            - user:individual
      parameters:
      - $ref: '#/components/parameters/list-networks-type-filter'
      - $ref: '#/components/parameters/x-on-behalf-of'
      - $ref: '#/components/parameters/x-uphold-user-ip'
      - $ref: '#/components/parameters/x-uphold-user-agent'
      - $ref: '#/components/parameters/x-uphold-user-origin'
      - $ref: '#/components/parameters/x-uphold-user-country'
      - $ref: '#/components/parameters/x-uphold-user-subdivision'
      - $ref: '#/components/parameters/x-uphold-user-city'
      responses:
        '200':
          $ref: '#/components/responses/list-networks-response'
        '401':
          $ref: '#/components/responses/unauthorized'
        '429':
          $ref: '#/components/responses/too-many-requests'
  /core/networks/{network}:
    servers:
    - url: https://api.enterprise.sandbox.uphold.com
      description: Sandbox
    - url: https://api.enterprise.uphold.com
      description: Production
    get:
      operationId: core.get-network
      summary: Get network
      description: Retrieve a network by code.
      tags:
      - Assets
      x-uphold:
        security:
          OAuth2:
            subjects:
            - client
            - user:business
            - user:individual
      parameters:
      - $ref: '#/components/parameters/network-code'
      - $ref: '#/components/parameters/x-on-behalf-of'
      - $ref: '#/components/parameters/x-uphold-user-ip'
      - $ref: '#/components/parameters/x-uphold-user-agent'
      - $ref: '#/components/parameters/x-uphold-user-origin'
      - $ref: '#/components/parameters/x-uphold-user-country'
      - $ref: '#/components/parameters/x-uphold-user-subdivision'
      - $ref: '#/components/parameters/x-uphold-user-city'
      responses:
        '200':
          $ref: '#/components/responses/get-network-response'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          $ref: '#/components/responses/get-network-not-found-response'
        '429':
          $ref: '#/components/responses/too-many-requests'
  /core/networks/{network}/validate-address:
    servers:
    - url: https://api.enterprise.sandbox.uphold.com
      description: Sandbox
    - url: https://api.enterprise.uphold.com
      description: Production
    post:
      operationId: core.validate-network-address
      summary: Validate network address
      description: Validate an address for a specific network.
      tags:
      - Assets
      x-uphold:
        security:
          OAuth2:
            subjects:
            - client
            - user:business
            - user:individual
      parameters:
      - $ref: '#/components/parameters/network-code'
      - $ref: '#/components/parameters/x-on-behalf-of'
      - $ref: '#/components/parameters/x-uphold-user-ip'
      - $ref: '#/components/parameters/x-uphold-user-agent'
      - $ref: '#/components/parameters/x-uphold-user-origin'
      - $ref: '#/components/parameters/x-uphold-user-country'
      - $ref: '#/components/parameters/x-uphold-user-subdivision'
      - $ref: '#/components/parameters/x-uphold-user-city'
      requestBody:
        $ref: '#/components/requestBodies/validate-network-address-request-body'
      responses:
        '200':
          $ref: '#/components/responses/validate-network-address-response'
        '400':
          $ref: '#/components/responses/bad-request'
        '401':
          $ref: '#/components/responses/unauthorized'
        '404':
          $ref: '#/components/responses/validate-network-address-not-found-response'
        '409':
          $ref: '#/components/responses/validate-network-address-conflict-response'
        '429':
          $ref: '#/components/responses/too-many-requests'
  /core/rails:
    servers:
    - url: https://api.enterprise.sandbox.uphold.com
      description: Sandbox
    - url: https://api.enterprise.uphold.com
      description: Production
    get:
      operationId: core.list-rails
      summary: List rails
      description: List rails supported by the platform.
      tags:
      - Assets
      x-uphold:
        security:
          OAuth2:
            subjects:
            - client
            - user:business
            - user:individual
      parameters:
      - $ref: '#/components/parameters/list-rails-type-filter'
      - $ref: '#/components/parameters/list-rails-network-code-filter'
      - $ref: '#/components/parameters/list-rails-method-filter'
      - $ref: '#/components/parameters/list-rails-asset-code-filter'
      - $ref: '#/components/parameters/x-on-behalf-of'
      - $ref: '#/components/parameters/x-uphold-user-ip'
      - $ref: '#/components/parameters/x-uphold-user-agent'
      - $ref: '#/components/parameters/x-uphold-user-origin'
      - $ref: '#/components/parameters/x-uphold-user-country'
      - $ref: '#/components/parameters/x-uphold-user-subdivision'
      - $ref: '#/components/parameters/x-uphold-user-city'
      responses:
        '200':
          $ref: '#/components/responses/list-rails-response'
        '401':
          $ref: '#/components/responses/unauthorized'
        '429':
          $ref: '#/components/responses/too-many-requests'
  /core/assets/test-helpers/skip-assets-cooldowns:
    servers:
    - url: https://api.enterprise.sandbox.uphold.com
      description: Sandbox
    - url: https://api.enterprise.uphold.com
      description: Production
    put:
      operationId: core.skip-assets-cooldowns
      summary: Skip assets cooldowns
      description: Skips assets cooldowns for testing purposes.
      tags:
      - Assets
      x-uphold:
        operation:
          notImplementedIn:
          - production
        security:
          OAuth2:
            subjects:
            - user:individual
            - user:business
      security:
      - OAuth2:
        - core.assets:use-test-helpers
      parameters:
      - $ref: '#/components/parameters/x-on-behalf-of'
      - $ref: '#/components/parameters/x-uphold-user-ip'
      - $ref: '#/components/parameters/x-uphold-user-agent'
      - $ref: '#/components/parameters/x-uphold-user-origin'
      - $ref: '#/components/parameters/x-uphold-user-country'
      - $ref: '#/components/parameters/x-uphold-user-subdivision'
      - $ref: '#/components/parameters/x-uphold-user-city'
      responses:
        '204':
          $ref: '#/components/responses/skip-assets-cooldowns-response'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '429':
          $ref: '#/components/responses/too-many-requests'
  /market-pulse/assets/{assetCode}/news:
    servers:
    - url: https://api.enterprise.sandbox.uphold.com
      description: Sandbox
    - url: https://api.enterprise.uphold.com
      description: Production
    get:
      operationId: market-pulse.list-asset-news
      summary: List asset news
      description: Retrieve the latest news for a specific asset.
      tags:
      - Assets
      x-uphold:
        security:
          OAuth2:
            subjects:
            - client
            - user:business
            - user:individual
      security:
      - OAuth2:
        - market-pulse.assets.news:read
      parameters:
      - $ref: '#/components/parameters/asset-code_2'
      - $ref: '#/components/parameters/news-limit'
      - $ref: '#/components/parameters/x-on-behalf-of'
      - $ref: '#/components/parameters/x-uphold-user-ip'
      - $ref: '#/components/parameters/x-uphold-user-agent'
      - $ref: '#/components/parameters/x-uphold-user-origin'
      - $ref: '#/components/parameters/x-uphold-user-country'
      - $ref: '#/components/parameters/x-uphold-user-subdivision'
      - $ref: '#/components/parameters/x-uphold-user-city'
      responses:
        '200':
          $ref: '#/components/responses/list-asset-news-response'
        '400':
          $ref: '#/components/responses/bad-request'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '429':
          $ref: '#/components/responses/too-many-requests'
  /market-pulse/assets/{assetCode}/statistics:
    servers:
    - url: https://api.enterprise.sandbox.uphold.com
      description: Sandbox
    - url: https://api.enterprise.uphold.com
      description: Production
    get:
      operationId: market-pulse.get-asset-statistics
      summary: Get asset statistics
      description: Retrieve real-time market statistics for a specific asset.
      tags:
      - Assets
      x-uphold:
        security:
          OAuth2:
            subjects:
            - client
            - user:business
            - user:individual
      security:
      - OAuth2:
        - market-pulse.assets.statistics:read
      parameters:
      - $ref: '#/components/parameters/asset-code_2'
      - $ref: '#/components/parameters/x-on-behalf-of'
      - $ref: '#/components/parameters/x-uphold-user-ip'
      - $ref: '#/components/parameters/x-uphold-user-agent'
      - $ref: '#/components/parameters/x-uphold-user-origin'
      - $ref: '#/components/parameters/x-uphold-user-country'
      - $ref: '#/components/parameters/x-uphold-user-subdivision'
      - $ref: '#/components/parameters/x-uphold-user-city'
      responses:
        '200':
          $ref: '#/components/responses/get-asset-statistics-response'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/get-asset-statistics-not-found-response'
        '429':
          $ref: '#/components/responses/too-many-requests'
  /market-pulse/assets/{assetCode}/information:
    servers:
    - url: https://api.enterprise.sandbox.uphold.com
      description: Sandbox
    - url: https://api.enterprise.uphold.com
      description: Production
    get:
      operationId: market-pulse.get-asset-information
      summary: Get asset information
      description: Retrieve descriptive information for a specific asset.
      tags:
      - Assets
      x-uphold:
        security:
          OAuth2:
            subjects:
            - client
            - user:business
            - user:individual
      security:
      - OAuth2:
        - market-pulse.assets.information:read
      parameters:
      - $ref: '#/components/parameters/asset-code_2'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/accept-language'
      - $ref: '#/components/parameters/x-on-behalf-of'
      - $ref: '#/components/parameters/x-uphold-user-ip'
      - $ref: '#/components/parameters/x-uphold-user-agent'
      - $ref: '#/components/parameters/x-uphold-user-origin'
      - $ref: '#/components/parameters/x-uphold-user-country'
      - $ref: '#/components/parameters/x-uphold-user-subdivision'
      - $ref: '#/components/parameters/x-uphold-user-city'
      responses:
        '200':
          $ref: '#/components/responses/get-asset-information-response'
        '400':
          $ref: '#/components/responses/bad-request'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/get-asset-information-not-found-response'
        '429':
          $ref: '#/components/responses/too-many-requests'
webhooks:
  core.assets.cooldown-ended:
    servers:
    - url: https://api.enterprise.sandbox.uphold.com
      description: Sandbox
    - url: https://api.enterprise.uphold.com
      description: Production
    post:
      operationId: core.assets-cooldown-ended
      summary: Assets cooldown ended
      description: The cooldown period for a set of assets has ended.
      tags:
      - Assets
      parameters:
      - $ref: '#/components/parameters/webhook-id'
      - $ref: '#/components/parameters/webhook-timestamp'
      - $ref: '#/components/parameters/webhook-signature'
      requestBody:
        description: Assets cooldown ended event.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/assets-cooldown-webhook-event'
            examples:
              Assets Financial Promotions Cooldown Ended:
                value:
                  id: 123e4567-e89b-12d3-a456-426614174000
                  type: core.assets.cooldown-ended
                  createdAt: '2021-01-01T00:00:00.000Z'
                  data:
                    userId: cd21b26d-35d2-408a-9201-b8fdbef7a604
                    assets:
                    - BTC
                    - ETH
                    cooldown:
                      rule: financial-promotions
                      features:
                      - buy
                      - deposit
                      endsAt: '2024-12-31T23:59:59.000Z'
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
components:
  parameters:
    x-on-behalf-of:
      name: X-On-Behalf-Of
      description: The subject on whose behalf the operation is being performed.
      in: header
      schema:
        type: string
        pattern: ^(user|client)\s[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$
      examples:
        User Identifier:
          value: user cd21b26d-35d2-408a-9201-b8fdbef7a604
        Client Identifier:
          value: client 3fa85f64-5717-4562-b3fc-2c963f66afa6
    asset-historical-rates-interval:
      name: interval
      description: The interval for the historical rates.
      in: query
      required: false
      schema:
        type: string
        enum:
        - one-hour
        - one-day
        - one-week
        - one-month
        - one-year
        - five-years
        default: one-day
    get-asset-rates-denomination-filter:
      name: denomination
      description: Filter rates by specified assets.
      in: query
      style: form
      explode: false
      required: false
      schema:
        type: array
        maxItems: 100
        uniqueItems: true
        items:
          type: string
          minLength: 1
      examples:
        GBP Asset:
          value:
          - GBP
    list-assets-sort:
      name: sort
      in: query
      description: Sort assets by a criterion.
      required: false
      schema:
        type: string
        enum:
        - code:asc
        - code:desc
        - name:asc
        - name:desc
        - price:asc
        - price:desc
        - price-delta:asc:one-hour
        - price-delta:asc:one-day
        - price-delta:asc:one-week
        - price-delta:asc:one-month
        - price-delta:asc:one-year
        - price-delta:asc:five-years
        - price-delta:desc:one-hour
        - price-delta:desc:one-day
        - price-delta:desc:one-week
        - price-delta:desc:one-month
        - price-delta:desc:one-year
        - price-delta:desc:five-years
        - market-cap:asc
        - market-cap:desc
        default: code:asc
    x-uphold-user-city:
      name: X-Uphold-User-City
      description: Contains the name of the city of the end user that is requesting the operation.
      in: header
      schema:
        $ref: '#/components/schemas/string-no-edge-spaces'
      examples:
        User City:
          value: San Francisco
    list-rails-method-filter:
      name: method
      description: Filter rails by method.
      in: query
      style: form
      explode: false
      required: false
      schema:
        type: array
        maxItems: 25
        uniqueItems: true
        items:
          $ref: '#/components/schemas/rail-method'
      examples:
        Debit Card Method:
          value:
          - debit-card
    list-assets-type-filter:
      name: type
      description: Filter assets by type.
      in: query
      explode: false
      required: false
      schema:
        type: array
        uniqueItems: true
        maxItems: 25
        items:
          $ref: '#/components/schemas/asset-type'
      examples:
        Crypto Asset Type:
          value:
          - crypto
    x-uphold-user-origin:
      name: X-Uphold-User-Origin
      description: Contains the origin of the request made by the end user.
      in: header
      schema:
        $ref: '#/components/schemas/string-no-edge-spaces'
      examples:
        Origin:
          value: https://uphold.com
    list-networks-type-filter:
      name: type
      description: Filter networks by type.
      in: query
      explode: false
      required: false
      schema:
        type: array
        maxItems: 25
        uniqueItems: true
        items:
          allOf:
          - $ref: '#/components/schemas/network-type'
          - type: string
            minLength: 1
      examples:
        Crypto Network Type:
          value:
          - crypto
    webhook-id:
      name: webhook-id
      description: The unique identifier of the webhook.
      in: header
      required: true
      schema:
        type: string
      examples:
        Webhook ID:
          value: msg_p5jXN8AQM9LWM0D4loKWxJek
    list-rails-network-code-filter:
      name: network
      description: Filter rails by network code.
      in: query
      explode: false
      required: false
      schema:
        type: array
        maxItems: 25
        uniqueItems: true
        items:
          type: string
          minLength: 1
      examples:
        Bitcoin Network:
          value:
          - bitcoin
    list-rails-asset-code-filter:
      name: asset
      description: Filter rails by asset code.
      in: query
      style: form
      explode: false
      required: false
      schema:
        type: array
        maxItems: 100
        uniqueItems: true
        items:
          type: string
          minLength: 1
      examples:
        BTC Asset:
          value:
          - BTC
    asset-code:
      name: asset
      description: The asset code.
      in: path
      required: true
      schema:
        type: string
        minLength: 1
      examples:
        BTC Asset:
          value: BTC
    webhook-timestamp:
      name: webhook-timestamp
      description: The timestamp of the webhook, in seconds after the Unix epoch.
      in: header
      required: true
      schema:
        type: integer
      examples:
        Webhook Timestamp:
          value: 1614265330
    x-uphold-user-ip:
      name: X-Uphold-User-Ip
      description: Contains the IP of the end user that is requesting the operation.
      in: header
      schema:
        oneOf:
        - title: IPv4
          type: string
          format: ipv4
        - title: IPv6
          type: string
          format: ipv6
      examples:
        User Ip:
          value: 47.174.97.164
    news-limit:
      name: limit
      description: The maximum number of news articles to return.
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 10
        default: 10
      examples:
        10 Articles:
          value: 10
    network-code:
      name: network
      description: The network code.
      in: path
      required: true
      schema:
        type: string
        minLength: 1
      examples:
        Bitcoin Network:
          value: bitcoin
    accept-language:
      name: Accept-Language
      description: The natural language and locale that the client prefers.
      in: header
      schema:
        type: string
      examples:
        English (UK):
          value: en-GB
    x-uphold-user-country:
      name: X-Uphold-User-Country
      description: Contains the code of the country of the end user that is requesting the operation.
      in: header
      schema:
        $ref: '#/components/schemas/country-code-for-request'
      examples:
        User Country:
          value: US
    asset-code_2:
      name: assetCode
      description: The asset code.
      in: path
      required: true
      schema:
        type: string
        minLength: 1
      examples:
        BTC Asset:
          value: BTC
    list-rails-type-filter:
      name: type
      description: Filter rails by type.
      in: query
      explode: false
      required: false
      schema:
        type: array
        maxItems: 25
        uniqueItems: true
        items:
          $ref: '#/components/schemas/rail-type'
      examples:
        Crypto Rail Type:
          value:
          - crypto
    x-uphold-user-agent:
      name: X-Uphold-User-Agent
      description: Contains the user agent of the end user that is requesting the operation.
      in: header
      schema:
        $ref: '#/components/schemas/string-no-edge-spaces'
      examples:
        User Agent:
          value: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
    webhook-signature:
      name: webhook-signature
      description: The signature of the webhook.
      in: header
      required: true
      schema:
        type: string
      examples:
        Webhook Signature:
          value: v1,Hw8/adTzfYtjPGhuBahfmGhUROG3AvEKH3mvkeK791Q=
    format:
      name: format
      in: query
      description: The format of the information to return.
      required: false
      schema:
        type: string
        enum:
        - text
        - html
        default: text
      examples:
        Text:
          value: text
        HTML:
          value: html
    denomination:
      name: denomination
      description: Specifies the asset code to use as the denomination for value conversion. If not provided, USD is used by default.
      in: query
      required: false
      schema:
        type: string
        minLength: 1
        default: USD
      examples:
        BTC Asset:
          value: BTC
    x-uphold-user-subdivision:
      name: X-Uphold-User-Subdivision
      description: Contains the code of the subdivision of the end user that is requesting the operation.
      in: header
      schema:
        $ref: '#/components/schemas/subdivision-code-for-request'
      examples:
        User Subdivision:
          value: US-CA
  responses:
    too-many-requests:
      description: Too Many Requests.
      headers:
        Retry-After:
          description: The number of seconds to wait before making a new request.
          schema:
            type: integer
            format: int32
          examples:
            Retry After:
              value: 60
        x-uphold-request-id:
          description: A unique identifier for the request that can be shared with Uphold for troubleshooting purposes.
          required: true
          schema:
            type: string
            format: uuid
          examples:
            Request ID:
              value: 9092ee4d-f0fb-42e9-8787-b668dbcec531
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            Too Many Requests:
              value:
                code: too_many_requests
                message: Try again later
    get-asset-statistics-response:
      description: Asset statistics retrieved.
      content:
        application/json:
          schema:
            type: object
            properties:
              statistics:
                $ref: '#/components/schemas/asset-statistics'
            required:
            - statistics
          examples:
            Asset Statistics Retrieved:
              value:
                statistics:
                  circulatingSupply: 19000000
                  marketCap: 850000000000
                  volume24h: 1000000000
                  allTimeHigh: 69000
      headers:
        x-uphold-request-id:
          description: A unique identifier for the request that can be shared with Uphold for troubleshooting purposes.
          required: true
          schema:
            type: string
            format: uuid
          examples:
            Request ID:
              value: 9092ee4d-f0fb-42e9-8787-b668dbcec531
    get-network-not-found-response:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            Network Not Found:
              value:
                code: entity_not_found
                message: The network cannot be found
                details:
                  entity: network
      headers:
        x-uphold-request-id:
          description: A unique identifier for the request that can be shared with Uphold for troubleshooting purposes.
          required: true
          schema:
            type: string
            format: uuid
          examples:
            Request ID:
              value: 9092ee4d-f0fb-42e9-8787-b668dbcec531
    get-asset-rates-not-found-response:
      description: Resource not found.
      con

# --- truncated at 32 KB (85 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/uphold/refs/heads/main/openapi/uphold-assets-api-openapi.yml