---
title: "Latest COT positioning snapshot across all tracked futures contracts, sorted by category then market name. Net positions are long minus short; report fields are null for contracts without stored reports yet."
method: GET
path: "/v1/cftc/positions/latest"
tags: ["Cftc"]
---

# Latest COT positioning snapshot across all tracked futures contracts, sorted by category then market name. Net positions are long minus short; report fields are null for contracts without stored reports yet.

`GET /v1/cftc/positions/latest`

## Request

- Base URL: `https://api.equibles.com`
- URL: `https://api.equibles.com/v1/cftc/positions/latest`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/equibles/apis/equibles-api/docs/v1/cftc/positions/latest/get.ts> (a function with typed inputs; its response is checked against the schema)

## Query parameters

- `category` string

## Response `200`

OK

- CftcLatestPositionDtoListResponse
  - `listingNotice` ListingNotice: What happened to a requested ticker that no longer trades. "delisted": the company has no current US listing, so the answer is its history. "renamed": the company now trades as successorTicker, its current US presentation ticker (possibly another share class). A listed series (short volume, short interest, off-exchange volume, fails-to-deliver, congressional trades) is the retired ticker's own; a company-level read is the company's data.
    - `status` string, nullable: "delisted" or "renamed".
    - `ticker` string, nullable: The retired ticker as listed.
    - `delistedOn` string, date, nullable: The day the retired listing stopped trading, when known.
    - `successorTicker` string, nullable: For "renamed", the company's current US presentation ticker; null for "delisted".
  - `data` CftcLatestPositionDto[], nullable
    - `marketCode` string, nullable: CFTC contract market code — the key for /v1/cftc/contracts/{marketCode}/positions.
    - `marketName` string, nullable: Market name as published by the CFTC.
    - `category` string, nullable: Contract category, as a string.
    - `reportDate` string, date, nullable: The Tuesday the latest stored report is as of; null when no report is stored yet.
    - `openInterest` integer, nullable: Total open interest, in contracts; null when no report is stored yet.
    - `commNet` integer, nullable: Commercial net position (long minus short), in contracts; null when no report is stored yet.
    - `nonCommNet` integer, nullable: Non-commercial net position (long minus short), in contracts; null when no report is stored yet.

## Other responses

- `400`: Bad Request

---

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