{"openapi":"3.1.0","info":{"title":"FedFinder Public API","description":"Federal and state contracting data, scoped pursuit writes, and bounded local research adapters. Authenticate with a dashboard API key. OAuth connector tokens are accepted only at /mcp, never REST. Standard collections use results/total/page/limit/next_after_id envelopes; research operations use the bounded evidence, profile, usage and shortlist schemas documented for each operation. Writes require an explicit captures:write scope.","version":"1"},"paths":{"/v1/captures":{"get":{"tags":["public-v1"],"summary":"List capture records for the authenticated tenant","operationId":"v1_captures_v1_captures_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"after_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Cursor: return rows with id > after_id (keyset pagination); response carries next_after_id","title":"After Id"},"description":"Cursor: return rows with id > after_id (keyset pagination); response carries next_after_id"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_CaptureV1_"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}},"post":{"tags":["public-v1"],"summary":"Create a pursuit from a notice id or from fields (captures:write)","operationId":"v1_create_capture_v1_captures_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaptureCreateV1"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaptureV1"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"404":{"description":"No pursuit or live opportunity answers to this identifier","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"409":{"description":"The opportunity is already on the Pursuit Board","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}}},"/v1/winloss":{"get":{"tags":["public-v1"],"summary":"List win/loss records for the authenticated tenant","operationId":"v1_winloss_v1_winloss_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"after_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Cursor: return rows with id > after_id (keyset pagination); response carries next_after_id","title":"After Id"},"description":"Cursor: return rows with id > after_id (keyset pagination); response carries next_after_id"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_WinLossV1_"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}}},"/v1/opportunities":{"get":{"tags":["public-v1"],"summary":"List live biddable federal opportunities","operationId":"v1_opportunities_v1_opportunities_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"after_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Cursor: return rows with id > after_id (keyset pagination); response carries next_after_id","title":"After Id"},"description":"Cursor: return rows with id > after_id (keyset pagination); response carries next_after_id"},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by place-of-performance state (2-letter code)","title":"State"},"description":"Filter by place-of-performance state (2-letter code)"},{"name":"naics","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by exact NAICS code","title":"Naics"},"description":"Filter by exact NAICS code"},{"name":"naics_code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"DEPRECATED alias for naics; sending both with different values is a 422","title":"Naics Code"},"description":"DEPRECATED alias for naics; sending both with different values is a 422"},{"name":"agency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Case-insensitive substring match across department, subtier and office","title":"Agency"},"description":"Case-insensitive substring match across department, subtier and office"},{"name":"set_aside","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by set-aside (substring match)","title":"Set Aside"},"description":"Filter by set-aside (substring match)"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_OpportunityV1_"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}}},"/v1/opportunities/{identifier}":{"get":{"tags":["public-v1"],"summary":"Fetch one opportunity by id, notice id or solicitation number","description":"Fetch one opportunity by numeric id, notice id or solicitation number.\n\nResolution runs over the SAME identity CTE as the collection route, so\nlist and detail cannot disagree about which stored row represents a\nprocurement, and serialize_opportunity is reused so their fields cannot\ndrift apart.","operationId":"v1_opportunity_detail_v1_opportunities__identifier__get","parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string","title":"Identifier"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpportunityV1"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"404":{"description":"No live biddable opportunity answers to this identifier","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"409":{"description":"The identifier names more than one procurement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}}},"/v1/contracts":{"get":{"tags":["public-v1"],"summary":"List awarded contracts","operationId":"v1_contracts_v1_contracts_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"after_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Cursor: return rows with id > after_id (keyset pagination); response carries next_after_id","title":"After Id"},"description":"Cursor: return rows with id > after_id (keyset pagination); response carries next_after_id"},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by place-of-performance state (2-letter code)","title":"State"},"description":"Filter by place-of-performance state (2-letter code)"},{"name":"naics","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by exact NAICS code","title":"Naics"},"description":"Filter by exact NAICS code"},{"name":"set_aside","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by set-aside type (substring match)","title":"Set Aside"},"description":"Filter by set-aside type (substring match)"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_ContractV1_"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}}},"/v1/grants":{"get":{"tags":["public-v1"],"summary":"List grant opportunities","description":"List grant opportunities.\n\nReturns funding opportunities only. Federal assistance listings, which\ndescribe standing programs rather than something you can apply to, and rows\nthat are closed or already awarded, are excluded by default and available\nwith `include_reference=true`.\n\n`close_date` is upstream free text and arrives in several formats, some as\nvague as a bare year. Treat a value you cannot parse as \"rolling or\nunknown\" rather than as a deadline.","operationId":"v1_grants_v1_grants_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"after_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Cursor: return rows with id > after_id (keyset pagination); response carries next_after_id","title":"After Id"},"description":"Cursor: return rows with id > after_id (keyset pagination); response carries next_after_id"},{"name":"include_reference","in":"query","required":false,"schema":{"type":"boolean","description":"Include SAM assistance listings and closed or awarded rows. These are reference material, not opportunities you can apply to.","default":false,"title":"Include Reference"},"description":"Include SAM assistance listings and closed or awarded rows. These are reference material, not opportunities you can apply to."},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_GrantV1_"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}}},"/v1/vendors":{"get":{"tags":["public-v1"],"summary":"List vendors","operationId":"v1_vendors_v1_vendors_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"after_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Cursor: return rows with id > after_id (keyset pagination); response carries next_after_id","title":"After Id"},"description":"Cursor: return rows with id > after_id (keyset pagination); response carries next_after_id"},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by state (substring match)","title":"State"},"description":"Filter by state (substring match)"},{"name":"naics","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by exact primary NAICS code","title":"Naics"},"description":"Filter by exact primary NAICS code"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_VendorV1_"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}}},"/v1/people":{"get":{"tags":["public-v1"],"summary":"List contracting people (Intel tier)","operationId":"v1_people_v1_people_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"after_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Accepted for compatibility and ignored: people are keyed by UUID, which a numeric cursor cannot address. Page this collection with page and limit; next_after_id is always null here.","title":"After Id"},"description":"Accepted for compatibility and ignored: people are keyed by UUID, which a numeric cursor cannot address. Page this collection with page and limit; next_after_id is always null here."},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_PersonV1_"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}}},"/v1/state-opportunities":{"get":{"tags":["public-v1"],"summary":"List state and local opportunities","operationId":"v1_state_opportunities_v1_state_opportunities_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"after_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Cursor: return rows with id > after_id (keyset pagination); response carries next_after_id","title":"After Id"},"description":"Cursor: return rows with id > after_id (keyset pagination); response carries next_after_id"},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by state (2-letter code)","title":"State"},"description":"Filter by state (2-letter code)"},{"name":"naics","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by exact NAICS code","title":"Naics"},"description":"Filter by exact NAICS code"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_StateOpportunityV1_"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}}},"/v1/pre-rfp-signals":{"get":{"tags":["public-v1"],"summary":"List pre-RFP signals (Intel tier)","operationId":"v1_pre_rfp_signals_v1_pre_rfp_signals_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"after_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Cursor: return rows with id > after_id (keyset pagination); response carries next_after_id","title":"After Id"},"description":"Cursor: return rows with id > after_id (keyset pagination); response carries next_after_id"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_PreRfpSignalV1_"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"503":{"description":"A required backing data source is unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSourceUnavailableV1"}}}}}}},"/v1/":{"get":{"tags":["public-v1"],"summary":"Discovery document","operationId":"v1_root_v1__get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscoveryV1"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}}},"/v1/captures/{capture_id}":{"patch":{"tags":["public-v1"],"summary":"Change a pursuit's stage, owner or next action (captures:write)","operationId":"v1_update_capture_v1_captures__capture_id__patch","parameters":[{"name":"capture_id","in":"path","required":true,"schema":{"type":"integer","title":"Capture Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaptureUpdateV1"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaptureV1"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"404":{"description":"No pursuit or live opportunity answers to this identifier","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"409":{"description":"The opportunity is already on the Pursuit Board","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}}},"/v1/captures/{capture_id}/notes":{"post":{"tags":["public-v1"],"summary":"Add a note to a pursuit (captures:write)","description":"Append a dated note to the pursuit's notes, where the Pursuit Board\nalready shows them. Notes are append-only through the API.","operationId":"v1_add_capture_note_v1_captures__capture_id__notes_post","parameters":[{"name":"capture_id","in":"path","required":true,"schema":{"type":"integer","title":"Capture Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaptureNoteCreateV1"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaptureNoteV1"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"404":{"description":"No pursuit or live opportunity answers to this identifier","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"409":{"description":"The opportunity is already on the Pursuit Board","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}}},"/v1/capture-stage-changes":{"get":{"tags":["public-v1"],"summary":"List pursuit stage changes, newest first or after a cursor (captures:read)","operationId":"v1_capture_stage_changes_v1_capture_stage_changes_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"after_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Cursor: return rows with id > after_id (keyset pagination); response carries next_after_id","title":"After Id"},"description":"Cursor: return rows with id > after_id (keyset pagination); response carries next_after_id"},{"name":"capture_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"description":"Only changes to this pursuit","title":"Capture Id"},"description":"Only changes to this pursuit"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_CaptureStageChangeV1_"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}}},"/v1/matches":{"get":{"tags":["public-v1"],"summary":"List new opportunity matches, newest first or after a cursor (matches:read)","operationId":"v1_matches_v1_matches_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"after_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Cursor: return rows with id > after_id (keyset pagination); response carries next_after_id","title":"After Id"},"description":"Cursor: return rows with id > after_id (keyset pagination); response carries next_after_id"},{"name":"match_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"saved_search or smart_match; omit for both","title":"Match Type"},"description":"saved_search or smart_match; omit for both"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_MatchV1_"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}}},"/v1/research/dibbs":{"get":{"tags":["public-v1"],"summary":"Search locally mirrored DLA DIBBS solicitations","description":"Requires opportunities:read on a dashboard API key. At most 25 RFQs; nested evidence collections and excerpts are bounded. Supplier types accept comma-separated values. This reads stored evidence without an external fetch. OAuth connector tokens cannot call REST.","operationId":"research_dibbs_v1_research_dibbs_get","parameters":[{"name":"nsn","in":"query","required":false,"schema":{"type":"string","title":"Nsn"}},{"name":"fsc","in":"query","required":false,"schema":{"type":"string","title":"Fsc"}},{"name":"part_number","in":"query","required":false,"schema":{"type":"string","title":"Part Number"}},{"name":"solicitation_number","in":"query","required":false,"schema":{"type":"string","title":"Solicitation Number"}},{"name":"supplier_type","in":"query","required":false,"schema":{"type":"string","title":"Supplier Type"}},{"name":"supplier_basis","in":"query","required":false,"schema":{"type":"string","title":"Supplier Basis"}},{"name":"cage","in":"query","required":false,"schema":{"type":"string","title":"Cage"}},{"name":"country","in":"query","required":false,"schema":{"type":"string","title":"Country"}},{"name":"state","in":"query","required":false,"schema":{"type":"string","title":"State"}},{"name":"approval_status","in":"query","required":false,"schema":{"type":"string","title":"Approval Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":25,"minimum":1,"default":25,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchDibbsListV1"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}}},"/v1/research/dibbs/{id}":{"get":{"tags":["public-v1"],"summary":"Read bounded DLA DIBBS evidence","description":"Requires opportunities:read. Returns stored RFQ, line, award and supplier evidence with source provenance. Each evidence collection has at most 25 records, text excerpts at most 4000 characters before the truncation marker. Coverage identifies potentially incomplete results.","operationId":"research_dibbs_detail_v1_research_dibbs__id__get","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchDibbsDetailV1"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"404":{"description":"No locally mirrored DLA RFQ has this identifier","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}}},"/v1/research/profile":{"get":{"tags":["public-v1"],"summary":"Read the authenticated company profile","description":"Requires matches:read. Returns only the API key tenant company profile and matching preferences.","operationId":"research_company_profile_v1_research_profile_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchCompanyProfileV1"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}}},"/v1/research/usage":{"get":{"tags":["public-v1"],"summary":"Read connector usage for this account","description":"Requires matches:read. UTC monthly counters include in-flight reservations; failed tools are refunded. Existing API-entitled accounts have null monthly limit and remaining values. This read does not spend the monthly connector allowance.","operationId":"research_connection_usage_v1_research_usage_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchUsageV1"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}}},"/v1/research/saved":{"post":{"tags":["public-v1"],"summary":"Save an opportunity to the research shortlist","description":"Requires captures:write. Saves a live federal opportunity in a tenant-private shortlist, limited to 25 entries. Repeating an existing save is idempotent. Does not create or update a pursuit.","operationId":"research_save_v1_research_saved_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchSaveInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchSavedStateV1"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"404":{"description":"No live biddable opportunity answers to the identifier","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"409":{"description":"Ambiguous identifier or the 25-item research shortlist is full","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}},"get":{"tags":["public-v1"],"summary":"List saved research opportunities","description":"Requires captures:read. Returns at most 25 entries from this tenant research shortlist, newest first.","operationId":"research_saved_v1_research_saved_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchSavedListV1"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}},"delete":{"tags":["public-v1"],"summary":"Remove a saved research opportunity","description":"Requires captures:write and a JSON identifier body. Removes only this tenant shortlist entry and frees a slot. Idempotently returns saved=false if already absent. Does not modify the source opportunity.","operationId":"research_remove_saved_v1_research_saved_delete","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchSaveInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchSavedStateV1"}}}},"401":{"description":"Missing, malformed, unknown or revoked bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"402":{"description":"The tenant subscription is inactive or locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"403":{"description":"The tenant tier does not include this data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}},"422":{"description":"Invalid or conflicting request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiValidationErrorV1"}}}},"429":{"description":"Per-key rate limit exceeded; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorV1"}}}}}}}},"components":{"schemas":{"CaptureCreateV1":{"properties":{"notice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notice Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stage"},"agency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agency"},"naics":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics"},"set_aside":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Set Aside"},"est_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Est Value"},"capture_lead":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Capture Lead"},"next_action":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Action"},"next_action_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Action Date"},"proposal_due":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proposal Due"}},"additionalProperties":false,"type":"object","title":"CaptureCreateV1","description":"Create a pursuit. Send notice_id to build it from a live opportunity, or\ntitle (and any other fields) to create it by hand. Fields sent alongside\nnotice_id override what the notice supplies."},"CaptureNoteCreateV1":{"properties":{"text":{"type":"string","title":"Text"}},"additionalProperties":false,"type":"object","required":["text"],"title":"CaptureNoteCreateV1"},"CaptureNoteV1":{"properties":{"capture_id":{"type":"integer","title":"Capture Id"},"text":{"type":"string","title":"Text"},"author":{"type":"string","title":"Author"},"created_at":{"type":"string","title":"Created At"}},"additionalProperties":false,"type":"object","required":["capture_id","text","author","created_at"],"title":"CaptureNoteV1","description":"The note just added to a pursuit (POST /v1/captures/{capture_id}/notes)."},"CaptureStageChangeV1":{"properties":{"id":{"type":"integer","title":"Id"},"capture_id":{"type":"integer","title":"Capture Id"},"from_stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From Stage"},"to_stage":{"type":"string","title":"To Stage"},"source":{"type":"string","title":"Source"},"changed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Changed At"}},"additionalProperties":false,"type":"object","required":["id","capture_id","to_stage","source"],"title":"CaptureStageChangeV1","description":"One pursuit stage change (GET /v1/capture-stage-changes)."},"CaptureUpdateV1":{"properties":{"stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stage"},"owner":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner"},"next_action":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Action"},"next_action_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Action Date"}},"additionalProperties":false,"type":"object","title":"CaptureUpdateV1","description":"Change a pursuit's stage, owner or next action. Send only what changes;\nsend null to clear owner or next action."},"CaptureV1":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"opportunity_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Opportunity Source"},"opportunity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Opportunity Id"},"stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stage"},"probability":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Probability"},"est_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Est Value"},"capture_lead":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Capture Lead"},"agency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agency"},"naics":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics"},"set_aside":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Set Aside"},"incumbent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Incumbent"},"vehicle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vehicle"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"next_action":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Action"},"next_action_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Action Date"},"proposal_due":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proposal Due"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"}},"additionalProperties":false,"type":"object","title":"CaptureV1"},"ContractV1":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"},"award_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Award Id"},"vendor_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Vendor Id"},"recipient_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Name"},"agency_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agency Name"},"awarding_sub_agency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Awarding Sub Agency"},"award_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Award Amount"},"current_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Current Value"},"potential_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Potential Value"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"start_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date"},"end_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Date"},"option_years":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Option Years"},"naics_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics Code"},"naics_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics Description"},"psc_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Psc Code"},"set_aside_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Set Aside Type"},"contract_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract Type"},"vehicle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vehicle"},"place_of_performance":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Of Performance"},"pop_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pop State"},"pop_city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pop City"},"pop_country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pop Country"},"number_of_offers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Number Of Offers"},"extent_competed":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extent Competed"},"solicitation_procedures":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Solicitation Procedures"},"fair_opportunity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fair Opportunity"},"is_distressed_vendor":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Distressed Vendor"},"fwg_buyout_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Fwg Buyout Score"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"}},"additionalProperties":false,"type":"object","title":"ContractV1"},"DataSourceUnavailableV1":{"properties":{"error":{"type":"string","title":"Error","default":"data_source_unavailable"},"resource":{"type":"string","title":"Resource"}},"additionalProperties":false,"type":"object","required":["resource"],"title":"DataSourceUnavailableV1","description":"503 body when a REQUIRED backing table or model is absent.\n\nAn empty list is a fact about the world; an absent table is a fact about\nthis deployment. Reporting the second as the first is a lie a paying\nintegration cannot detect."},"DiscoveryV1":{"properties":{"name":{"type":"string","title":"Name"},"version":{"type":"string","title":"Version"},"auth":{"type":"string","title":"Auth"},"endpoints":{"items":{"type":"string"},"type":"array","title":"Endpoints"},"rate_limit_per_minute":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rate Limit Per Minute"}},"additionalProperties":false,"type":"object","required":["name","version","auth","endpoints"],"title":"DiscoveryV1","description":"The /v1 root document, used by SDK and iPaaS connector generators."},"GrantV1":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"},"grant_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Grant Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"agency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agency"},"award_ceiling":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Award Ceiling"},"award_floor":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Award Floor"},"open_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Open Date"},"close_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Close Date"},"cfda_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cfda Number"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"opportunity_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Opportunity Number"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"}},"additionalProperties":false,"type":"object","title":"GrantV1"},"MatchV1":{"properties":{"id":{"type":"integer","title":"Id"},"match_type":{"type":"string","title":"Match Type"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"opportunity_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Opportunity Ref"},"priority":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Priority"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"}},"additionalProperties":false,"type":"object","required":["id","match_type","title"],"title":"MatchV1","description":"A new opportunity matched to the account (GET /v1/matches).\n\nmatch_type is \"saved_search\" (a saved search found it) or \"smart_match\"\n(the profile matcher found it). opportunity_ref is FedFinder's reference\nfor the matched notice and is stable for a given match."},"OpportunityV1":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"},"notice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notice Id"},"solicitation_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Solicitation Number"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"department":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Department"},"subtier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subtier"},"office":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Office"},"posted_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Posted Date"},"response_deadline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Response Deadline"},"archive_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Archive Date"},"naics_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics Code"},"classification_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Classification Code"},"notice_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notice Type"},"set_aside":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Set Aside"},"award_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Award Number"},"ui_link":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ui Link"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"pop_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pop State"},"pop_city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pop City"},"pop_zip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pop Zip"},"pop_country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pop Country"},"office_city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Office City"},"office_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Office State"},"office_zip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Office Zip"},"contact_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Name"},"contact_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Email"},"contact_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Phone"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"additionalProperties":false,"type":"object","title":"OpportunityV1","description":"A federal opportunity as customers see it.\n\n`id` is the compatibility identifier v1 has always returned and stays\nnumeric. `notice_id` and `solicitation_number` are the stable typed\nidentities; see services/opportunity_identity.py for the precedence rule."},"Page_CaptureStageChangeV1_":{"properties":{"results":{"items":{"$ref":"#/components/schemas/CaptureStageChangeV1"},"type":"array","title":"Results"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"next_after_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next After Id"}},"type":"object","required":["results","total","page","limit"],"title":"Page[CaptureStageChangeV1]"},"Page_CaptureV1_":{"properties":{"results":{"items":{"$ref":"#/components/schemas/CaptureV1"},"type":"array","title":"Results"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"next_after_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next After Id"}},"type":"object","required":["results","total","page","limit"],"title":"Page[CaptureV1]"},"Page_ContractV1_":{"properties":{"results":{"items":{"$ref":"#/components/schemas/ContractV1"},"type":"array","title":"Results"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"next_after_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next After Id"}},"type":"object","required":["results","total","page","limit"],"title":"Page[ContractV1]"},"Page_GrantV1_":{"properties":{"results":{"items":{"$ref":"#/components/schemas/GrantV1"},"type":"array","title":"Results"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"next_after_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next After Id"}},"type":"object","required":["results","total","page","limit"],"title":"Page[GrantV1]"},"Page_MatchV1_":{"properties":{"results":{"items":{"$ref":"#/components/schemas/MatchV1"},"type":"array","title":"Results"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"next_after_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next After Id"}},"type":"object","required":["results","total","page","limit"],"title":"Page[MatchV1]"},"Page_OpportunityV1_":{"properties":{"results":{"items":{"$ref":"#/components/schemas/OpportunityV1"},"type":"array","title":"Results"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"next_after_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next After Id"}},"type":"object","required":["results","total","page","limit"],"title":"Page[OpportunityV1]"},"Page_PersonV1_":{"properties":{"results":{"items":{"$ref":"#/components/schemas/PersonV1"},"type":"array","title":"Results"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"next_after_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next After Id"}},"type":"object","required":["results","total","page","limit"],"title":"Page[PersonV1]"},"Page_PreRfpSignalV1_":{"properties":{"results":{"items":{"$ref":"#/components/schemas/PreRfpSignalV1"},"type":"array","title":"Results"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"next_after_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next After Id"}},"type":"object","required":["results","total","page","limit"],"title":"Page[PreRfpSignalV1]"},"Page_StateOpportunityV1_":{"properties":{"results":{"items":{"$ref":"#/components/schemas/StateOpportunityV1"},"type":"array","title":"Results"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"next_after_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next After Id"}},"type":"object","required":["results","total","page","limit"],"title":"Page[StateOpportunityV1]"},"Page_VendorV1_":{"properties":{"results":{"items":{"$ref":"#/components/schemas/VendorV1"},"type":"array","title":"Results"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"next_after_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next After Id"}},"type":"object","required":["results","total","page","limit"],"title":"Page[VendorV1]"},"Page_WinLossV1_":{"properties":{"results":{"items":{"$ref":"#/components/schemas/WinLossV1"},"type":"array","title":"Results"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"next_after_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next After Id"}},"type":"object","required":["results","total","page","limit"],"title":"Page[WinLossV1]"},"PersonV1":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"full_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Name"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"preferred_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"email_verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Email Verified"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"linkedin_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Linkedin Url"},"twitter_handle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Twitter Handle"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"department":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Department"},"org_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Type"},"org_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Id"},"org_name_display":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Name Display"},"agency_office":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agency Office"},"is_contracting_officer":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Contracting Officer"},"warrant_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Warrant Level"},"contracting_authority":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contracting Authority"},"clearance_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clearance Level"},"seniority":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seniority"},"decision_authority_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Decision Authority Score"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"source_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Id"},"source_confidence":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Source Confidence"},"last_verified_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Verified At"},"last_seen_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Seen At"},"enrichment_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Enrichment Status"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"}},"additionalProperties":false,"type":"object","title":"PersonV1"},"PreRfpSignalV1":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"},"signal_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signal Type"},"agency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agency"},"subagency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subagency"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"naics_codes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics Codes"},"estimated_value_low":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Estimated Value Low"},"estimated_value_high":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Estimated Value High"},"estimated_solicit_window_start":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Estimated Solicit Window Start"},"estimated_solicit_window_end":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Estimated Solicit Window End"},"actual_solicitation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actual Solicitation Id"},"confidence":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Confidence"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"source_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Id"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"captured_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Captured At"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"}},"additionalProperties":false,"type":"object","title":"PreRfpSignalV1"},"PublicApiErrorDetailV1":{"properties":{"error":{"type":"string","title":"Error"}},"additionalProperties":true,"type":"object","required":["error"],"title":"PublicApiErrorDetailV1"},"PublicApiErrorV1":{"properties":{"detail":{"$ref":"#/components/schemas/PublicApiErrorDetailV1"}},"additionalProperties":false,"type":"object","required":["detail"],"title":"PublicApiErrorV1"},"PublicApiValidationErrorItemV1":{"properties":{"loc":{"items":{},"type":"array","title":"Loc","default":[]},"msg":{"type":"string","title":"Msg","default":""},"type":{"type":"string","title":"Type","default":""}},"additionalProperties":true,"type":"object","title":"PublicApiValidationErrorItemV1"},"PublicApiValidationErrorV1":{"properties":{"detail":{"anyOf":[{"items":{"$ref":"#/components/schemas/PublicApiValidationErrorItemV1"},"type":"array"},{"$ref":"#/components/schemas/PublicApiErrorDetailV1"}],"title":"Detail"}},"additionalProperties":false,"type":"object","required":["detail"],"title":"PublicApiValidationErrorV1","description":"The 422 body, which genuinely has two shapes.\n\nFastAPI's own parameter validation emits a LIST of error objects; the\nhandwritten checks in this API (conflicting query aliases, a malformed\nopportunity identifier) emit a single typed object. Documenting only one\nof them would describe a response the runtime does not always send, so the\nunion is declared rather than tidied away."},"ResearchCompanyProfileV1":{"properties":{"legal_name":{"type":"string","title":"Legal Name"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"uei":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Uei"},"cage_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cage Code"},"primary_naics":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Naics"},"target_fsc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Fsc"},"target_agencies":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Agencies"},"capabilities":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Capabilities"},"set_asides":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Set Asides"},"geographic_focus":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geographic Focus"}},"type":"object","required":["legal_name","display_name","uei","cage_code","primary_naics","target_fsc","target_agencies","capabilities","set_asides","geographic_focus"],"title":"ResearchCompanyProfileV1"},"ResearchDibbsDetailV1":{"properties":{"id":{"type":"integer","title":"Id"},"line_items":{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":25,"title":"Line Items"},"awards":{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":25,"title":"Awards"},"supplier_classifications":{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":25,"title":"Supplier Classifications"},"source_evidence":{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":25,"title":"Source Evidence"},"coverage":{"additionalProperties":true,"type":"object","title":"Coverage","description":"Includes record_limit_per_collection and may_have_more for bounded detail."}},"additionalProperties":true,"type":"object","required":["id","line_items","awards","supplier_classifications","source_evidence","coverage"],"title":"ResearchDibbsDetailV1"},"ResearchDibbsListV1":{"properties":{"total":{"type":"integer","title":"Total"},"count":{"type":"integer","title":"Count"},"rfqs":{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":25,"title":"Rfqs","description":"Locally mirrored DLA RFQs with source links, freshness and evidence indicators."},"fsc_facet":{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":25,"title":"Fsc Facet"},"summary":{"additionalProperties":true,"type":"object","title":"Summary"},"coverage":{"additionalProperties":true,"type":"object","title":"Coverage"}},"additionalProperties":true,"type":"object","required":["total","count","rfqs","fsc_facet","summary","coverage"],"title":"ResearchDibbsListV1"},"ResearchSaveInput":{"properties":{"identifier":{"type":"string","maxLength":120,"minLength":1,"title":"Identifier","description":"For saving, a live SAM notice identifier or solicitation number. For removing, the canonical identifier returned by save or list."}},"type":"object","required":["identifier"],"title":"ResearchSaveInput"},"ResearchSavedListV1":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ResearchSavedOpportunityV1"},"type":"array","maxItems":25,"title":"Data"}},"type":"object","required":["data"],"title":"ResearchSavedListV1"},"ResearchSavedOpportunityV1":{"properties":{"identifier":{"type":"string","title":"Identifier"},"title":{"type":"string","title":"Title"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["identifier","title","source_url","created_at"],"title":"ResearchSavedOpportunityV1"},"ResearchSavedStateV1":{"properties":{"identifier":{"type":"string","title":"Identifier"},"saved":{"type":"boolean","title":"Saved"}},"type":"object","required":["identifier","saved"],"title":"ResearchSavedStateV1"},"ResearchUsageV1":{"properties":{"tier":{"type":"string","title":"Tier"},"period":{"type":"string","title":"Period","description":"UTC calendar month, YYYY-MM."},"used":{"type":"integer","minimum":0.0,"title":"Used","description":"Completed successful calls plus in-flight reservations."},"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit","description":"Monthly allowance; null for existing API-entitled plans without a connector cap."},"remaining":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Remaining","description":"Remaining monthly calls; null when there is no monthly connector cap."},"requests_per_minute":{"type":"integer","title":"Requests Per Minute","description":"Shared tenant request ceiling; individual keys can have lower limits."},"connection_url":{"type":"string","title":"Connection Url"},"accounting":{"type":"string","title":"Accounting"}},"type":"object","required":["tier","period","used","limit","remaining","requests_per_minute","connection_url","accounting"],"title":"ResearchUsageV1"},"StateOpportunityV1":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"},"opp_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Opp Id"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"agency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agency"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"},"value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Value"},"posted_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Posted Date"},"due_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Due Date"},"naics":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"}},"additionalProperties":false,"type":"object","title":"StateOpportunityV1"},"VendorV1":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"duns_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duns Number"},"uei":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Uei"},"cage_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cage Code"},"ticker_symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ticker Symbol"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"small_business_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Small Business Type"},"gsa_schedule_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gsa Schedule Number"},"sam_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sam Status"},"annual_revenue":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Annual Revenue"},"employee_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Employee Count"},"primary_naics":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Naics"},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code"},"socioeconomic_certs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Socioeconomic Certs"},"last_enriched_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Enriched At"},"is_bankrupt":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Bankrupt"},"bankruptcy_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bankruptcy Type"},"distress_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distress Score"},"distress_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Distress Level"},"distress_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Distress Reason"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"}},"additionalProperties":false,"type":"object","title":"VendorV1"},"WinLossV1":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"},"opportunity_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Opportunity Title"},"agency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agency"},"award_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Award Amount"},"winner":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Winner"},"fwg_bid":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Fwg Bid"},"fwg_bid_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Fwg Bid Amount"},"result":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Result"},"loss_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Loss Reason"},"debrief_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Debrief Notes"},"award_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Award Date"},"naics":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Naics"},"set_aside":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Set Aside"}},"additionalProperties":false,"type":"object","title":"WinLossV1"}},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"A dashboard-minted key of the form fedf_live_<32 hex characters>."}}},"security":[{"bearerAuth":[]}]}