---
title: "One contract opportunity"
method: GET
path: "/api/contracts/{id}"
tags: ["Government contracts"]
---

# One contract opportunity

`GET /api/contracts/{id}`

## Request

- Base URL: `https://noozra.com`
- URL: `https://noozra.com/api/contracts/{id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/noozra/apis/noozra-news-api/docs/api/contracts/:id/get.ts> (a function with typed inputs; its response is checked against the schema)

One record, in the shape `/api/contracts` lists it. Without API Pro, one dated in the last 14 days and read more than 48 hours ago; with it, any record.

## Path parameters

- `id` string, uuid, required

## Response `200`

OK

- Contract
  - `active` boolean, required: Still open: active, and the deadline unset or ahead.
  - `agency` string, nullable, required
  - `amount` number, nullable, required: Dollars.
  - `archive_date` string, date, nullable, required
  - `award` object, nullable, required
    - `amount` number, nullable
    - `awardee` string, nullable
    - `date` string, date, nullable
    - `number` string, nullable
  - `date` string, date, required: YYYY-MM-DD: the day the opportunity was posted.
  - `description` string, nullable, required: The source's own text, at most 1000 characters.
  - `id` string, uuid, required
  - `naics` Classification, required
    - `code` string, required
    - `description` string, nullable, required
  - `notice_type` string, nullable, required
  - `office` string, nullable, required
  - `place` Place, required
    - `address` string, nullable, required
    - `city` string, nullable, required
    - `country` string, nullable, required: ISO 3166-1 alpha-3, such as USA.
    - `latitude` number, nullable, required
    - `longitude` number, nullable, required
    - `state` string, nullable, required: Two-letter state.
    - `zip` string, nullable, required
  - `psc` Classification, required
    - `code` string, required
    - `description` string, nullable, required
  - `reference` string, required: The record's own number at its source.
  - `response_deadline` string, date-time, nullable, required
  - `set_aside` object, nullable, required
    - `code` string, nullable
    - `name` string, nullable
  - `solicitation_number` string, nullable, required
  - `source` string, required: Who published the record. Name it when you show the record.
  - `sub_agency` string, nullable, required
  - `title` string, required
  - `url` string, uri, nullable, required: The record at its source; for a city record without a page of its own, the city's dataset.

## Other responses

- `400`: Not a UUID
- `401`: No API key, or an invalid or revoked one
- `404`: Unknown id (or, without API Pro, a record outside the free reach)
- `429`: Daily rate limit exceeded (honor the Retry-After header)

## Changes

- **2026-10-29** `e0c2d7df6d6f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/noozra/apis/noozra-news-api/changes/api/contracts/:id/get.md)

---

[API](https://skmtc.dev/noozra/apis/noozra-news-api.md) - [All operations](https://skmtc.dev/noozra/apis/noozra-news-api/llms.txt) - [OpenAPI document](https://skmtc.dev/noozra/apis/noozra-news-api/revisions/9067da767e84?raw)
