OTIDVs¶
OTIDVs (Other Transaction IDVs) are awards exposed at /api/otidvs/. For field definitions, see the OTIDVs Data Dictionary.
Endpoints¶
GET /api/otidvs/(list + filtering + search + ordering)GET /api/otidvs/{key}/(detail)GET /api/otidvs/{key}/awards/(child OTAs under an OTIDV; behaves like/api/otas/scoped to the OTIDV)
Entity-scoped list:
GET /api/entities/{uei}/otidvs/(behaves like/api/otidvs/scoped to an entity)
Filtering¶
OTIDVs share most of the "award" filtering surface with contracts/IDVs, except they do not support some contracts-specific filters (like NAICS).
Common filters you can use:
| Param | What it does |
|---|---|
search | Full-text-ish search over award search vectors. |
recipient | Search by recipient/vendor name. |
uei | Filter by recipient UEI (exact). |
piid | Filter by PIID (case-insensitive). |
awarding_agency, funding_agency | Filter by awarding/funding agency (best-effort matching). |
psc | Filter by PSC. |
award_date, award_date_gte, award_date_lte | Award date filters. |
fiscal_year, fiscal_year_gte, fiscal_year_lte | Fiscal year filters. |
pop_start_date_gte, pop_start_date_lte | Period of performance start date range (when present). |
pop_end_date_gte, pop_end_date_lte | Period of performance end date range (when present). |
expiring_gte, expiring_lte | Expiration window range filters. |
obligated | Filter by obligated amount (exact USD value). |
ordering | Sort results (allowlist: award_date, obligated, total_contract_value; prefix with - for descending). |
Ordering¶
OTIDVs support ordering= with a strict allowlist:
award_dateobligatedtotal_contract_value
Examples:
- Newest first:
GET /api/otidvs/?ordering=-award_date - Largest obligations first:
GET /api/otidvs/?ordering=-obligated
Pagination¶
High-volume award endpoints use cursor-based (keyset) pagination:
limitcursor(follownext/previousURLs)
Response Shaping¶
OTIDV endpoints support the ?shape= parameter for customizing response fields. See Response Shaping for full syntax.
Shapeable fields¶
| Field | Type | Notes |
|---|---|---|
key | scalar | Award key |
piid | scalar | |
award_date | scalar | |
idv_type | scalar | Raw code |
fiscal_year | scalar | |
obligated | scalar | |
total_contract_value | scalar | |
description | scalar | |
base_and_exercised_options_value | scalar | |
psc_code | scalar | |
consortia | scalar | |
consortia_uei | scalar | |
dod_acquisition_program | scalar | |
non_governmental_dollars | scalar | |
non_traditional_government_contractor_participation | scalar | |
type_of_ot_agreement | scalar or expand | Expandable to {code, description} |
extent_competed | scalar or expand | Expandable to {code, description} |
transactions | scalar | Raw snapshot list |
Expandable fields¶
| Expand | Fields |
|---|---|
recipient(*) | uei, display_name, legal_business_name, cage, duns |
place_of_performance(*) | country_code, country_name, state_code, state_name, city_name, zip_code |
awarding_office(*) | office_code, office_name, agency_code, agency_name, department_code, department_name |
funding_office(*) | same as awarding_office |
period_of_performance(*) | start_date, current_end_date, ultimate_completion_date |
transactions(*) | modification_number, transaction_date, obligated, description, action_type |
psc(*) | code, description |
type_of_ot_agreement(*) | code, description |
extent_competed(*) | code, description |
Examples¶
Request only key fields:
Expand recipient and extent competed with description:
Expand type of OT agreement:
SDK examples¶
The official SDKs don't yet expose a first-class list_otidvs() / listOTIDVs() method. You can still call the endpoint via the SDK's internal HTTP helper.