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

# List user asset rates

> List historical OHLCV candles for a single asset against a quote asset, for a specific user with that user's geo restrictions applied.

Return open, high, low, close, and base-asset volume for each available candle, in chronological order. Use `close` to plot a price time-series.

Prices are expressed in the quote asset per unit of the requested asset. Some candles use derived rates: their high and low values are price bounds that may not correspond to executed trades. Their volume comes from the underlying market used to price the requested asset, expressed in units of that asset.

For example, when BTC/JPY prices are derived from BTC/USD and USD/JPY, volume represents BTC traded in the BTC/USD market during the interval. It does not represent BTC/JPY trading activity.

Intervals without trades may carry forward prior prices with zero volume. The current, incomplete candle may be included and can change until the interval ends.

Pages cover consecutive portions of the requested time window. Continue with `next_page_token` until it is absent, even if `data` is empty. An empty page means no prices are available for that portion of the window. History is limited to the most recent 5,760 candles and may be shorter for some intervals.



## OpenAPI

````yaml https://dsct1ci24fgcu.cloudfront.net/prod/merged/openapi.json get /v1/users/{user_id}/assets/{asset_type}/{asset_symbol}/rates
openapi: 3.1.0
info:
  title: PWS Public API
  version: '1'
  description: >-
    Integrate with Payward Services to onboard users, manage accounts and funds,
    trade assets, and receive event notifications.
  contact:
    name: Payward Services
servers:
  - url: https://api.services.payward.com
security: []
tags:
  - name: Assets
    description: List the assets PWS is willing to swap.
    x-displayName: Assets
  - name: Conversions
    description: >-
      Rule-driven and on-demand fiat ↔ crypto value movement, including
      conversion rules and deposits.
    x-displayName: Conversions
  - name: Earn
    description: >-
      Manage Auto Earn preferences and retrieve allocation and reward
      information.
    x-displayName: Earn
  - name: Funding
    description: >-
      Discover deposit and withdrawal options, manage deposit addresses, and
      move funds between accounts.
    x-displayName: Funding
  - name: Derivative transfers
    description: >-
      Move funds between an account's spot balance and the same owner's futures
      balance.
    x-displayName: Derivative transfers
  - name: Portfolio
    description: 'Inspect a customer''s portfolio: balances, valuations, and transactions.'
    x-displayName: Portfolio
  - name: Ramp
    description: >-
      Support Ramp flows with discovery, quotes, limits, and hosted checkout
      experiences.
    x-displayName: Ramp
  - name: Reports
    description: Settlement and reconciliation reports for the partner.
    x-displayName: Reports
  - name: Swaps
    description: Account-funded quotes that lock a price until they expire or are executed.
    x-displayName: Swaps
  - name: Onchain quotes
    description: Wallet-funded quotes that return the data needed to settle onchain.
    x-displayName: Onchain quotes
  - name: Price trigger swaps
    description: Swaps that wait for a target price before submitting a trade.
    x-displayName: Price trigger swaps
  - name: Travel Rule verifications
    description: Travel Rule address ownership verification flows.
    x-displayName: Travel Rule verifications
  - name: Users
    description: >-
      User onboarding and status flows that the partner manages.


      - **Create User** provisions an account-owned user from an external
      reference and optional email.

      - **Get User** retrieves the user's profile, verification status, and
      required actions.


      Use the returned user `id` for calls that require the user's identifier.
    x-displayName: Users
  - name: Verifications
    description: Identity verification (KYC) submission and status for end users.
    x-displayName: Verifications
  - name: Webhooks
    description: >-
      Register HTTPS destinations to receive event deliveries, rotate signing
      secrets, and inspect, update, or delete existing subscriptions. Each
      subscription is owned by the authenticated partner; deliveries are signed
      with HMAC-SHA256 and retried on transient failures.
    x-displayName: Webhooks
paths:
  /v1/users/{user_id}/assets/{asset_type}/{asset_symbol}/rates:
    get:
      tags:
        - Assets
      summary: List user asset rates
      description: >-
        List historical OHLCV candles for a single asset against a quote asset,
        for a specific user with that user's geo restrictions applied.


        Return open, high, low, close, and base-asset volume for each available
        candle, in chronological order. Use `close` to plot a price time-series.


        Prices are expressed in the quote asset per unit of the requested asset.
        Some candles use derived rates: their high and low values are price
        bounds that may not correspond to executed trades. Their volume comes
        from the underlying market used to price the requested asset, expressed
        in units of that asset.


        For example, when BTC/JPY prices are derived from BTC/USD and USD/JPY,
        volume represents BTC traded in the BTC/USD market during the interval.
        It does not represent BTC/JPY trading activity.


        Intervals without trades may carry forward prior prices with zero
        volume. The current, incomplete candle may be included and can change
        until the interval ends.


        Pages cover consecutive portions of the requested time window. Continue
        with `next_page_token` until it is absent, even if `data` is empty. An
        empty page means no prices are available for that portion of the window.
        History is limited to the most recent 5,760 candles and may be shorter
        for some intervals.
      operationId: listUserAssetRates
      parameters:
        - in: path
          name: asset_type
          required: true
          schema:
            description: Classification of the asset (fiat, crypto, stablecoin, or xstock).
            type: string
            enum:
              - fiat
              - crypto
              - xstock
              - stablecoin
          style: simple
          example: crypto
        - in: path
          name: asset_symbol
          required: true
          schema:
            $ref: '#/components/schemas/AssetSymbol'
            description: Ticker symbol of an asset (e.g., BTC, USDC, EUR).
          style: simple
          example: BTC
        - in: query
          name: quote_symbol
          schema:
            $ref: '#/components/schemas/AssetSymbol'
            description: Ticker symbol of the quote asset.
            default: USD
          style: form
          example: USD
        - in: query
          name: quote_type
          schema:
            description: Classification of the quote asset.
            type: string
            enum:
              - fiat
            default: fiat
          style: form
          example: fiat
        - in: query
          name: start_timestamp
          schema:
            $ref: '#/components/schemas/DateTime'
            description: >-
              Inclusive lower bound of the rate window. Defaults to
              end_timestamp - 7 days.
          style: form
          example: '2025-06-30T00:00:00.000Z'
        - in: query
          name: end_timestamp
          schema:
            $ref: '#/components/schemas/DateTime'
            description: Exclusive upper bound of the rate window. Defaults to "now".
          style: form
          example: '2025-06-30T00:00:00.000Z'
        - in: query
          name: interval
          schema:
            $ref: '#/components/schemas/Assets_Interval'
          style: form
          example: PT15M
        - $ref: '#/components/parameters/Assets_PageSize'
        - $ref: '#/components/parameters/PageToken'
        - $ref: '#/components/parameters/UserId'
      responses:
        '200':
          description: Successful response
          headers:
            X-Trace-Id:
              $ref: '#/components/headers/TraceId'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    description: >-
                      Available candles for this page's portion of the requested
                      time window, in chronological order.
                    type: array
                    items:
                      $ref: '#/components/schemas/Assets_HistoricalRate'
                  quote_symbol:
                    description: Quote asset symbol the prices are denominated in.
                    type: string
                  quote_type:
                    $ref: '#/components/schemas/Assets_QuoteAssetType'
                    description: Classification of the quote asset.
                  start_timestamp:
                    $ref: '#/components/schemas/DateTime'
                    description: Resolved start of the window after defaults were applied.
                  end_timestamp:
                    $ref: '#/components/schemas/DateTime'
                    description: Resolved end of the window after defaults were applied.
                  interval:
                    $ref: '#/components/schemas/Assets_Interval'
                    description: Resolved interval after defaults were applied.
                  page_size:
                    description: >-
                      Maximum number of results returned on this page. Echoes
                      the page_size query parameter.
                    type: integer
                    format: int32
                    minimum: 1
                    maximum: 100
                  next_page_token:
                    description: >-
                      Opaque token for retrieving the next page. Absent when
                      there are no more results.
                    type: string
                    minLength: 1
                    maxLength: 256
                required:
                  - data
                  - quote_symbol
                  - quote_type
                  - start_timestamp
                  - end_timestamp
                  - interval
                  - page_size
              examples:
                btc-15m-window:
                  summary: Two 15-minute candles for BTC priced in USD
                  value:
                    data:
                      - timestamp: '2026-01-01T00:00:00Z'
                        open: '94000.10'
                        high: '94520.00'
                        low: '93875.25'
                        close: '94250.12'
                        volume: '123.456789'
                      - timestamp: '2026-01-01T00:15:00Z'
                        open: '94250.12'
                        high: '94425.75'
                        low: '94190.00'
                        close: '94381.50'
                        volume: '98.765432'
                    quote_symbol: USD
                    quote_type: fiat
                    start_timestamp: '2026-01-01T00:00:00Z'
                    end_timestamp: '2026-01-01T00:30:00Z'
                    interval: PT15M
                    page_size: 20
        '400':
          description: Validation error
          headers:
            X-Trace-Id:
              $ref: '#/components/headers/TraceId'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
              examples:
                invalid-request:
                  $ref: '#/components/examples/assets-bad-request'
        '401':
          description: Authentication required
          headers:
            X-Trace-Id:
              $ref: '#/components/headers/TraceId'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
              examples:
                authentication-failed:
                  $ref: '#/components/examples/assets-unauthenticated'
        '403':
          description: Forbidden
          headers:
            X-Trace-Id:
              $ref: '#/components/headers/TraceId'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
              examples:
                caller-is-not-allowed:
                  $ref: '#/components/examples/assets-forbidden'
        '404':
          description: Asset not found
          headers:
            X-Trace-Id:
              $ref: '#/components/headers/TraceId'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
              examples:
                not-found:
                  $ref: '#/components/examples/assets-not-found'
        '429':
          description: Rate limit exceeded
          headers:
            X-Trace-Id:
              $ref: '#/components/headers/TraceId'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceExhaustedError'
              examples:
                rate-limit-exceeded:
                  $ref: '#/components/examples/assets-resource-exhausted'
        '500':
          description: Internal server error
          headers:
            X-Trace-Id:
              $ref: '#/components/headers/TraceId'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalError'
              examples:
                internal-error:
                  $ref: '#/components/examples/assets-internal'
        '501':
          description: Error response
          headers:
            X-Trace-Id:
              $ref: '#/components/headers/TraceId'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnimplementedError'
              examples:
                not-implemented:
                  $ref: '#/components/examples/assets-unimplemented'
        '503':
          description: Service unavailable
          headers:
            X-Trace-Id:
              $ref: '#/components/headers/TraceId'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnavailableError'
              examples:
                service-unavailable:
                  $ref: '#/components/examples/assets-unavailable'
        '504':
          description: Deadline exceeded
          headers:
            X-Trace-Id:
              $ref: '#/components/headers/TraceId'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeadlineExceededError'
              examples:
                request-deadline-exceeded:
                  $ref: '#/components/examples/assets-deadline-exceeded'
      security:
        - ApiKey: []
          ApiSign: []
          ApiNonce: []
components:
  schemas:
    AssetSymbol:
      description: Symbol identifying an asset within its asset category.
      type: string
      minLength: 1
      maxLength: 16
    DateTime:
      description: RFC 3339 timestamp.
      type: string
      format: date-time
    Assets_Interval:
      description: Sampling interval.
      type: string
      enum:
        - PT1M
        - PT5M
        - PT15M
        - PT30M
        - PT60M
        - PT4H
        - P1D
        - P7D
        - P15D
      default: PT15M
    Assets_HistoricalRate:
      description: >-
        Price and volume summary for one interval, with prices in the quote
        asset and volume in the requested asset.
      type: object
      properties:
        timestamp:
          $ref: '#/components/schemas/DateTime'
          description: Start of the candle interval.
        open:
          description: >-
            Opening price for the interval, in units of the quote asset per unit
            of the requested asset.
          type: string
        high:
          description: >-
            Highest price or derived upper price bound during the interval, in
            the quote asset.
          type: string
        low:
          description: >-
            Lowest price or derived lower price bound during the interval, in
            the quote asset.
          type: string
        close:
          description: >-
            Closing price for the interval in the quote asset. Use this value to
            plot a price chart.
          type: string
        volume:
          description: >-
            Volume during the interval, in units of the requested asset. For
            derived rates, this comes from the underlying market used to price
            the requested asset, which may use a different quote asset.
          type: string
      required:
        - timestamp
        - open
        - high
        - low
        - close
        - volume
    Assets_QuoteAssetType:
      description: Classification of the fiat asset used to quote valuations.
      type: string
      enum:
        - fiat
    BadRequestError:
      title: Bad Request
      description: Request validation failed or the request could not be processed.
      oneOf:
        - title: Bad Request
          allOf:
            - $ref: '#/components/schemas/PwsValidationErrorEnvelope'
            - type: object
              required:
                - error
              properties:
                error:
                  allOf:
                    - $ref: '#/components/schemas/PwsValidationError'
                    - type: object
                      required:
                        - status
                        - code
                      properties:
                        status:
                          type: integer
                          format: int32
                          const: 400
                        code:
                          type: string
                          enum:
                            - bad_request
        - title: Gateway
          description: >-
            Gateway-level validation failure returned before the request reaches
            the service.
          allOf:
            - $ref: '#/components/schemas/PwsValidationErrorEnvelope'
            - type: object
              required:
                - error
              properties:
                error:
                  allOf:
                    - $ref: '#/components/schemas/PwsValidationError'
                    - type: object
                      required:
                        - status
                        - code
                      properties:
                        type:
                          type: string
                          const: service_error
                        status:
                          type: integer
                          format: int32
                          const: 400
                        code:
                          type: string
                          const: gateway
    UnauthenticatedError:
      title: Unauthenticated
      description: Authentication credentials are missing, invalid, or not accepted.
      oneOf:
        - title: Unauthenticated
          allOf:
            - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
            - type: object
              required:
                - error
              properties:
                error:
                  allOf:
                    - $ref: '#/components/schemas/PwsGeneralError'
                    - type: object
                      required:
                        - status
                        - code
                      properties:
                        status:
                          type: integer
                          format: int32
                          const: 401
                        code:
                          type: string
                          enum:
                            - unauthenticated
        - title: Gateway
          description: Authentication failure returned by the API gateway.
          allOf:
            - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
            - type: object
              required:
                - error
              properties:
                error:
                  allOf:
                    - $ref: '#/components/schemas/PwsGeneralError'
                    - type: object
                      required:
                        - status
                        - code
                      properties:
                        type:
                          type: string
                          const: service_error
                        status:
                          type: integer
                          format: int32
                          const: 401
                        code:
                          type: string
                          const: gateway
    ForbiddenError:
      title: Forbidden
      description: The caller is not allowed to perform this operation.
      oneOf:
        - title: Forbidden
          allOf:
            - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
            - type: object
              required:
                - error
              properties:
                error:
                  allOf:
                    - $ref: '#/components/schemas/PwsGeneralError'
                    - type: object
                      required:
                        - status
                        - code
                      properties:
                        status:
                          type: integer
                          format: int32
                          const: 403
                        code:
                          type: string
                          enum:
                            - forbidden
        - title: Gateway
          description: Authorization failure returned by the API gateway.
          allOf:
            - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
            - type: object
              required:
                - error
              properties:
                error:
                  allOf:
                    - $ref: '#/components/schemas/PwsGeneralError'
                    - type: object
                      required:
                        - status
                        - code
                      properties:
                        type:
                          type: string
                          const: service_error
                        status:
                          type: integer
                          format: int32
                          const: 403
                        code:
                          type: string
                          const: gateway
    NotFoundError:
      description: The requested resource was not found.
      allOf:
        - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
        - type: object
          required:
            - error
          properties:
            error:
              allOf:
                - $ref: '#/components/schemas/PwsGeneralError'
                - type: object
                  required:
                    - status
                    - code
                  properties:
                    status:
                      type: integer
                      format: int32
                      const: 404
                    code:
                      type: string
                      enum:
                        - not_found
    ResourceExhaustedError:
      description: The request was rate limited or a resource quota was exhausted.
      allOf:
        - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
        - type: object
          required:
            - error
          properties:
            error:
              allOf:
                - $ref: '#/components/schemas/PwsGeneralError'
                - type: object
                  required:
                    - status
                    - code
                  properties:
                    status:
                      type: integer
                      format: int32
                      const: 429
                    code:
                      type: string
                      enum:
                        - resource_exhausted
    InternalError:
      description: An unexpected server-side error occurred.
      allOf:
        - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
        - type: object
          required:
            - error
          properties:
            error:
              allOf:
                - $ref: '#/components/schemas/PwsGeneralError'
                - type: object
                  required:
                    - status
                    - code
                  properties:
                    status:
                      type: integer
                      format: int32
                      const: 500
                    code:
                      type: string
                      enum:
                        - internal
    UnimplementedError:
      description: The requested operation is not implemented.
      allOf:
        - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
        - type: object
          required:
            - error
          properties:
            error:
              allOf:
                - $ref: '#/components/schemas/PwsGeneralError'
                - type: object
                  required:
                    - status
                    - code
                  properties:
                    status:
                      type: integer
                      format: int32
                      const: 501
                    code:
                      type: string
                      enum:
                        - unimplemented
    UnavailableError:
      description: The service is temporarily unavailable.
      allOf:
        - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
        - type: object
          required:
            - error
          properties:
            error:
              allOf:
                - $ref: '#/components/schemas/PwsGeneralError'
                - type: object
                  required:
                    - status
                    - code
                  properties:
                    status:
                      type: integer
                      format: int32
                      const: 503
                    code:
                      type: string
                      enum:
                        - unavailable
    DeadlineExceededError:
      description: The request deadline was exceeded before a response could be produced.
      allOf:
        - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
        - type: object
          required:
            - error
          properties:
            error:
              allOf:
                - $ref: '#/components/schemas/PwsGeneralError'
                - type: object
                  required:
                    - status
                    - code
                  properties:
                    status:
                      type: integer
                      format: int32
                      const: 504
                    code:
                      type: string
                      enum:
                        - deadline_exceeded
    UserId:
      description: Globally unique public identifier for a user.
      type: string
      minLength: 14
      maxLength: 42
    PwsValidationErrorEnvelope:
      description: Error envelope for request validation failures.
      type: object
      required:
        - error
      properties:
        error:
          $ref: '#/components/schemas/PwsValidationError'
          description: Validation error details.
    PwsValidationError:
      description: Standard PWS API error object for request validation failures.
      type: object
      required:
        - type
        - status
        - instance
        - code
      properties:
        type:
          description: Machine-readable error class.
          type: string
        status:
          description: HTTP status code returned for this error.
          type: integer
          format: int32
        instance:
          description: Request identifier for this specific error occurrence.
          type: string
        code:
          description: Stable machine-readable error code.
          type: string
        doc_url:
          description: Optional link to documentation for this error.
          type: string
          format: uri
        causes:
          description: Validation failures that contributed to the error.
          type: array
          items:
            $ref: '#/components/schemas/PwsErrorCause'
    PwsGeneralErrorEnvelope:
      description: Error envelope for operational or domain failures.
      type: object
      required:
        - error
      properties:
        error:
          $ref: '#/components/schemas/PwsGeneralError'
          description: General error details.
    PwsGeneralError:
      description: Standard PWS API error object for non-validation failures.
      allOf:
        - $ref: '#/components/schemas/PwsErrorBase'
        - type: object
          properties:
            causes:
              description: Additional error details, when present.
              type: array
              items:
                type: object
                additionalProperties: true
    PwsErrorCause:
      description: A single request validation failure.
      type: object
      required:
        - field
        - message
      properties:
        field:
          description: Dot-notation path to the offending request field.
          type: string
        message:
          description: Human-readable explanation of the failed validation rule.
          type: string
    PwsErrorBase:
      description: Common fields present on every PWS API error object.
      type: object
      required:
        - type
        - status
        - instance
        - code
      properties:
        type:
          description: Machine-readable error class.
          type: string
        status:
          description: HTTP status code returned for this error.
          type: integer
          format: int32
        instance:
          description: Request identifier for this specific error occurrence.
          type: string
        code:
          description: Stable machine-readable error code.
          type: string
        doc_url:
          description: Optional link to documentation for this error.
          type: string
          format: uri
  parameters:
    Assets_PageSize:
      name: page_size
      in: query
      description: >-
        Maximum number of results to return. Ignored when `page_token` is
        present.
      required: false
      schema:
        type: integer
        format: int32
        minimum: 1
        maximum: 100
        default: 20
      style: form
      example: 20
    PageToken:
      name: page_token
      in: query
      description: >-
        Opaque token returned as `next_page_token` in the previous response.
        Omit to request the first page.
      required: false
      schema:
        type: string
        minLength: 1
        maxLength: 256
      style: form
      example: MjoyRHuBXSgoe0mDHt-iFALROW46EGdvk_trgja31Vwr7H4
    UserId:
      name: user_id
      in: path
      required: true
      example: AA23N84GGQN4WE6I
      schema:
        $ref: '#/components/schemas/UserId'
  headers:
    TraceId:
      description: Trace identifier for the request. Include it when contacting support.
      schema:
        type: string
        example: 4bf92f3577b34da6a3ce929d0e0e4736
    StrictTransportSecurity:
      description: Enforces HTTPS for the duration specified by `max-age`.
      schema:
        type: string
        example: max-age=31536000; includeSubDomains; preload
    CacheControl:
      description: Prevents caching of sensitive financial data. Always `no-store`.
      schema:
        type: string
        enum:
          - no-store
        example: no-store
  examples:
    assets-bad-request:
      summary: Invalid request
      value:
        error:
          type: assets_error
          instance: 5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b
          status: 400
          code: bad_request
          causes:
            - field: country
              message: must be a valid ISO 3166-1 alpha-2 country code
    assets-unauthenticated:
      summary: Authentication failed
      value:
        error:
          type: assets_error
          instance: 5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b
          status: 401
          code: unauthenticated
    assets-forbidden:
      summary: Caller is not allowed
      value:
        error:
          type: assets_error
          instance: 5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b
          status: 403
          code: forbidden
    assets-not-found:
      summary: Resource not found
      value:
        error:
          type: assets_error
          instance: 5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b
          status: 404
          code: not_found
    assets-resource-exhausted:
      summary: Rate limit exceeded
      value:
        error:
          type: assets_error
          instance: 5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b
          status: 429
          code: resource_exhausted
    assets-internal:
      summary: Internal server error
      value:
        error:
          type: assets_error
          instance: 5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b
          status: 500
          code: internal
    assets-unimplemented:
      summary: Operation is not implemented
      value:
        error:
          type: assets_error
          instance: 5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b
          status: 501
          code: unimplemented
    assets-unavailable:
      summary: Service unavailable
      value:
        error:
          type: assets_error
          instance: 5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b
          status: 503
          code: unavailable
    assets-deadline-exceeded:
      summary: Request deadline exceeded
      value:
        error:
          type: assets_error
          instance: 5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b
          status: 504
          code: deadline_exceeded
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: API-Key
      description: Your public API key. Identifies the partner making the request.
    ApiSign:
      type: apiKey
      in: header
      name: API-Sign
      description: HMAC signature over the request, computed with your private key.
    ApiNonce:
      type: apiKey
      in: header
      name: API-Nonce
      description: Monotonically increasing nonce included in the request signature.

````