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

# List assets

> Returns public asset display metadata without chain addresses or provider IDs.



## OpenAPI

````yaml /openapi.json get /v1/assets
openapi: 3.1.0
info:
  description: The public API for Perflo financial agents.
  license:
    identifier: LicenseRef-Perflo-Proprietary
    name: Proprietary
  title: Perflo Financial Agents API
  version: 1.0.0
servers:
  - url: https://api.perflo.ai
security: []
tags:
  - description: Existing fiat accounts and provider-stated withdrawal limits.
    name: accounts
  - description: Sanitized customer-wide cash activity without provider identifiers.
    name: activity
  - description: The current grant, delegated policy, and local confirmation controls.
    name: authorization
  - description: Safe beneficiary resources, payout schemas, and virtual-account economics.
    name: beneficiaries
  - description: Non-sensitive card lifecycle state and card activity.
    name: cards
  - description: Safe display preferences for the current pairwise subject.
    name: identity
  - description: >-
      Normalized verification state without identity evidence or provider
      details.
    name: kyc
  - description: >-
      Durable financial operation status owned by the current subject and
      client.
    name: operations
  - description: API-owned outbound notifications for durable operation transitions.
    name: operation-webhooks
  - description: Indicative service purchase quotes and released purchase state.
    name: purchases
  - description: Public asset and fiat-price reference data.
    name: reference-data
  - description: Services and capabilities available under the effective grant policy.
    name: services
  - description: Spending-account state and durable withdrawal operations.
    name: spending
  - description: Gateway health and public API metadata endpoints.
    name: system
  - description: Indicative transfer economics that cannot be executed.
    name: transfer-quotes
paths:
  /v1/assets:
    get:
      tags:
        - reference-data
      summary: List assets
      description: >-
        Returns public asset display metadata without chain addresses or
        provider IDs.
      operationId: listAssets
      parameters:
        - $ref: '#/components/parameters/PerfloRequestId'
      responses:
        '200':
          description: The public asset catalog.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/PerfloRequestId'
          content:
            application/json:
              schema:
                type: object
                properties:
                  assets:
                    maxItems: 1000
                    type: array
                    items:
                      $ref: '#/components/schemas/ReferenceAsset'
                    description: Public asset metadata.
                required:
                  - assets
                additionalProperties: false
                description: Public asset display metadata.
        '422':
          description: The request shape is invalid.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/PerfloRequestId'
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: The shared public request limit was exceeded.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/PerfloRequestId'
            Retry-After:
              $ref: '#/components/headers/PerfloRetryAfter'
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '500':
          description: The response contract failed.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/PerfloRequestId'
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '503':
          description: The reference-data provider is unavailable.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/PerfloRequestId'
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      security: []
components:
  parameters:
    PerfloRequestId:
      description: >-
        Optional caller request identifier. Unsafe values are replaced with a
        generated UUID.
      in: header
      name: X-Request-Id
      required: false
      schema:
        pattern: ^[A-Za-z0-9._~-]{8,128}$
        type: string
  headers:
    PerfloRequestId:
      description: Request identifier echoed on every API response.
      schema:
        pattern: ^[A-Za-z0-9._~-]{8,128}$
        type: string
    PerfloRetryAfter:
      description: Whole seconds to wait before sending another request to this endpoint.
      schema:
        minimum: 1
        type: integer
  schemas:
    ReferenceAsset:
      type: object
      properties:
        symbol:
          type: string
          pattern: ^[A-Z][A-Z0-9._-]{0,31}$
          description: Asset symbol.
        name:
          type: string
          minLength: 1
          maxLength: 256
          description: Asset display name.
        class:
          type: string
          enum:
            - gold
            - btc
            - eth
            - stable
            - other
          description: Broad asset display class.
      required:
        - symbol
        - name
        - class
      additionalProperties: false
      description: >-
        Safe asset display metadata without addresses, chain details, or
        provider IDs.
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          format: uri
          description: Stable URL identifying the problem class.
        title:
          type: string
          minLength: 1
          description: Short human-readable problem title.
        status:
          type: integer
          minimum: 400
          maximum: 599
          description: HTTP status code for this occurrence.
        detail:
          type: string
          minLength: 1
          description: Human-readable occurrence detail.
        instance:
          type: string
          pattern: ^\/.*
          description: Request path identifying this problem occurrence.
        code:
          type: string
          pattern: ^[a-z][a-z0-9_]*$
          description: Stable machine-readable Perflo error code.
        fields:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/ProblemField'
            - type: 'null'
          description: >-
            Field-level failures, or null when the problem is not
            field-specific.
        request_id:
          type: string
          pattern: ^[A-Za-z0-9._~-]{8,128}$
          description: Request identifier used to correlate API responses with server logs.
        retryable:
          type: boolean
          description: Whether repeating the identical request can safely succeed.
        submission_uncertain:
          type: boolean
          description: >-
            Whether an upstream write may have landed and must not be
            resubmitted.
      required:
        - type
        - title
        - status
        - detail
        - instance
        - code
        - fields
        - request_id
        - retryable
        - submission_uncertain
      additionalProperties: false
      description: >-
        RFC 9457 problem details with stable Perflo correlation and retry
        semantics.
    ProblemField:
      type: object
      properties:
        message:
          type: string
          minLength: 1
          description: Human-readable validation failure.
        path:
          type: string
          minLength: 1
          description: Dot-delimited path to the invalid field.
      required:
        - message
        - path
      additionalProperties: false
      description: One field-level request validation failure.

````