From f3f452617066d7bc5fe9cb22b3280ee95546f479 Mon Sep 17 00:00:00 2001 From: nava-platform-bot Date: Wed, 15 May 2024 17:09:27 +0000 Subject: [PATCH] Update OpenAPI spec --- api/openapi.generated.yml | 646 ++++++++++++++++++++++++++++---------- 1 file changed, 488 insertions(+), 158 deletions(-) diff --git a/api/openapi.generated.yml b/api/openapi.generated.yml index b6b756ae0..7ab4b9858 100644 --- a/api/openapi.generated.yml +++ b/api/openapi.generated.yml @@ -36,26 +36,36 @@ paths: type: object properties: message: - type: string + type: + - string + - 'null' description: The message to return data: $ref: '#/components/schemas/Healthcheck' status_code: - type: integer + type: + - integer + - 'null' description: The HTTP status code pagination_info: description: The pagination information for paginated endpoints type: &id001 - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/PaginationInfo' + - type: 'null' warnings: - type: array + type: + - array + - 'null' items: type: &id002 - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/ValidationIssue' + - type: 'null' description: Successful response '503': content: @@ -64,24 +74,32 @@ paths: type: object properties: message: - type: string + type: + - string + - 'null' description: The message to return data: $ref: '#/components/schemas/ErrorResponse' status_code: - type: integer + type: + - integer + - 'null' description: The HTTP status code pagination_info: description: The pagination information for paginated endpoints type: *id001 - allOf: + anyOf: - $ref: '#/components/schemas/PaginationInfo' + - type: 'null' warnings: - type: array + type: + - array + - 'null' items: type: *id002 - allOf: + anyOf: - $ref: '#/components/schemas/ValidationIssue' + - type: 'null' description: Service Unavailable tags: - Health @@ -93,7 +111,9 @@ paths: name: FF-Enable-Opportunity-Log-Msg description: Whether to log a message in the opportunity endpoint schema: - type: boolean + type: + - boolean + - 'null' required: false responses: '200': @@ -103,28 +123,38 @@ paths: type: object properties: message: - type: string + type: + - string + - 'null' description: The message to return data: type: array items: $ref: '#/components/schemas/OpportunityV0' status_code: - type: integer + type: + - integer + - 'null' description: The HTTP status code pagination_info: description: The pagination information for paginated endpoints type: &id003 - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/PaginationInfo' + - type: 'null' warnings: - type: array + type: + - array + - 'null' items: type: &id004 - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/ValidationIssue' + - type: 'null' description: Successful response '422': content: @@ -133,24 +163,32 @@ paths: type: object properties: message: - type: string + type: + - string + - 'null' description: The message to return data: $ref: '#/components/schemas/ErrorResponse' status_code: - type: integer + type: + - integer + - 'null' description: The HTTP status code pagination_info: description: The pagination information for paginated endpoints type: *id003 - allOf: + anyOf: - $ref: '#/components/schemas/PaginationInfo' + - type: 'null' warnings: - type: array + type: + - array + - 'null' items: type: *id004 - allOf: + anyOf: - $ref: '#/components/schemas/ValidationIssue' + - type: 'null' description: Validation error '401': content: @@ -159,24 +197,32 @@ paths: type: object properties: message: - type: string + type: + - string + - 'null' description: The message to return data: $ref: '#/components/schemas/ErrorResponse' status_code: - type: integer + type: + - integer + - 'null' description: The HTTP status code pagination_info: description: The pagination information for paginated endpoints type: *id003 - allOf: + anyOf: - $ref: '#/components/schemas/PaginationInfo' + - type: 'null' warnings: - type: array + type: + - array + - 'null' items: type: *id004 - allOf: + anyOf: - $ref: '#/components/schemas/ValidationIssue' + - type: 'null' description: Authentication error tags: - Opportunity v0 @@ -215,28 +261,38 @@ paths: type: object properties: message: - type: string + type: + - string + - 'null' description: The message to return data: type: array items: $ref: '#/components/schemas/Opportunity' status_code: - type: integer + type: + - integer + - 'null' description: The HTTP status code pagination_info: description: The pagination information for paginated endpoints type: &id005 - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/PaginationInfo' + - type: 'null' warnings: - type: array + type: + - array + - 'null' items: type: &id006 - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/ValidationIssue' + - type: 'null' description: Successful response '422': content: @@ -245,24 +301,32 @@ paths: type: object properties: message: - type: string + type: + - string + - 'null' description: The message to return data: $ref: '#/components/schemas/ErrorResponse' status_code: - type: integer + type: + - integer + - 'null' description: The HTTP status code pagination_info: description: The pagination information for paginated endpoints type: *id005 - allOf: + anyOf: - $ref: '#/components/schemas/PaginationInfo' + - type: 'null' warnings: - type: array + type: + - array + - 'null' items: type: *id006 - allOf: + anyOf: - $ref: '#/components/schemas/ValidationIssue' + - type: 'null' description: Validation error '401': content: @@ -271,24 +335,32 @@ paths: type: object properties: message: - type: string + type: + - string + - 'null' description: The message to return data: $ref: '#/components/schemas/ErrorResponse' status_code: - type: integer + type: + - integer + - 'null' description: The HTTP status code pagination_info: description: The pagination information for paginated endpoints type: *id005 - allOf: + anyOf: - $ref: '#/components/schemas/PaginationInfo' + - type: 'null' warnings: - type: array + type: + - array + - 'null' items: type: *id006 - allOf: + anyOf: - $ref: '#/components/schemas/ValidationIssue' + - type: 'null' description: Authentication error tags: - Opportunity v0.1 @@ -373,26 +445,36 @@ paths: type: object properties: message: - type: string + type: + - string + - 'null' description: The message to return data: $ref: '#/components/schemas/OpportunityV0' status_code: - type: integer + type: + - integer + - 'null' description: The HTTP status code pagination_info: description: The pagination information for paginated endpoints type: &id007 - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/PaginationInfo' + - type: 'null' warnings: - type: array + type: + - array + - 'null' items: type: &id008 - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/ValidationIssue' + - type: 'null' description: Successful response '401': content: @@ -401,24 +483,32 @@ paths: type: object properties: message: - type: string + type: + - string + - 'null' description: The message to return data: $ref: '#/components/schemas/ErrorResponse' status_code: - type: integer + type: + - integer + - 'null' description: The HTTP status code pagination_info: description: The pagination information for paginated endpoints type: *id007 - allOf: + anyOf: - $ref: '#/components/schemas/PaginationInfo' + - type: 'null' warnings: - type: array + type: + - array + - 'null' items: type: *id008 - allOf: + anyOf: - $ref: '#/components/schemas/ValidationIssue' + - type: 'null' description: Authentication error '404': content: @@ -427,24 +517,32 @@ paths: type: object properties: message: - type: string + type: + - string + - 'null' description: The message to return data: $ref: '#/components/schemas/ErrorResponse' status_code: - type: integer + type: + - integer + - 'null' description: The HTTP status code pagination_info: description: The pagination information for paginated endpoints type: *id007 - allOf: + anyOf: - $ref: '#/components/schemas/PaginationInfo' + - type: 'null' warnings: - type: array + type: + - array + - 'null' items: type: *id008 - allOf: + anyOf: - $ref: '#/components/schemas/ValidationIssue' + - type: 'null' description: Not found tags: - Opportunity v0 @@ -483,26 +581,36 @@ paths: type: object properties: message: - type: string + type: + - string + - 'null' description: The message to return data: $ref: '#/components/schemas/Opportunity' status_code: - type: integer + type: + - integer + - 'null' description: The HTTP status code pagination_info: description: The pagination information for paginated endpoints type: &id009 - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/PaginationInfo' + - type: 'null' warnings: - type: array + type: + - array + - 'null' items: type: &id010 - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/ValidationIssue' + - type: 'null' description: Successful response '401': content: @@ -511,24 +619,32 @@ paths: type: object properties: message: - type: string + type: + - string + - 'null' description: The message to return data: $ref: '#/components/schemas/ErrorResponse' status_code: - type: integer + type: + - integer + - 'null' description: The HTTP status code pagination_info: description: The pagination information for paginated endpoints type: *id009 - allOf: + anyOf: - $ref: '#/components/schemas/PaginationInfo' + - type: 'null' warnings: - type: array + type: + - array + - 'null' items: type: *id010 - allOf: + anyOf: - $ref: '#/components/schemas/ValidationIssue' + - type: 'null' description: Authentication error '404': content: @@ -537,24 +653,32 @@ paths: type: object properties: message: - type: string + type: + - string + - 'null' description: The message to return data: $ref: '#/components/schemas/ErrorResponse' status_code: - type: integer + type: + - integer + - 'null' description: The HTTP status code pagination_info: description: The pagination information for paginated endpoints type: *id009 - allOf: + anyOf: - $ref: '#/components/schemas/PaginationInfo' + - type: 'null' warnings: - type: array + type: + - array + - 'null' items: type: *id010 - allOf: + anyOf: - $ref: '#/components/schemas/ValidationIssue' + - type: 'null' description: Not found tags: - Opportunity v0.1 @@ -584,23 +708,33 @@ components: type: object properties: page_offset: - type: integer + type: + - integer + - 'null' description: The page number that was fetched example: 1 page_size: - type: integer + type: + - integer + - 'null' description: The size of the page fetched example: 25 total_records: - type: integer + type: + - integer + - 'null' description: The total number of records fetchable example: 42 total_pages: - type: integer + type: + - integer + - 'null' description: The total number of pages that can be fetched example: 2 order_by: - type: string + type: + - string + - 'null' description: The field that the records were sorted by example: id sort_direction: @@ -610,52 +744,75 @@ components: - descending type: - string + - 'null' + - 'null' ValidationIssue: type: object properties: type: - type: string + type: + - string + - 'null' description: The type of error message: - type: string + type: + - string + - 'null' description: The message to return field: - type: string + type: + - string + - 'null' description: The field that failed Healthcheck: type: object properties: message: - type: string + type: + - string + - 'null' ErrorResponse: type: object properties: message: - type: string + type: + - string + - 'null' description: The message to return data: description: The REST resource object + type: + - 'null' status_code: - type: integer + type: + - integer + - 'null' description: The HTTP status code errors: - type: array + type: + - array + - 'null' items: type: - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/ValidationIssue' + - type: 'null' OpportunitySorting: type: object properties: order_by: - type: string + type: + - string + - 'null' enum: - opportunity_id - agency - opportunity_number - created_at - updated_at + - null description: The field to sort the response by sort_direction: description: Whether to sort the response ascending or descending @@ -664,6 +821,8 @@ components: - descending type: - string + - 'null' + - 'null' required: - order_by - sort_direction @@ -671,12 +830,16 @@ components: type: object properties: page_size: - type: integer + type: + - integer + - 'null' minimum: 1 description: The size of the page to fetch example: 25 page_offset: - type: integer + type: + - integer + - 'null' minimum: 1 description: The page number to fetch, starts counting from 1 example: 1 @@ -687,7 +850,9 @@ components: type: object properties: opportunity_title: - type: string + type: + - string + - 'null' description: The title of the opportunity to search for example: research category: @@ -702,16 +867,22 @@ components: - O type: - string + - 'null' + - 'null' sorting: type: - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/OpportunitySorting' + - type: 'null' paging: type: - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/Pagination' + - type: 'null' required: - paging - sorting @@ -719,20 +890,28 @@ components: type: object properties: opportunity_id: - type: integer + type: + - integer + - 'null' readOnly: true description: The internal ID of the opportunity example: 12345 opportunity_number: - type: string + type: + - string + - 'null' description: The funding opportunity number example: ABC-123-XYZ-001 opportunity_title: - type: string + type: + - string + - 'null' description: The title of the opportunity example: Research into conservation techniques agency: - type: string + type: + - string + - 'null' description: The agency who created the opportunity example: US-ABC category: @@ -747,32 +926,46 @@ components: - O type: - string + - 'null' + - 'null' category_explanation: - type: string + type: + - string + - 'null' description: Explanation of the category when the category is 'O' (other) example: null revision_number: - type: integer + type: + - integer + - 'null' description: The current revision number of the opportunity, counting starts at 0 example: 0 modified_comments: - type: string + type: + - string + - 'null' description: Details regarding what modification was last made example: null created_at: - type: string + type: + - string + - 'null' format: date-time readOnly: true updated_at: - type: string + type: + - string + - 'null' format: date-time readOnly: true FundingInstrumentFilter: type: object properties: one_of: - type: array + type: + - array + - 'null' minItems: 1 items: enum: @@ -782,11 +975,15 @@ components: - other type: - string + - 'null' + - 'null' FundingCategoryFilter: type: object properties: one_of: - type: array + type: + - array + - 'null' minItems: 1 items: enum: @@ -818,11 +1015,15 @@ components: - other type: - string + - 'null' + - 'null' ApplicantTypeFilter: type: object properties: one_of: - type: array + type: + - array + - 'null' minItems: 1 items: enum: @@ -845,11 +1046,15 @@ components: - unrestricted type: - string + - 'null' + - 'null' OpportunityStatusFilter: type: object properties: one_of: - type: array + type: + - array + - 'null' minItems: 1 items: enum: @@ -859,14 +1064,20 @@ components: - archived type: - string + - 'null' + - 'null' AgencyFilter: type: object properties: one_of: - type: array + type: + - array + - 'null' minItems: 1 items: - type: string + type: + - string + - 'null' minLength: 2 example: US-ABC OpportunitySearchFilter: @@ -875,33 +1086,45 @@ components: funding_instrument: type: - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/FundingInstrumentFilter' + - type: 'null' funding_category: type: - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/FundingCategoryFilter' + - type: 'null' applicant_type: type: - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/ApplicantTypeFilter' + - type: 'null' opportunity_status: type: - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/OpportunityStatusFilter' + - type: 'null' agency: type: - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/AgencyFilter' + - type: 'null' OpportunityPagination: type: object properties: order_by: - type: string + type: + - string + - 'null' enum: - opportunity_id - opportunity_number @@ -909,6 +1132,7 @@ components: - post_date - close_date - agency_code + - null description: The field to sort the response by sort_direction: description: Whether to sort the response ascending or descending @@ -917,13 +1141,19 @@ components: - descending type: - string + - 'null' + - 'null' page_size: - type: integer + type: + - integer + - 'null' minimum: 1 description: The size of the page to fetch example: 25 page_offset: - type: integer + type: + - integer + - 'null' minimum: 1 description: The page number to fetch, starts counting from 1 example: 1 @@ -936,7 +1166,9 @@ components: type: object properties: query: - type: string + type: + - string + - 'null' minLength: 1 maxLength: 100 description: Query string which searches against several text fields @@ -944,25 +1176,33 @@ components: filters: type: - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/OpportunitySearchFilter' + - type: 'null' pagination: type: - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/OpportunityPagination' + - type: 'null' required: - pagination OpportunityAssistanceListing: type: object properties: program_title: - type: string + type: + - string + - 'null' description: The name of the program, see https://sam.gov/content/assistance-listings for more detail example: Space Technology assistance_listing_number: - type: string + type: + - string + - 'null' description: The assistance listing number, see https://sam.gov/content/assistance-listings for more detail example: '43.012' @@ -970,123 +1210,179 @@ components: type: object properties: summary_description: - type: string + type: + - string + - 'null' description: The summary of the opportunity example: This opportunity aims to unravel the mysteries of the universe. is_cost_sharing: - type: boolean + type: + - boolean + - 'null' description: Whether or not the opportunity has a cost sharing/matching requirement is_forecast: - type: boolean + type: + - boolean + - 'null' description: Whether the opportunity is forecasted, that is, the information is only an estimate and not yet official example: false close_date: - type: string + type: + - string + - 'null' format: date description: The date that the opportunity will close - only set if is_forecast=False close_date_description: - type: string + type: + - string + - 'null' description: Optional details regarding the close date example: Proposals are due earlier than usual. post_date: - type: string + type: + - string + - 'null' format: date description: The date the opportunity was posted archive_date: - type: string + type: + - string + - 'null' format: date description: When the opportunity will be archived expected_number_of_awards: - type: integer + type: + - integer + - 'null' description: The number of awards the opportunity is expected to award example: 10 estimated_total_program_funding: - type: integer + type: + - integer + - 'null' description: The total program funding of the opportunity in US Dollars example: 10000000 award_floor: - type: integer + type: + - integer + - 'null' description: The minimum amount an opportunity would award example: 10000 award_ceiling: - type: integer + type: + - integer + - 'null' description: The maximum amount an opportunity would award example: 100000 additional_info_url: - type: string + type: + - string + - 'null' description: A URL to a website that can provide additional information about the opportunity example: grants.gov additional_info_url_description: - type: string + type: + - string + - 'null' description: The text to display for the additional_info_url link example: Click me for more info forecasted_post_date: - type: string + type: + - string + - 'null' format: date description: Forecasted opportunity only. The date the opportunity is expected to be posted, and transition out of being a forecast forecasted_close_date: - type: string + type: + - string + - 'null' format: date description: Forecasted opportunity only. The date the opportunity is expected to be close once posted. forecasted_close_date_description: - type: string + type: + - string + - 'null' description: Forecasted opportunity only. Optional details regarding the forecasted closed date. example: Proposals will probably be due on this date forecasted_award_date: - type: string + type: + - string + - 'null' format: date description: Forecasted opportunity only. The date the grantor plans to award the opportunity. forecasted_project_start_date: - type: string + type: + - string + - 'null' format: date description: Forecasted opportunity only. The date the grantor expects the award recipient should start their project fiscal_year: - type: integer + type: + - integer + - 'null' description: Forecasted opportunity only. The fiscal year the project is expected to be funded and launched funding_category_description: - type: string + type: + - string + - 'null' description: Additional information about the funding category example: Economic Support applicant_eligibility_description: - type: string + type: + - string + - 'null' description: Additional information about the types of applicants that are eligible example: All types of domestic applicants are eligible to apply agency_code: - type: string + type: + - string + - 'null' description: The agency who owns the opportunity example: US-ABC agency_name: - type: string + type: + - string + - 'null' description: The name of the agency who owns the opportunity example: US Alphabetical Basic Corp agency_phone_number: - type: string + type: + - string + - 'null' description: The phone number of the agency who owns the opportunity example: 123-456-7890 agency_contact_description: - type: string + type: + - string + - 'null' description: Information regarding contacting the agency who owns the opportunity example: For more information, reach out to Jane Smith at agency US-ABC agency_email_address: - type: string + type: + - string + - 'null' description: The contact email of the agency who owns the opportunity example: fake_email@grants.gov agency_email_address_description: - type: string + type: + - string + - 'null' description: The text for the link to the agency email address example: Click me to email the agency funding_instruments: - type: array + type: + - array + - 'null' items: enum: - cooperative_agreement @@ -1095,8 +1391,12 @@ components: - other type: - string + - 'null' + - 'null' funding_categories: - type: array + type: + - array + - 'null' items: enum: - recovery_act @@ -1127,8 +1427,12 @@ components: - other type: - string + - 'null' + - 'null' applicant_types: - type: array + type: + - array + - 'null' items: enum: - state_governments @@ -1150,24 +1454,34 @@ components: - unrestricted type: - string + - 'null' + - 'null' Opportunity: type: object properties: opportunity_id: - type: integer + type: + - integer + - 'null' readOnly: true description: The internal ID of the opportunity example: 12345 opportunity_number: - type: string + type: + - string + - 'null' description: The funding opportunity number example: ABC-123-XYZ-001 opportunity_title: - type: string + type: + - string + - 'null' description: The title of the opportunity example: Research into conservation techniques agency: - type: string + type: + - string + - 'null' description: The agency who created the opportunity example: US-ABC category: @@ -1182,22 +1496,32 @@ components: - other type: - string + - 'null' + - 'null' category_explanation: - type: string + type: + - string + - 'null' description: Explanation of the category when the category is 'O' (other) example: null opportunity_assistance_listings: - type: array + type: + - array + - 'null' items: type: - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/OpportunityAssistanceListing' + - type: 'null' summary: type: - object - allOf: + - 'null' + anyOf: - $ref: '#/components/schemas/OpportunitySummary' + - type: 'null' opportunity_status: description: The current status of the opportunity example: !!python/object/apply:src.constants.lookup_constants.OpportunityStatus @@ -1209,12 +1533,18 @@ components: - archived type: - string + - 'null' + - 'null' created_at: - type: string + type: + - string + - 'null' format: date-time readOnly: true updated_at: - type: string + type: + - string + - 'null' format: date-time readOnly: true securitySchemes: