---
title: "Get API public v1 hip4 outcomes by outcome ID perp position context"
method: GET
path: "/api/public/v1/hip4/outcomes/{outcome_id}/perp-position-context"
---

# Get API public v1 hip4 outcomes by outcome ID perp position context

`GET /api/public/v1/hip4/outcomes/{outcome_id}/perp-position-context`

## Request

- Base URL: `https://api.coinversa.ai`
- URL: `https://api.coinversa.ai/api/public/v1/hip4/outcomes/{outcome_id}/perp-position-context`
- Auth: API key in header `X-API-Key`
- TypeScript: <https://skmtc.dev/coinversa/apis/coinversa-api/docs/api/public/v1/hip4/outcomes/:outcome_id/perp-position-context/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `outcome_id` integer, required

## Query parameters

- `days` integer: Look-back window in days for outcome trades (default 14, max 60)
- `limit` integer: Max top wallets to return (1..100, default 25)

## Response `200`

OK

- PerpPositionContextBody
  - `$schema` string, uri: A URL to the JSON Schema for this object.
  - `outcomeId` integer, required
  - `sides` PerpContextSide[], nullable, required
    - `alignedWallets` integer, required
    - `hedgedWallets` integer, required
    - `longWallets` integer, required
    - `netUnderlyingPosition` number, double, required
    - `openPositionOverlapPct` number, double, required
    - `outcomeSide` string, required
    - `outcomeWallets` integer, required
    - `predictionNativeWallets` integer, required
    - `shortWallets` integer, required
    - `underlyingNotional` number, double, required
    - `withOpenUnderlying` integer, required
  - `since` string, required
  - `topWallets` PerpContextTopWallet[], nullable, required
    - `address` string, required
    - `outcomeNotionalUsdh` number, double, required
    - `outcomeSharesHeld` number, double, required
    - `outcomeSide` string, required
    - `signal` string, required
    - `underlyingLeverage` number, double, required
    - `underlyingNotional` number, double, required
    - `underlyingSide` string, required
    - `underlyingSize` number, double, required
    - `underlyingUnrealizedPnl` number, double, required
  - `underlying` string, required

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Entity
- `429`: Too Many Requests
- `500`: Internal Server Error
- `504`: Gateway Timeout

## Changes

- **2026-10-12** `7aae8c32ff78`: 2 warning
  - for the `query` request parameter `limit`, the max was set to `100.00`
  - for the `query` request parameter `limit`, the min was set to `1.00`
- **2026-09-23** `f2eba29805e5`: 8 info
  - added the non-success response with the status `403`
  - removed the non-success response with the status `401`
  - added the optional property `reason` to the response with the `400` status
  - added the optional property `reason` to the response with the `404` status
  - …4 more

[Operation history](https://skmtc.dev/coinversa/apis/coinversa-api/changes/api/public/v1/hip4/outcomes/:outcome_id/perp-position-context/get.md)

---

[API](https://skmtc.dev/coinversa/apis/coinversa-api.md) - [All operations](https://skmtc.dev/coinversa/apis/coinversa-api/llms.txt) - [OpenAPI document](https://skmtc.dev/coinversa/apis/coinversa-api/revisions/3454317a5830?raw)
