NOTE: Filter examples can be combined into a single object in order to AND their results. Some search filters can be OR'd internally and will be specified as such. For example:
{
"keyword": "example search text",
"time_period": [
{
"start_date": "2001-01-01",
"end_date": "2001-01-31"
}
]
}
Available filters are in the order they appear on the Search & Download Page.
Description: Search is based on a single string input.
TODO:
- Determine what backend fields are being searched against.
Example Request:
{
"keyword": "example search text"
}
Request parameter description:
keyword(String) : String containing the search text. Also the top level key name for the filter.
Description: Search based on one or more fiscal year selections OR date range. Dates should be in the following format: YYYY-MM-DD
Example Request for Fiscal Year (Fiscal Year is converted to a date range by frontend):
{
"time_period": [
{
"start_date": "2016-10-01",
"end_date": "2017-09-30"
}
]
}
Example Request for Date Range:
{
"time_period": [
{
"start_date": "2001-01-01",
"end_date": "2001-01-31"
}
]
}
Request parameter description:
time_period(List) : Top level key name for this filter. Contains a list of date ranges to filter on.start_date(String) : Start date value for date range filtering.end_date(String) : End date value for date range filtering.
Description: Filtering based on radio button selection OR autocomplete selection. Different filtering scenarios:
- If no autocomplete values are selected, then “Show only” affects results.
- If All and no location specified, filter not used (won’t be sent to backend).
- Otherwise, only selected autocomplete values dictate results.
Example Request for "Show Only" Selection:
{
"place_of_performance_scope": "domestic"
}
Request parameter description:
place_of_performance_scope(String) : Top level key name for filter. Holds the type of location data to display. Can be one of the following: domestic, foreign
Description: Filtering based on radio button selection OR autocomplete selection. Different filtering scenarios:
- If no autocomplete values are selected, then “Show only” affects results.
- If All and no location specified, filter not used (won’t be sent to backend).
- Otherwise, only selected autocomplete values dictate results.
Example Request for Autocomplete Selection:
{
"place_of_performance_locations": [1, 2, 3]
}
Request parameter description:
place_of_performance_locations(JSON Object) : Top level key name for filter. Holds the list of database IDs corresponding to location objects on which to filter results.
Description: Filters for searching based on the awarding agency or the toptier agency.
NOTE: The values provided here will be OR'd against each other, but only within the scope of this particular filter. This filter set, as a whole, will still be AND'd with the other filters.
Example Request:
{
"agencies": [
{
"type": "funding",
"tier": "toptier",
"name": "Office of Pizza"
},
{
"type": "awarding",
"tier": "subtier",
"name": "Personal Pizza"
}
]
}
Request parameter description:
agencies(List) : Top level key name for filter. Contains a list of JSON Objects.type(String) : Type of agency. Can be one of the following: funding, awardingtier(String) : Tier of agency. Can be one of the following: toptier, subtiername(String) : Name of agency.
Description: Filtering based on the autocomplete selections for Recipient Name/DUNS.
Example Request:
{
"legal_entities": [1, 2, 3]
}
Request parameter description:
legal_entities(List) : Top level key name for filter. Contains list of database IDs corresponding to Legal Entities. List will contain positive integers.
Description: Filtering based on radio button selection OR autocomplete selection. Different filtering scenarios:
- If no autocomplete values are selected, then “Show only” affects results.
- If All and no location specified, filter not used (won’t be sent to backend).
- Otherwise, only selected autocomplete values dictate results.
Example Request for "Show Only" Selection:
{
"recipient_scope": "domestic"
}
Request parameter description:
recipient_scope(String) : Top level key name for filter. Type of location data to display. Can be one of the following: domestic, foreign
Description: Filtering based on radio button selection OR autocomplete selection. Different filtering scenarios:
- If no autocomplete values are selected, then “Show only” affects results.
- If All and no location specified, filter not used (won’t be sent to backend).
- Otherwise, only selected autocomplete values dictate results.
Example Request for Autocomplete Selection:
{
"recipient_locations": [1, 2, 3]
}
Request parameter description:
recipient_locations(List) : Top level key name for filter. List of database IDs corresponding to location objects on which to filter results.
Description: Filtering based on one or more checkbox selections for recipient/business type.
NOTE: The values provided here will be OR'd against each other, but only within the scope of this particular filter. This filter set, as a whole, will still be AND'd with the other filters.
Example Request:
{
"recipient_type_names": [
"Small Business",
"Alaskan Native Owned Business"
]
}
Request Parameter Description:
recipient_type_names(List) : Top level key name for filter. Contains list of strings corresponding to drop down selections. Lowest level selections are passed here. For example, if "Business" is selected at the top level, then the list would contains all selections within "Business": ["Small Business", "Other than Small Business"].
Description: Filtering based on one or more checkbox selections for award type.
NOTE: The values provided here will be OR'd against each other, but only within the scope of this particular filter. This filter set, as a whole, will still be AND'd with the other filters.
Example Request:
{
"award_type_codes": ["A", "B", "03"]
}
Request Parameter Description:
award_type_codes(List) : Top level key name for filter. Contains list of strings corresponding to drop down selections. Lowest level selections are passed here. For example, if "Contracts" is selected at the top level, then the list would contains all selections within "Contracts": ["A", "B", "C", "D"].
Description: Filtering based on autocomplete selections for award id.
Example Request:
{
"award_ids": [1, 2, 3]
}
Request parameter description:
award_ids(List) : Top level key name for filter. Contains list of database IDs corresponding to Awards. List will contain positive integers.
Description: Filtering based on one or more checkbox selections for award amount.
NOTE: The values provided here will be OR'd against each other, but only within the scope of this particular filter. This filter set, as a whole, will still be AND'd with the other filters.
TODO:
- Determine if upper and lower bounds are inclusive or exclusive when both are provided.
Example Request:
{
"award_amounts": [
{
"lower_bound": 1000000.00,
"upper_bound": 25000000.00
},
{
"upper_bound": 1000000.00
},
{
"lower_bound": 500000000.00
}
]
}
Request Parameter Description:
award_amounts(List) : Top level key name for filter. Contains a list of JSON Objects with additional keys, setting the upper and lower bounds for each selection.lower_bound(Float) : Float corresponding to the lower bound to check within. If not provided, everything <= to the upper bound should be returned.upper_bound(Float) : Float corresponding to the upper buond to check within. If not provided, everything >= to the lower bound should be returned.
Description: Filtering based on autocomplete selections for CFDA Programs.
Example Request:
{
"program_numbers": ["10.553"]
}
Request parameter description:
program_numbers(List) : Top level key name for filter. Contains list of Strings corresponding to CFDA Program Numbers.
Description: Filtering based on autocomplete selections for NAICS Code.
Example Request:
{
"naics_codes": ["336411"]
}
Request parameter description:
naics_codes(List) : Top level key name for filter. Contains list of Strings corresponding to NAICS Codes.
Description: Filtering based on autocomplete selections for PSC Code.
Example Request:
{
"psc_codes": ["1510"]
}
Request parameter description:
psc_codes(List) : Top level key name for filter. Contains list of Strings corresponding to PSC Codes.
Description: Filtering based on one or more checkbox selections for type of contract pricing.
Example Request:
{
"contract_pricing_type_codes": ["SAMPLECODE123"]
}
Request parameter description:
contract_pricing_type_codes(List) : Top level key name for filter. Contains list of Strings corresponding to Type of Contract Pricing codes.
Description: Filtering based on one or more checkbox selections for set-aside type.
Example Request:
{
"set_aside_type_codes": ["SAMPLECODE123"]
}
Request parameter description:
set_aside_type_codes(List) : Top level key name for filter. Contains list of Strings corresponding to Set-Aside Type codes.
Description: Filtering based on one or more checkbox selections for extent competed.
Example Request:
{
"extent_competed_type_codes": ["SAMPLECODE123"]
}
Request parameter description:
extent_competed_type_codes(List) : Top level key name for filter. Contains list of Strings corresponding to Extent Competed type codes.
Can we change place of performance/recipient location type values to
domesticandforeigninstead ofusa?