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

# Get Position Snapshot

> A one-shot health check: current value, in/out of range, PnL, and APR. Not the daily history chart — use GET /:id/snapshots for historical performance.

**Credits:** 5 per successful call.



## OpenAPI

````yaml /openapi.yaml get /v1/positions/uniswapv3/{id}/snapshot
openapi: 3.1.0
info:
  title: DeFi Orbit API
  version: 1.0.0
  description: Public REST API for DeFi Orbit positions, lending, portfolio, and usage.
servers:
  - url: https://api.defiorbit.xyz
security:
  - bearerAuth: []
tags:
  - name: Portfolio
  - name: Snapshots
  - name: Uniswap V3
  - name: Aerodrome V3
  - name: Orca
  - name: Aave V3
  - name: Morpho
  - name: Kamino
  - name: Usage
paths:
  /v1/positions/uniswapv3/{id}/snapshot:
    get:
      tags:
        - Uniswap V3
      summary: Get Position Snapshot
      description: >-
        A one-shot health check: current value, in/out of range, PnL, and APR.
        Not the daily history chart — use GET /:id/snapshots for historical
        performance.


        **Credits:** 5 per successful call.
      operationId: get_v1_positions_uniswapv3_id_snapshot
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            description: Token ID.
            example: '119128'
            x-default: '119128'
        - name: chain_id
          in: query
          required: true
          schema:
            type: integer
            description: Chain ID.
            example: 130
            x-default: 130
        - name: manager_address
          in: query
          required: false
          schema:
            type: string
            description: Manager address.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/RequestId'
                  - type: object
                    properties:
                      data:
                        type: object
                        properties:
                          token_id:
                            type: string
                          chain_id:
                            type: integer
                          position_usd_value:
                            type: string
                            description: >-
                              USD string. Token principal plus unclaimed fees
                              and rewards.
                          in_range:
                            type: boolean
                            description: >-
                              True when the pool price is inside the position
                              tick range.
                          is_closed:
                            type: boolean
                            description: True when the position liquidity is zero.
                          pnl_usd_value:
                            type: string
                            description: >-
                              USD string. Current position value, plus
                              withdrawals, plus claimed fees and rewards, minus
                              capital deposited.
                          pnl_percentage:
                            type: string
                            description: >-
                              Percent string. PnL divided by net invested
                              capital. 0 when net invested is not positive.
                          earned_apr_percentage:
                            type: object
                            properties:
                              yield:
                                type: string
                                description: Percent string for that component.
                              fees:
                                type: string
                                description: Percent string for that component.
                              rewards:
                                type: string
                                description: Percent string for that component.
                            required:
                              - yield
                              - fees
                              - rewards
                            description: >-
                              Simple APR percent strings, not compounded. Each
                              figure is value × 365 / days / time-weighted
                              capital. Days are at least 1 hour.
                        required:
                          - token_id
                          - chain_id
                          - position_usd_value
                          - in_range
                          - is_closed
                          - pnl_usd_value
                          - pnl_percentage
                          - earned_apr_percentage
                    required:
                      - data
              example:
                data:
                  token_id: '119128'
                  chain_id: 130
                  position_usd_value: '1482.71'
                  in_range: true
                  is_closed: false
                  pnl_usd_value: '150.88'
                  pnl_percentage: '11.33'
                  earned_apr_percentage:
                    yield: '41.23'
                    fees: '41.23'
                    rewards: '0'
                request_id: req_...
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  schemas:
    RequestId:
      type: object
      required:
        - request_id
      properties:
        request_id:
          type: string
          description: Id to quote when you contact support.
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
            - request_id
          properties:
            code:
              type: string
            message:
              type: string
            request_id:
              type: string
  responses:
    BadRequest:
      description: Missing or invalid parameter.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: INVALID_PARAMETER
              message: page must be a positive integer.
              request_id: req_...
    Unauthorized:
      description: Missing, malformed, invalid, or revoked API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: INVALID_API_KEY
              message: Missing API key.
              request_id: req_...
    PaymentRequired:
      description: The organization does not have enough credits.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: INSUFFICIENT_CREDITS
              message: Insufficient API credits.
              request_id: req_...
    Forbidden:
      description: The organization is suspended, or the endpoint or feature is disabled.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: ACCOUNT_SUSPENDED
              message: This organization is suspended.
              request_id: req_...
    TooManyRequests:
      description: The organization exceeded its requests-per-second limit.
      headers:
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            type: integer
        X-RateLimit-Limit:
          description: Requests per second for the organization.
          schema:
            type: integer
        X-RateLimit-Remaining:
          description: Requests left in the current window.
          schema:
            type: integer
        X-RateLimit-Reset:
          description: Unix time when the window resets.
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: RATE_LIMIT_EXCEEDED
              message: Rate limit exceeded. Please try again later.
              request_id: req_...
    InternalError:
      description: Unexpected server error, or pricing is not configured.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: INTERNAL_ERROR
              message: An unexpected error occurred.
              request_id: req_...
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Paste your API key from the
        [dashboard](https://platform.defiorbit.xyz/dashboard/keys). The key
        starts with `do_sk_`.
      x-default: YOUR_API_KEY

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.