From 83770e4f3c0368ae96bf2cee5544be9ca9be51be Mon Sep 17 00:00:00 2001 From: ritchasharmagsa <139251384+ritchasharmagsa@users.noreply.github.com> Date: Sun, 29 Dec 2024 20:42:52 -0500 Subject: [PATCH 1/3] Create subawardapi.yml --- _apidocs/subawards-bulkupload-api/v1/subawardapi.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 _apidocs/subawards-bulkupload-api/v1/subawardapi.yml diff --git a/_apidocs/subawards-bulkupload-api/v1/subawardapi.yml b/_apidocs/subawards-bulkupload-api/v1/subawardapi.yml new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/_apidocs/subawards-bulkupload-api/v1/subawardapi.yml @@ -0,0 +1 @@ + From 71c173684e6ab5971e8cbeeea815b0cef4570552 Mon Sep 17 00:00:00 2001 From: ritchasharmagsa <139251384+ritchasharmagsa@users.noreply.github.com> Date: Sun, 29 Dec 2024 20:43:15 -0500 Subject: [PATCH 2/3] Update subawardapi.yml --- .../v1/subawardapi.yml | 1159 ++++++++++++++++- 1 file changed, 1158 insertions(+), 1 deletion(-) diff --git a/_apidocs/subawards-bulkupload-api/v1/subawardapi.yml b/_apidocs/subawards-bulkupload-api/v1/subawardapi.yml index 8b1378917..8cba05e0b 100644 --- a/_apidocs/subawards-bulkupload-api/v1/subawardapi.yml +++ b/_apidocs/subawards-bulkupload-api/v1/subawardapi.yml @@ -1 +1,1158 @@ - +openapi: 3.0.1 +info: + title: SAM.gov Subawards Reporting API + description: Swagger documentation for API for reporting on Subawards + license: + name: GSA + version: 0.1.0 +servers: + - url: https://api-alpha.sam.gov/contract/v1/subcontracts + - url: https://api-alpha.sam.gov/assistance/v1/subawards +tags: + - name: Contracts-Bulk-Upload + description: All endpoints for Subcontract Reporting + - name: Assistance-Bulk-Upload + description: All endpoints for Subaward Reporting +paths: + /contract/v1/subcontracts/{subawardReportNumber}: + get: + tags: + - Contracts Bulk Upload + summary: Get existing Subcontract report(s) + description: Get existing Subcontract report(s) + operationId: getContractReportByReportNumberAndStatus + parameters: + - name: Authorization + in: header + required: true + schema: + type: string + - name: api_key + in: query + required: true + schema: + type: string + - name: subawardReportNumber + in: path + required: true + schema: + type: string + - name: status + in: query + required: false + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '400': + description: Bad Request + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '401': + description: Unauthorized + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '403': + description: Forbidden + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '404': + description: Not Found + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '405': + description: Validation exception + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '500': + description: Internal Server Error + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '501': + description: Not Implemented + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + put: + tags: + - Contracts Bulk Upload + summary: Update Subcontract report + description: Update previously submitted Subcontract report + operationId: updateContractsReport + parameters: + - name: Authorization + in: header + required: true + schema: + type: string + - name: api_key + in: query + required: true + schema: + type: string + - name: subawardReportNumber + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateContractRequestObjectDto' + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '400': + description: Bad Request + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '401': + description: Unauthorized + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '403': + description: Forbidden + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '404': + description: Not Found + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '405': + description: Validation exception + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '500': + description: Internal Server Error + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '501': + description: Not Implemented + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + delete: + tags: + - Contracts Bulk Upload + summary: Delete Subcontract report + description: Delete Subcontract report + operationId: deleteContractReport + parameters: + - name: Authorization + in: header + required: true + schema: + type: string + - name: api_key + in: query + required: true + schema: + type: string + - name: subawardReportNumber + in: path + required: true + schema: + type: string + - name: status + in: query + required: false + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '400': + description: Bad Request + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '404': + description: Not Found + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '405': + description: Validation exception + content: + application/json: + schema: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '500': + description: Internal Server Error + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '501': + description: Not Implemented + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + /assistance/v1/subawards/{subawardReportNumber}: + get: + tags: + - Assistance Bulk Upload + summary: Get existing Subaward report(s) + description: Get existing Subaward report(s) + operationId: getGrantReportByReportNumberAndStatus + parameters: + - name: Authorization + in: header + required: true + schema: + type: string + - name: api_key + in: query + required: true + schema: + type: string + - name: subawardReportNumber + in: path + required: true + schema: + type: string + - name: status + in: query + required: false + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '400': + description: Bad Request + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '401': + description: Unauthorized + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '403': + description: Forbidden + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '404': + description: Not Found + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '405': + description: Validation exception + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '500': + description: Internal Server Error + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '501': + description: Not Implemented + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + put: + tags: + - Assistance Bulk Upload + summary: Update Subaward report + description: Update previously submitted Subaward report + operationId: updateGrantsReport + parameters: + - name: Authorization + in: header + required: true + schema: + type: string + - name: api_key + in: query + required: true + schema: + type: string + - name: subawardReportNumber + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateGrantRequestObjectDto' + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '400': + description: Bad Request + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '401': + description: Unauthorized + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '403': + description: Forbidden + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '404': + description: Not Found + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '405': + description: Validation exception + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '500': + description: Internal Server Error + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '501': + description: Not Implemented + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + delete: + tags: + - Assistance Bulk Upload + summary: Delete Subaward report + description: Delete Subaward report + operationId: deleteGrantReport + parameters: + - name: Authorization + in: header + required: true + schema: + type: string + - name: api_key + in: query + required: true + schema: + type: string + - name: subawardReportNumber + in: path + required: true + schema: + type: string + - name: status + in: query + required: false + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '400': + description: Bad Request + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '404': + description: Not Found + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '405': + description: Validation exception + content: + application/json: + schema: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '500': + description: Internal Server Error + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '501': + description: Not Implemented + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + /contract/v1/subcontracts: + get: + tags: + - Contracts Bulk Upload + summary: Get existing Subcontract report(s) + description: Get existing Subcontract report(s) + operationId: getContractReport + parameters: + - name: Authorization + in: header + required: true + schema: + type: string + - name: api_key + in: query + required: true + schema: + type: string + - name: contractNumber + in: query + required: false + schema: + type: string + - name: reportingAgencyCode + in: query + required: false + schema: + type: string + - name: idvReferenceNumber + in: query + required: false + schema: + type: string + - name: referenceAgencyCode + in: query + required: false + schema: + type: string + - name: subawardReportNumber + in: query + required: false + schema: + type: string + - name: reportStatus + in: query + required: false + schema: + type: string + - name: subawardNumber + in: query + required: false + schema: + type: string + - name: page + in: query + required: false + schema: + type: integer + format: int32 + default: 0 + - name: size + in: query + required: false + schema: + type: integer + format: int32 + default: 10 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + '400': + description: Bad Request + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '401': + description: Unauthorized + content: + application/json: + schema: + type: object + '403': + description: Forbidden + content: + application/json: + schema: + type: object + '404': + description: Not Found + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '405': + description: Validation exception + content: + application/json: + schema: + type: object + '500': + description: Internal Server Error + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '501': + description: Not Implemented + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + post: + tags: + - Contracts Bulk Upload + summary: Submit Subcontract report + description: Submit one or multiple SubContract report for Contracts + operationId: saveContractsReport + parameters: + - name: Authorization + in: header + required: true + schema: + type: string + - name: api_key + in: query + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateContractRequestObjectDto' + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '400': + description: Bad Request + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '401': + description: Unauthorized + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '403': + description: Forbidden + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '404': + description: Not Found + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '405': + description: Validation exception + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '500': + description: Internal Server Error + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '501': + description: Not Implemented + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + /assistance/v1/subawards: + get: + tags: + - Assistance Bulk Upload + summary: Get existing Subaward report(s) + description: Get existing Subaward report(s) + operationId: getGrantReport + parameters: + - name: Authorization + in: header + required: true + schema: + type: string + - name: api_key + in: query + required: true + schema: + type: string + - name: FAIN + in: query + required: false + schema: + type: string + - name: agencyCode + in: query + required: false + schema: + type: string + - name: subawardReportNumber + in: query + required: false + schema: + type: string + - name: reportStatus + in: query + required: false + schema: + type: string + - name: subawardNumber + in: query + required: false + schema: + type: string + - name: page + in: query + required: false + schema: + type: integer + format: int32 + default: 0 + - name: size + in: query + required: false + schema: + type: integer + format: int32 + default: 10 + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + '400': + description: Bad Request + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '401': + description: Unauthorized + content: + application/json: + schema: + type: object + '403': + description: Forbidden + content: + application/json: + schema: + type: object + '404': + description: Not Found + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '405': + description: Validation exception + content: + application/json: + schema: + type: object + '500': + description: Internal Server Error + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '501': + description: Not Implemented + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + post: + tags: + - Assistance Bulk Upload + summary: Submit Subaward report + description: Submit one or multiple Subaward report for Assistance awards + operationId: saveGrantReport + parameters: + - name: Authorization + in: header + required: true + schema: + type: string + - name: api_key + in: query + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateGrantRequestObjectDto' + required: true + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '400': + description: Bad Request + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '401': + description: Unauthorized + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '403': + description: Forbidden + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '404': + description: Not Found + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '405': + description: Validation exception + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '500': + description: Internal Server Error + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' + '501': + description: Not Implemented + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/SubawardsAPIResponseDto' +components: + schemas: + SubawardsAPIResponseDto: + type: object + properties: + id: + type: string + statusCode: + type: string + transactionId: + type: string + timeStamp: + type: string + subawardReportNumber: + type: string + reportStatus: + type: string + message: + type: object + errors: + uniqueItems: true + type: array + items: + type: string + Address: + type: object + properties: + street_address: + type: string + street_address2: + type: string + city: + type: string + country: + $ref: '#/components/schemas/Country' + stateOrProvince: + $ref: '#/components/schemas/StateOrProvince' + zipPlus4: + type: string + congressional_district: + type: string + zip: + type: string + Country: + type: object + properties: + code: + type: string + name: + type: string + RecoveryModelQuestions: + type: object + properties: + code: + type: string + isSelected: + type: string + enum: + - 'true' + - 'false' + - '' + StateOrProvince: + type: object + properties: + code: + type: string + name: + type: string + SubawardData: + type: object + properties: + subawardReportNumber: + type: string + submittedDate: + type: string + entityStatus: + type: string + subawardUEI: + type: string + subawardNumber: + type: string + subawardAmount: + type: string + subawardDate: + type: string + subawardDescription: + type: string + placeOfPerformance: + $ref: '#/components/schemas/Address' + recoveryModelQuestions: + type: array + items: + $ref: '#/components/schemas/RecoveryModelQuestions' + topPayEmployees: + type: array + items: + $ref: '#/components/schemas/TopPayEmployees' + TopPayEmployees: + type: object + properties: + full_name: + type: string + salary: + type: string + UpdateContractContractData: + type: object + properties: + contractNumber: + type: string + reportingAgencyCode: + type: string + idvReferenceNumber: + type: string + referenceAgencyCode: + type: string + programTitle: + type: string + reportStatus: + type: string + subawardData: + $ref: '#/components/schemas/SubawardData' + UpdateContractRequestObjectDto: + type: object + properties: + contractData: + $ref: '#/components/schemas/UpdateContractContractData' + UpdateGrantGrantData: + type: object + properties: + fain: + type: string + agencyCode: + type: string + reportStatus: + type: string + subawardData: + $ref: '#/components/schemas/SubawardData' + UpdateGrantRequestObjectDto: + type: object + properties: + assistanceData: + $ref: '#/components/schemas/UpdateGrantGrantData' + CreateContractContractData: + type: object + properties: + contractNumber: + type: string + reportingAgencyCode: + type: string + idvReferenceNumber: + type: string + referenceAgencyCode: + type: string + programTitle: + type: string + reportStatus: + type: string + subawardDataList: + type: array + items: + $ref: '#/components/schemas/SubawardData' + CreateContractRequestObjectDto: + type: object + properties: + contractData: + type: array + items: + $ref: '#/components/schemas/CreateContractContractData' + CreateGrantGrantData: + type: object + properties: + fain: + type: string + agencyCode: + type: string + reportStatus: + type: string + subawardDataList: + type: array + items: + $ref: '#/components/schemas/SubawardData' + CreateGrantRequestObjectDto: + type: object + properties: + assistanceData: + type: array + items: + $ref: '#/components/schemas/CreateGrantGrantData' From c27e3a154cefcb9c002b67b858dd6219a7f443e6 Mon Sep 17 00:00:00 2001 From: ritchasharmagsa <139251384+ritchasharmagsa@users.noreply.github.com> Date: Sun, 29 Dec 2024 20:45:08 -0500 Subject: [PATCH 3/3] Create subawards-bulkupload-api.md --- _apidocs/subawards-bulkupload-api.md | 2186 ++++++++++++++++++++++++++ 1 file changed, 2186 insertions(+) create mode 100644 _apidocs/subawards-bulkupload-api.md diff --git a/_apidocs/subawards-bulkupload-api.md b/_apidocs/subawards-bulkupload-api.md new file mode 100644 index 000000000..29e997ced --- /dev/null +++ b/_apidocs/subawards-bulkupload-api.md @@ -0,0 +1,2186 @@ +--- +title: SAM.gov Subaward reporting Bulk Upload API +banner-heading: SAM.gov Subaward reporting Bulk Upload API +--- + +## Overview + +This documentation provides information for publishing subcontract and subaward reports to SAM.gov. +Only the SAM.gov test environment - alpha.SAM.gov - is available to test subcontract and subaward report uploads. The production Subaward Reporting Bulk Upload API has a target launch date of Spring 2025. + +**Tips and Key Features of the Subaward Reporting Bulk Upload API** +* You must have a SAM.gov system account with reporting permissions and a system account API key to use this API to report subcontracts and subawards. +* You can use the same system account for an entity and any of its child entities. You do not need separate system accounts for each child entity. +* You need separate system accounts to bulk report for entities not in the same hierarchy. +* API requests must use a REST API connection type. +* API requests must come from the IP address(es) listed on your system account application. + +## Getting Started + +Access the Subaward Reporting Bulk Upload API from the following Production or Alpha environments: + +**Production** +* Target availability in Spring 2025 + +**Alpha** +* https://api-alpha.SAM.gov/prodlike + +### Authentication, Authorization and API Keys + +#### Get a System Account +A system account enables you to use this API to publish multiple subcontract or subaward reports to SAM.gov at once using software or web services. Follow these steps to get a system account with subaward reporting permissions: +1. Get an entity reporting Data Entry or Administrator role with subaward permissions enabled on your SAM.gov user account. If you do not have the entity reporting role, request it from your Entity Administrator. +2. Request the Non-Federal System Administrator role from the Federal Service Desk. + * Go to FSD.gov and sign in with your login.gov username and password. + * Submit a helpdesk ticket by selecting **Create an Incident** and completing the form. Select **SAM (System for Award Management)** under System Name. Select **Other** under Issue Type and enter a subject in the next field. + * In the **Please describe the issue below** field, say that you want the **Non-Federal System Administrator** role. Include your entity name and Unique Entity ID. +3. Once you have the Non-Federal System Administrator role, sign in to SAM.gov. Locate the System Account section in your Workspace and select the section title. +4. Select the **New Account** button. Enter the required information and submit the application. + +The General Services Administration reviews system account applications. You will be notified by email when an application is approved or rejected. + +If you apply for a system account without receiving the Non-Federal System Administrator role from the Federal Service Desk, you can still use a system account to pull other types of SAM.gov data by API, but you will not have the permissions required to publish subcontract or subaward reports to SAM.gov. + +#### Get a System Account API Key +We require a system account API key to use this API. Once your system account is approved, get an API key from the System Account Workspace. When your system account is new, you must set up a system account password before generating your API key. Once your password is set up, you must enter it to get your API key. + +API keys are valid for 90 days. New keys are automatically generated 15 days before the key expires. New and current keys are active and valid during the 15-day period until the current key expires on the 90th day. + +If using the Alpha environment API, get your API key from your alpha.SAM.gov System Account Workspace. Get a Production environment API key from your SAM.gov System Account Workspace. + +#### API Key Rate Limits +We limit call rates by day and account type. + +| Type of Account | Type of API Key | API Daily Rate Limit | +| ---------------------------------- | ----------------- | ----------------- | +| Non-federal user with no role to an entity in SAM.gov | Personal API key | 10 requests/day | +| Non-federal user with a role to an entity in SAM.gov | Personal API key | 1,000 requests/day | +| Non-federal system account user | System account API key | 1,000 requests/day | + +
+ +## API Description + +### Subcontract and Subaward Reports Executive Compensation Questions + +SAM.gov requires responses to subcontractor and subrecipient executive compensation questions to submit subcontract and subaward reports. If your subcontractor or subrecipient does not have responses to these questions on their SAM.gov entity record, you must provide responses in your request. The tables below outline the questions and corresponding codes for your requests. + +#### Subcontractor Questions + +| | Code | Description | +| ----------------- | ----------------- | --------------------------------------------- | +| Subcontractor Question 1| __1__ | As provided to you by your subcontractor, in your subcontractor’s business or organization's preceding completed fiscal year, did its business or organization (the legal entity to which the Unique Entity ID it provided belongs) receive $25,000,000 or more in annual gross revenues from Federal contracts (and subcontracts), loans, grants (and subgrants), cooperative agreements, and other forms of Federal financial assistance? | +| Subcontractor Question 2| __2__ | As provided to you by your subcontractor, in your subcontractor’s business or organization's preceding completed fiscal year, did its business or organization (the legal entity to which the Unique Entity ID it provided belongs) receive 80 percent or more of its annual gross revenues from Federal contracts (and subcontracts), loans, grants (and subgrants), cooperative agreements, and other forms of Federal financial assistance?| +| Subcontractor Question 3| __3__ | As provided to you by your subcontractor, does the public have access to information about the compensation of the executives in the subcontractor's business or organization (the legal entity to which the Unique Entity ID (SAM) it provided belongs) through periodic reports filed under section 13(a) or 15(d) of the Securities Exchange Act of 1934 (15 U.S.C. 78m(a), 78o(d)) or section 6104 of the Internal Revenue Code of 1986?| + +#### Subrecipient Questions + +| | Code | Description | +| ----------------- | ----------------- | --------------------------------------------- | +| Subrecipient Question 1| __1__ | As provided to you by your subrecipient, in your subrecipient’s business or organization's preceding completed fiscal year, did its business or organization (the legal entity to which the Unique Entity ID it provided belongs) receive $25,000,000 or more in annual gross revenue from Federal procurement contracts (and subcontracts) and Federal awards (and subawards) subject to the Transparency Act, as defined at § 170.300? | +| Subrecipient Question 2| __2__ | As provided to you by your subrecipient, in your subrecipient’s business or organization's preceding completed fiscal year, did its business or organization (the legal entity to which the Unique Entity ID it provided belongs) receive 80 percent or more of its annual gross revenue in Federal procurement contracts (and subcontracts) and Federal awards (and subawards) subject to the Transparency Act, as defined at § 170.300?| +| Subrecipient Question 3| __3__ | As provided to you by your subrecipient, does the public have access to information about the compensation of the executives in the subrecipient’s business or organization (the legal entity to which the Unique Entity ID (SAM) it provided belongs) through periodic reports filed under section 13(a) or 15(d) of the Securities Exchange Act of 1934 (15 U.S.C. 78m(a), 78o(d)) or section 6104 of the Internal Revenue Code of 1986?| + + + +### Report Status + +The table below lists subcontract and subaward report statuses. + +Code | Value | Description +-----|-----------------|----------------- +1 | Draft | A report has been started and saved but has not been published and requires additional information or updates to be published. +2 | Published | A report has all required information and is successfully published. +3 | Reopened | When you update a published report, we create a reopened version. SAM.gov keeps the published version public until you publish the updates. +4 | Deleted | A report has been deleted. Deleted reports are not publicly available. + + + +## GENC Standards +SAM.gov uses the [Geopolitical Entities, Names, and Codes (GENC) standards](https://geonames.nga.mil/geonames/GeographicNamesSearch/), which provide country and administrative area codes recognized by the U.S. government. Please refer to the [Error Messages](#validation-failure-error-messages) section for specific details for these errors. + +### API Fields + +Field Name | Data Source | Valid Statuses | Input Type +---------------|------------|----------|------------ +Country Code | Country_Code MUST come from https://geonames.nga.mil/geonames/GNSHome/index.html and only allowed sources | Active, Inactive (GET calls Only) | Three (3) characters +Country Name | fullName MUST come from https://geonames.nga.mil/geonames/GNSHome/index.html and only allowed sources | | TEXT +State | State MUST come from https://geonames.nga.mil/geonames/GNSHome/index.html and only allowed sources | Listed from the selected country | Two (2) characters + + + +## Version Control + +All API v1 versions use the API Key mechanism outlined in this documentation. + +## SAM.gov Subaward reporting Bulk Upload API Request and Responses + +### Subcontract API Endpoints + +Endpoint Name | Description | +-----|----------------- +Submit subcontract report | Used to submit subcontract reports for reporting on one or more contracts. +Update subcontract report | Used to update a previously published subcontract report for a contract. +Delete subcontract report | Used to delete a subcontract report for a contract. +Get subcontract report | Used to get details for a subcontract report for a contract. +Search subcontract report | Used to get subcontract reports for contracts based on optional search criteria. + +### Subaward API Endpoints + +Endpoint Name | Description | +-----|----------------- +Submit subaward report | Used to submit subaward reports for reporting on one or more assistance awards. +Update subaward report | Used to update a previously published subaward report for an assistance award. +Delete subaward report | Used to delete subaward reports for an assistance award. +Get subaward report | Used to get details for a subaward report for an assistance award. +Search subaward report | Used to get subaward reports for assistance awards based on optional search criteria. + +The following section describes each of the above endpoints in detail. + +### Submit Subcontract report + +------- | ------- | +**Request Type** | POST +**URL** | /contract/v1/subcontracts/ +**Summary** | You can publish one or more subcontract reports using this endpoint +**Consumes** | application/JSON +**Produces** | Refer [Response JSON](#response-json) +**Active Versions** | v1 + +#### Request Parameters + +Parameter Name | Parameter Type | Data Type | Required | Description +---------------|----------------|------------|----------|------------ +Authorization | header | string | Yes | Valid and authorized SAM.gov user email ID +Content-Type | header | string | Yes | application/json +api_key | query | string | Yes | Valid System Account API Key +Request JSON | Body | JSON | Yes | [Refer Submit Subcontract report Contract JSON](#submit-subcontract-report-contract-json) + +#### Responses + +The following section describes HTTP status codes and the response type. + +HTTP Status Code | Response Type | Description +-----------------|---------------|------------ +201 Created | string | At least one subcontract report was created +401 Unauthorized | string | Authentication failed or was not provided +403 Forbidden | string | Authenticated, but do not have appropriate permissions +400 Bad Request | string | Malformed request or invalid data +500 Internal Server Error | string | Unexpected error occurred during processing + +Go to the [General Error Messages](#general-error-messages) section for details on the status code error message. The overall status code 201 displays if at least one subcontract report is processed successfully, even if some subcontract reports fail to process. + +The API handles subcontract report requests as follows: +* If a subcontract report request passes all validations as specified in the [Validation Failure Error Messages](#validation-failure-error-messages) section, the report is saved in the **Published** status. +* If any validations fail, the report is saved in **Draft** status, and validation error messages are sent back as a part of the response body. + +The overall response is a JSON array containing the status of each subcontract report in the request. Each subcontract report created is assigned a unique Id **subawardReportNumber** that is sent back as a part of the response. The **subawardReportNumber** is used to make any update, delete or get calls. See the [Response JSON](#response-json) section for the response structure and specific examples. + +#### Examples + +
+
+
+{
+ "contractData":[
+ {
+ "contractNumber":"W9123823PTEST",
+ "reportingAgencyCode":"2100",
+ "idvReferenceNumber":"GSTEST001",
+ "referenceAgencyCode":"2147",
+ "programTitle":"Title of the program",
+ "subawardDataList":[
+ {
+ "subawardUEI":"ABC987654321",
+ "subawardNumber":"2303-TEST-05-0",
+ "subawardAmount":"100567.99",
+ "subawardDate":"2023-05-14",
+ "subawardDescription":"test Description",
+ "placeOfPerformance":{
+ "city":"Alexandria",
+ "country":{
+ "code":"USA",
+ "name":"UNITED STATES"
+ },
+ "stateOrProvince":{
+ "code":"VA",
+ "name":"Virginia"
+ },
+ "zipPlus4":"123456789"
+ },
+ "recoveryModelQuestions":[
+ {
+ "code":"1",
+ "isSelected":"true"
+ },
+ {
+ "code":"2",
+ "isSelected":"false"
+ },
+ {
+ "code":"3",
+ "isSelected":"false"
+ }
+ ],
+ "topPayEmployees":[
+ {
+ "fullName":"John White",
+ "salary":"100000"
+ },
+ {
+ "fullName":"Employee Green",
+ "salary":"120000"
+ },
+ {
+ "fullName":"Employee Red",
+ "salary":"96000"
+ },
+ {
+ "fullName":"Employee Orange",
+ "salary":"250000"
+ },
+ {
+ "fullName":"Employee Blue",
+ "salary":"290000"
+ }
+ ]
+ },
+ {
+ "subawardUEI":"XYZ987654321",
+ "subawardNumber":"2303-TEST-06-1",
+ "subawardAmount":"80000",
+ "subawardDate":"2023-05-14",
+ "subawardDescription":"test Description2",
+ "placeOfPerformance":{
+ "city":"Brambleton",
+ "country":{
+ "code":"USA",
+ "name":"UNITED STATES"
+ },
+ "stateOrProvince":{
+ "code":"VA",
+ "name":"Virginia"
+ },
+ "zipPlus4":"678901234"
+ },
+ "recoveryModelQuestions":[
+ {
+ "code":"1",
+ "isSelected":"true"
+ },
+ {
+ "code":"2",
+ "isSelected":"true"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "contractNumber":"W9123823PTESTCHILD",
+ "reportingAgencyCode":"9700",
+ "programTitle":"Title of the program",
+ "subawardDataList":[
+ {
+ "subawardUEI":"ABC999999999",
+ "subawardNumber":"9999-TEST",
+ "subawardAmount":"80000",
+ "subawardDate":"2023-04-28",
+ "subawardDescription":"test Description3",
+ "placeOfPerformance":{
+ "city":"Atlanta",
+ "country":{
+ "code":"USA",
+ "name":"UNITED STATES"
+ },
+ "stateOrProvince":{
+ "code":"GA",
+ "name":"Georgia"
+ },
+ "zipPlus4":"12345"
+ },
+ "recoveryModelQuestions":[
+ {
+ "code":"1",
+ "isSelected":"false"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
+
+
+
+{
+ "contractData":[
+ {
+ "contractNumber":"W9123823PTEST",
+ "reportingAgencyCode":"2100",
+ "idvReferenceNumber":"GSTEST001",
+ "referenceAgencyCode":"2147",
+ "programTitle":"Title of the program",
+ "subawardDataList":[
+ {
+ "subawardUEI":"ABC987654321",
+ "placeOfPerformance":{
+ "city":"Alexandria",
+ "country":{
+ "code":"USA",
+ "name":"UNITED STATES"
+ },
+ "stateOrProvince":{
+ "code":"VA",
+ "name":"Virginia"
+ },
+ "zipPlus4":"12345"
+ }
+ }
+ ]
+ }
+ ]
+}
+
+
+
+{
+ "assistanceData": [
+ {
+ "fain": "1001KS1420",
+ "agencyCode": "9999",
+ "subawardDataList": [
+ {
+ "subawardNumber": "XX-YY-00008",
+ "uei": "ABC123456789",
+ "subawardAmount": "100000",
+ "subawardDate": "2010-10-01",
+ "subawardDescription": "My Description",
+ "placeOfPerformance": {
+ "city": "Alexandria",
+ "country": {
+ "code": "USA",
+ "name": "UNITED STATES"
+ },
+ "stateOrProvince": {
+ "code": "VA",
+ "name": "Virginia"
+ },
+ "zipPlus4": "123456789"
+ },
+ "recoveryModelQuestions": [
+ {
+ "code": "3",
+ "isSelected": "true"
+ },
+ {
+ "code": "4",
+ "isSelected": "false"
+ }
+ ],
+ "topPayEmployees": [
+ {
+ "fullName": "John White",
+ "salary": "100000"
+ },
+ {
+ "fullName": "Employee Green",
+ "salary": "120000"
+ },
+ {
+ "fullName": "Employee Red",
+ "salary": "96000"
+ },
+ {
+ "fullName": "Employee Orange",
+ "salary": "250000"
+ },
+ {
+ "fullName": "Employee Blue",
+ "salary": "290000"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "fain": "1001ZZZ420",
+ "subawardDataList": [
+ {
+ "subawardNumber": "XX-YY-12345",
+ "uei": "zzz123456789",
+ "subawardAmount": "150000",
+ "subawardDate": "2023-04-17",
+ "subawardDescription": "My Description",
+ "placeOfPerformance": {
+ "city": "Atlanta",
+ "country": {
+ "code": "USA",
+ "name": "UNITED STATES"
+ },
+ "stateOrProvince": {
+ "code": "GA",
+ "name": "Georgia"
+ },
+ "zipPlus4": "123456789"
+ },
+ "recoveryModelQuestions": [
+ {
+ "code": "3",
+ "isSelected": "false"
+ }
+ ]
+ },
+ {
+ "subawardNumber": "AA-YY-12345",
+ "uei": "XYZ123456789",
+ "subawardAmount": "150055",
+ "subawardDate": "2023-04-17",
+ "subawardDescription": "My Description",
+ "placeOfPerformance": {
+ "city": "Brambleton",
+ "country": {
+ "code": "USA",
+ "name": "UNITED STATES"
+ },
+ "stateOrProvince": {
+ "code": "VA",
+ "name": "Virginia"
+ },
+ "zipPlus4": "678901234"
+ },
+ "recoveryModelQuestions": [
+ {
+ "code": "3",
+ "isSelected": "true"
+ },
+ {
+ "code": "4",
+ "isSelected": "true"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
+
+
+
+{
+ "assistanceData": [
+ {
+ "fain": "1001ZZZ420",
+ "subawardDataList": [
+ {
+ "subawardNumber": "",
+ "uei": "zzz123456789",
+ "subawardAmount": "",
+ "subawardDate": "",
+ "subawardDescription": "",
+ "placeOfPerformance": {
+ "city": "Atlanta",
+ "country": {
+ "code": "USA",
+ "name": "UNITED STATES"
+ },
+ "stateOrProvince": {
+ "code": "GA",
+ "name": "Georgia"
+ },
+ "zipPlus4": "123456789"
+ }
+ }
+ ]
+ }
+ ]
+}
+
+
+
+{
+ "contractData":{
+ "contractNumber":"W9123823PTEST",
+ "reportingAgencyCode":"2100",
+ "idvReferenceNumber":"GSTEST001",
+ "referenceAgencyCode":"2147",
+ "programTitle":"Title of the program",
+ "subawardData":{
+ "subawardUEI":"ABC987654321",
+ "subawardNumber":"2303-TEST-05-0",
+ "subawardAmount":"100567.99",
+ "subawardDate":"2023-05-14",
+ "subawardDescription":"test Description",
+ "placeOfPerformance":{
+ "city":"Alexandria",
+ "country":{
+ "code":"USA",
+ "name":"UNITED STATES"
+ },
+ "stateOrProvince":{
+ "code":"VA",
+ "name":"Virginia"
+ },
+ "zipPlus4":"123456789"
+ },
+ "recoveryModelQuestions":[
+ {
+ "code":"1",
+ "isSelected":"true"
+ },
+ {
+ "code":"2",
+ "isSelected":"false"
+ }
+ ],
+ "topPayEmployees":[
+ {
+ "fullName":"John White",
+ "salary":"100000"
+ },
+ {
+ "fullName":"Employee Green",
+ "salary":"120000"
+ },
+ {
+ "fullName":"Employee Red",
+ "salary":"96000"
+ },
+ {
+ "fullName":"Employee Orange",
+ "salary":"250000"
+ },
+ {
+ "fullName":"Employee Blue",
+ "salary":"290000"
+ }
+ ]
+ }
+ }
+}
+
+
+
+{
+ "contractData":{
+ "contractNumber":"W9123823PTEST",
+ "reportingAgencyCode":"2100",
+ "idvReferenceNumber":"GSTEST001",
+ "referenceAgencyCode":"2147",
+ "programTitle":"Title of the program",
+ "subawardDataList":{
+ "subawardUEI":"ABC987654321",
+ "subawardNumber":"",
+ "subawardAmount":"",
+ "subawardDate":"",
+ "subawardDescription":"",
+ "placeOfPerformance":{
+ "city":"Alexandria",
+ "country":{
+ "code":"USA",
+ "name":"UNITED STATES"
+ },
+ "stateOrProvince":{
+ "code":"VA",
+ "name":"Virginia"
+ },
+ "zipPlus4":"123456789"
+ }
+ }
+ }
+}
+
+
+
+{
+ "assistanceData":{
+ "fain":"1001KS1420",
+ "subawardData":{
+ "subawardReportNumber":"51e2fad8-7b43-4b62-a870-45b3f250ea99",
+ "subawardNumber":"XX-YY-00008",
+ "uei":"ABC123456789",
+ "subawardAmount":"100000",
+ "subawardDate":"2010-10-01",
+ "subawardDescription":"My Description",
+ "placeOfPerformance":{
+ "city":"Alexandria",
+ "country":{
+ "code":"USA",
+ "name":"UNITED STATES"
+ },
+ "stateOrProvince":{
+ "code":"VA",
+ "name":"Virginia"
+ },
+ "zipPlus4":"123456789"
+ },
+ "recoveryModelQuestions":[
+ {
+ "code":"3",
+ "isSelected":"true"
+ },
+ {
+ "code":"4",
+ "isSelected":"false"
+ }
+ ],
+ "topPayEmployees":[
+ {
+ "fullName":"John White",
+ "salary":"100000"
+ },
+ {
+ "fullName":"Employee Green",
+ "salary":"120000"
+ },
+ {
+ "fullName":"Employee Red",
+ "salary":"96000"
+ },
+ {
+ "fullName":"Employee Orange",
+ "salary":"250000"
+ },
+ {
+ "fullName":"Employee Blue",
+ "salary":"290000"
+ }
+ ]
+ }
+ }
+}
+
+
+
+{
+ "assistanceData":{
+ "fain":"1001ZZZ420",
+ "subawardDataList":{
+ "subawardReportNumber":"45b3f2d8-7b43-4b62-a870-45b3f250b435",
+ "subawardNumber":"",
+ "uei":"zzz123456789",
+ "subawardAmount":"",
+ "subawardDate":"",
+ "subawardDescription":"",
+ "placeOfPerformance":{
+ "city":"Atlanta",
+ "country":{
+ "code":"USA",
+ "name":"UNITED STATES"
+ },
+ "stateOrProvince":{
+ "code":"GA",
+ "name":"Georgia"
+ },
+ "zipPlus4":"123456789"
+ }
+ }
+ }
+}
+
+Provide the status (Draft, Published or Reopened as a Query Param) in the request. +
++Do not provide any status in the request. +
++Provide the status (Draft, Published or Reopened as a Query Param) in the request. +
++Do not provide any status in the request. +
++Provide the status (Draft, Published or Reopened as a Query Param) in the request. +
++Do not provide any status in the request. +
++Provide the status (Draft, Published or Reopened as a Query Param) in the request. +
++Do not provide any status in the request. +
++Provide subawardReportNumber and reportStatus (Draft, Published or Reopened) as query Params in the request. +
++Provide reportStatus as 'Published' as a query Param in the request. +
++Provide contractNumber query Param in the request. +
+
+
+
+By default, the page is set as '0' (first page), and size is set as '10' (10 records per page). The response returns the totalPages along with the totalElements. To get results from a specific page, provide the page number (0,1,2 ...) as a part of the page query param.
+
+
+
+By default, the page is set as '0' (first page), and size is set as '10' (10 records per page). To get a specific number of elements on a page, set the size element as a query param.
+
+Provide subawardReportNumber and reportStatus (Draft, Published or Reopened) as query Params in the request. +
++Provide reportStatus as 'Published' as a query Param in the reques +
++Provide fain query Param in the request. +
+
+
+
+By default, the page is set as '0' (first page), and size is set as '10' (10 records per page). The response returns the totalPages along with the totalElements. To get results from a specific page, provide the page number (0,1,2 ...) as a part of the page query param.
+
+
+
+By default, the page is set as '0' (first page), and size is set as '10' (10 records per page). To get a specific number of elements on a page, set the size element as a query param.
+
+
+
+[
+ {
+ "id": "contractNumber:reportingAgency:idvRefrenceNumber:referenceAgencyCode:subawardNumber:subawardDate:subawardAmount:submittedDate",
+ "statusCode": "201",
+ "transactionId": "48e2fad8-7b43-4b62-a870-45b3f250ea72",
+ "timeStamp": "2024-02-20T19:51:24.915924",
+ "subawardReportNumber": "51e2fad8-7b43-4b62-a870-45b3f250ea99",
+ "reportStatus": "Published",
+ "message": "Report was successfully saved.",
+ "errors": []
+ },
+ {
+ "id": "contractNumber:reportingAgency:idvRefrenceNumber:referenceAgencyCode:subawardNumber:subawardDate:subawardAmount:submittedDate",
+ "statusCode": "201",
+ "transactionId": "48e2fad8-7b43-4b62-a870-45b3f250ea72",
+ "timeStamp": "2024-02-20T19:51:24.915968",
+ "subawardReportNumber": "51e2fad8-9b43-4b62-a870-45b3f250ea14",
+ "reportStatus": "Draft",
+ "message": "Report was saved but failed some validations. Please fix the errors and submit an update request.",
+ "errors": [
+ "Subaward Amount is required",
+ "Sub award Place of Performance Section - City provided is invalid."
+ ]
+ },
+ {
+ "id": "contractNumber:reportingAgency:idvRefrenceNumber:referenceAgencyCode:subawardNumber:subawardDate:subawardAmount:submittedDate",
+ "statusCode": "400",
+ "transactionId": "48e2fad8-7b43-4b62-a870-45b3f250ea72",
+ "timeStamp": "2024-02-20T19:51:24.915972",
+ "subawardReportNumber": "",
+ "reportStatus": "Not Saved",
+ "message": "Could not save the report. Please fix the errors and submit again.",
+ "errors": [
+ "Sub contractor UNIQUE ENTITY ID # is required"
+ ]
+ }
+]
+
+
+
+{
+ {
+ "id": "contractNumber:reportingAgency:idvRefrenceNumber:referenceAgencyCode:subawardNumber:subawardDate:subawardAmount:submittedDate",
+ "statusCode": "201",
+ "transactionId": "48e2fad8-7b43-4b62-a870-45b3f250ea72",
+ "timeStamp": "2024-02-20T19:51:24.915924",
+ "subawardReportNumber": "51e2fad8-7b43-4b62-a870-45b3f250ea99",
+ "reportStatus": "Published",
+ "message": "Report was successfully saved.",
+ "errors": []
+ }
+}
+
+
+
+{
+ {
+ "id": "contractNumber:reportingAgency:idvRefrenceNumber:referenceAgencyCode:subawardNumber:subawardDate:subawardAmount:submittedDate",
+ "statusCode": "201",
+ "transactionId": "48e2fad8-7b43-4b62-a870-45b3f250ea72",
+ "timeStamp": "2024-02-20T19:51:24.915968",
+ "subawardReportNumber": "51e2fad8-9b43-4b62-a870-45b3f250ea14",
+ "reportStatus": "Draft",
+ "message": "Report was saved but failed some validations. Please fix the errors and submit an update request.",
+ "errors": [
+ "Subaward Amount is required",
+ "Sub award Place of Performance Section - City provided is invalid."
+ ]
+ }
+}
+
+
+
+[
+ {
+ "id": "contractNumber:reportingAgency:idvRefrenceNumber:referenceAgencyCode:subawardNumber:subawardDate:subawardAmount:submittedDate",
+ "statusCode": "204",
+ "transactionId": "48e2fad8-7b43-4b62-a870-45b3f250ea72",
+ "timeStamp": "2024-02-20T19:51:24.915924",
+ "subawardReportNumber": "51e2fad8-7b43-4b62-a870-45b3f250ea99",
+ "reportStatus": "Published",
+ "message": "Report was successfully deleted.",
+ "errors": []
+ },
+ {
+ "id": "contractNumber:reportingAgency:idvRefrenceNumber:referenceAgencyCode:subawardNumber:subawardDate:subawardAmount:submittedDate",
+ "statusCode": "204",
+ "transactionId": "48e2fad8-7b43-4b62-a870-45b3f250ea72",
+ "timeStamp": "2024-02-20T19:51:24.915924",
+ "subawardReportNumber": "51e2fad8-7b43-4b62-a870-45b3f250ea99",
+ "reportStatus": "Reopened",
+ "message": "Report was successfully deleted.",
+ "errors": []
+ }
+]
+
+
+
+{
+ {
+ "id": "",
+ "statusCode": "400",
+ "transactionId": null,
+ "timeStamp": "2024-02-25T16:58:09.183947300",
+ "message": "The report could not be deleted. Please fix the errors and submit the delete request again.",
+ "errors": [
+ "Please provide a valid value for the report status. It can be Draft, Published, Reopened or left blank."
+ ]
+ }
+}
+
+
+
+{
+ "responseList":[
+ {
+ "id":"contractNumber:reportingAgency:idvRefrenceNumber:referenceAgencyCode:subawardNumber:subawardDate:subawardAmount:submittedDate",
+ "statusCode":"200",
+ "transactionId":"48e2fad8-7b43-4b62-a870-45b3f250ea72",
+ "timeStamp":"2024-02-20T19:51:24.915924",
+ "reportStatus":"Published",
+ "message":{
+ "contractData":[
+ {
+ "contractNumber":"string",
+ "reportingAgencyCode":"string",
+ "idvReferenceNumber":"string",
+ "referenceAgencyCode":"string",
+ "programTitle":"string",
+ "subawardDataList":[
+ {
+ "subawardReportNumber":"51e2fad8-7b43-4b62-a870-45b3f250ea99",
+ "submittedDate":"2024-02-12",
+ "subawardUEI":"string",
+ "subawardNumber":"string",
+ "subawardAmount":"string",
+ "subawardDate":"string",
+ "subawardDescription":"string",
+ "placeOfPerformance":{
+ "city":"string",
+ "country":{
+ "code":"string",
+ "name":"string"
+ },
+ "stateOrProvince":{
+ "code":"string",
+ "name":"string"
+ },
+ "zip":"string",
+ "congressional_district":"string"
+ },
+ "recoveryModelQuestions":[
+ {
+ "code":"1",
+ "isSelected":true
+ },
+ {
+ "code":"2",
+ "isSelected":false
+ }
+ ],
+ "topPayEmployees":[
+ {
+ "fullName":"sub1",
+ "salary":"100"
+ },
+ {
+ "fullName":"sub2",
+ "salary":"200"
+ },
+ {
+ "fullName":"sub3",
+ "salary":"300"
+ },
+ {
+ "fullName":"sub4",
+ "salary":"400"
+ },
+ {
+ "fullName":"sub5",
+ "salary":"500"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "errors":[
+
+ ]
+ },
+ {
+ "id":"contractNumber:reportingAgency:idvRefrenceNumber:referenceAgencyCode:subawardNumber:subawardDate:subawardAmount:submittedDate",
+ "statusCode":"200",
+ "transactionId":"58e2fad8-7b43-4b62-a870-45b3f250ea72",
+ "timeStamp":"2024-02-20T19:51:24.915924",
+ "subawardReportNumber":"71e2fad8-7b43-4b62-a870-45b3f250ea98",
+ "reportStatus":"Published",
+ "message":{
+ "contractData":[
+ {
+ "contractNumber":"string",
+ "reportingAgencyCode":"string",
+ "idvReferenceNumber":"string",
+ "referenceAgencyCode":"string",
+ "programTitle":"string",
+ "subawardDataList":[
+ {
+ "subawardReportNumber":"71e2fad8-7b43-4b62-a870-45b3f250ea98",
+ "submittedDate":"2024-02-12",
+ "subawardUEI":"string",
+ "subawardNumber":"string",
+ "subawardAmount":"string",
+ "subawardDate":"string",
+ "subawardDescription":"string",
+ "placeOfPerformance":{
+ "city":"string",
+ "country":{
+ "code":"string",
+ "name":"string"
+ },
+ "stateOrProvince":{
+ "code":"string",
+ "name":"string"
+ },
+ "zip":"string",
+ "congressional_district":"string"
+ },
+ "recoveryModelQuestions":[
+ {
+ "code":"1",
+ "isSelected":false
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "errors":[
+
+ ]
+ }
+ ],
+ "page":0,
+ "size":2,
+ "totalElements":5,
+ "totalPages":3
+}
+
+
+
+[
+ {
+ "id":"contractNumber:reportingAgency:idvRefrenceNumber:referenceAgencyCode:subawardNumber:subawardDate:subawardAmount:submittedDate",
+ "statusCode":"200",
+ "transactionId":"58e2fad8-7b43-4b62-a870-45b3f250ea72",
+ "timeStamp":"2024-02-20T19:51:24.915924",
+ "subawardReportNumber":"71e2fad8-7b43-4b62-a870-45b3f250ea98",
+ "reportStatus":"Published",
+ "message":{
+ "contractData":[
+ {
+ "contractNumber":"string",
+ "reportingAgencyCode":"string",
+ "idvReferenceNumber":"string",
+ "referenceAgencyCode":"string",
+ "programTitle":"string",
+ "subawardDataList":[
+ {
+ "subawardReportNumber":"71e2fad8-7b43-4b62-a870-45b3f250ea98",
+ "submittedDate":"2024-02-12",
+ "subawardUEI":"string",
+ "subawardNumber":"string",
+ "subawardAmount":"string",
+ "subawardDate":"string",
+ "subawardDescription":"string",
+ "placeOfPerformance":{
+ "city":"string",
+ "country":{
+ "code":"string",
+ "name":"string"
+ },
+ "stateOrProvince":{
+ "code":"string",
+ "name":"string"
+ },
+ "zip":"string",
+ "congressional_district":"string"
+ },
+ "recoveryModelQuestions":[
+ {
+ "code":"1",
+ "isSelected":false
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "errors":[]
+ }
+]
+
+
+
+[
+ {
+ "id": "fain:subawardNumber:subawardDate:subawardAmount:submittedDate",
+ "statusCode": "201",
+ "transactionId": "48e2fad8-7b43-4b62-a870-45b3f250ea72",
+ "timeStamp": "2024-02-20T19:51:24.915924",
+ "subawardReportNumber": "51e2fad8-7b43-4b62-a870-45b3f250ea99",
+ "reportStatus": "Published",
+ "message": "Report was successfully saved.",
+ "errors": []
+ },
+ {
+ "id": "fain:subawardNumber:subawardDate:subawardAmount:submittedDate",
+ "statusCode": "201",
+ "transactionId": "48e2fad8-7b43-4b62-a870-45b3f250ea72",
+ "timeStamp": "2024-02-20T19:51:24.915968",
+ "subawardReportNumber": "51e2fad8-9b43-4b62-a870-45b3f250ea14",
+ "reportStatus": "Draft",
+ "message": "Report was saved but failed some validations. Please fix the errors and submit an update request.",
+ "errors": [
+ "Subaward Amount is required",
+ "Sub award Place of Performance Section - City provided is invalid."
+ ]
+ },
+ {
+ "id": "fain:subawardNumber:subawardDate:subawardAmount:submittedDate",
+ "statusCode": "400",
+ "transactionId": "48e2fad8-7b43-4b62-a870-45b3f250ea72",
+ "timeStamp": "2024-02-20T19:51:24.915972",
+ "subawardReportNumber": "",
+ "reportStatus": "Not Saved",
+ "message": "Could not save the report. Please fix the errors and submit again.",
+ "errors": [
+ "Sub assistanceor UNIQUE ENTITY ID # is required"
+ ]
+ }
+]
+
+
+
+{
+ {
+ "id": "fain:subawardNumber:subawardDate:subawardAmount:submittedDate",
+ "statusCode": "201",
+ "transactionId": "48e2fad8-7b43-4b62-a870-45b3f250ea72",
+ "timeStamp": "2024-02-20T19:51:24.915924",
+ "subawardReportNumber": "51e2fad8-7b43-4b62-a870-45b3f250ea99",
+ "reportStatus": "Published",
+ "message": "Report was successfully saved.",
+ "errors": []
+ }
+}
+
+
+
+{
+ {
+ "id": "fain:subawardNumber:subawardDate:subawardAmount:submittedDate",
+ "statusCode": "201",
+ "transactionId": "48e2fad8-7b43-4b62-a870-45b3f250ea72",
+ "timeStamp": "2024-02-20T19:51:24.915968",
+ "subawardReportNumber": "51e2fad8-9b43-4b62-a870-45b3f250ea14",
+ "reportStatus": "Draft",
+ "message": "Report was saved but failed some validations. Please fix the errors and submit an update request.",
+ "errors": [
+ "Subaward Amount is required",
+ "Sub award Place of Performance Section - City provided is invalid."
+ ]
+ }
+}
+
+
+
+[
+ {
+ "id": "fain:subawardNumber:subawardDate:subawardAmount:submittedDate",
+ "statusCode": "204",
+ "transactionId": "48e2fad8-7b43-4b62-a870-45b3f250ea72",
+ "timeStamp": "2024-02-20T19:51:24.915924",
+ "subawardReportNumber": "51e2fad8-7b43-4b62-a870-45b3f250ea99",
+ "reportStatus": "Published",
+ "message": "Report was successfully deleted.",
+ "errors": []
+ },
+ {
+ "id": "fain:subawardNumber:subawardDate:subawardAmount:submittedDate",
+ "statusCode": "204",
+ "transactionId": "48e2fad8-7b43-4b62-a870-45b3f250ea72",
+ "timeStamp": "2024-02-20T19:51:24.915924",
+ "subawardReportNumber": "51e2fad8-7b43-4b62-a870-45b3f250ea99",
+ "reportStatus": "Reopened",
+ "message": "Report was successfully deleted.",
+ "errors": []
+ }
+]
+
+
+
+{
+ {
+ "id": "",
+ "statusCode": "400",
+ "transactionId": null,
+ "timeStamp": "2024-02-25T16:58:09.183947300",
+ "message": "The report could not be deleted. Please fix the errors and submit the delete request again.",
+ "errors": [
+ "Please provide a valid value for the report status. It can be Draft, Published, Reopened or left blank."
+ ]
+ }
+}
+
+
+
+{
+ "responseList":[
+ {
+ "id": "fain:subawardNumber:subawardDate:subawardAmount:submittedDate",
+ "statusCode":"200",
+ "transactionId":"48e2fad8-7b43-4b62-a870-45b3f250ea72",
+ "timeStamp":"2024-02-20T19:51:24.915924",
+ "reportStatus":"Published",
+ "message":{
+ "assistanceData":[
+ {
+ "fain":"string",
+ "agencyCode":"string",
+ "subawardDataList":[
+ {
+ "subawardReportNumber":"51e2fad8-7b43-4b62-a870-45b3f250ea99",
+ "submittedDate":"2024-02-12",
+ "subawardUEI":"string",
+ "subawardNumber":"string",
+ "subawardAmount":"string",
+ "subawardDate":"string",
+ "subawardDescription":"string",
+ "placeOfPerformance":{
+ "city":"string",
+ "country":{
+ "code":"string",
+ "name":"string"
+ },
+ "stateOrProvince":{
+ "code":"string",
+ "name":"string"
+ },
+ "zip":"string",
+ "congressional_district":"string"
+ },
+ "recoveryModelQuestions":[
+ {
+ "code":"1",
+ "isSelected":true
+ },
+ {
+ "code":"2",
+ "isSelected":false
+ }
+ ],
+ "topPayEmployees":[
+ {
+ "fullName":"sub1",
+ "salary":"100"
+ },
+ {
+ "fullName":"sub2",
+ "salary":"200"
+ },
+ {
+ "fullName":"sub3",
+ "salary":"300"
+ },
+ {
+ "fullName":"sub4",
+ "salary":"400"
+ },
+ {
+ "fullName":"sub5",
+ "salary":"500"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "errors":[
+
+ ]
+ },
+ {
+ "id": "fain:subawardNumber:subawardDate:subawardAmount:submittedDate",
+ "statusCode":"200",
+ "transactionId":"58e2fad8-7b43-4b62-a870-45b3f250ea72",
+ "timeStamp":"2024-02-20T19:51:24.915924",
+ "subawardReportNumber":"71e2fad8-7b43-4b62-a870-45b3f250ea98",
+ "reportStatus":"Published",
+ "message":{
+ "assistanceData":[
+ {
+ "fain":"string",
+ "agencyCode":"string",
+ "subawardDataList":[
+ {
+ "subawardReportNumber":"71e2fad8-7b43-4b62-a870-45b3f250ea98",
+ "submittedDate":"2024-02-12",
+ "subawardUEI":"string",
+ "subawardNumber":"string",
+ "subawardAmount":"string",
+ "subawardDate":"string",
+ "subawardDescription":"string",
+ "placeOfPerformance":{
+ "city":"string",
+ "country":{
+ "code":"string",
+ "name":"string"
+ },
+ "stateOrProvince":{
+ "code":"string",
+ "name":"string"
+ },
+ "zip":"string",
+ "congressional_district":"string"
+ },
+ "recoveryModelQuestions":[
+ {
+ "code":"1",
+ "isSelected":false
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "errors":[
+
+ ]
+ }
+ ],
+ "page":0,
+ "size":2,
+ "totalElements":5,
+ "totalPages":3
+}
+
+
+
+[
+ {
+ "id": "fain:subawardNumber:subawardDate:subawardAmount:submittedDate",
+ "statusCode":"200",
+ "transactionId":"58e2fad8-7b43-4b62-a870-45b3f250ea72",
+ "timeStamp":"2024-02-20T19:51:24.915924",
+ "subawardReportNumber":"71e2fad8-7b43-4b62-a870-45b3f250ea98",
+ "reportStatus":"Published",
+ "message":{
+ "assistanceData":[
+ {
+ "fain":"string",
+ "agencyCode":"string",
+ "subawardDataList":[
+ {
+ "subawardReportNumber":"71e2fad8-7b43-4b62-a870-45b3f250ea98",
+ "submittedDate":"2024-02-12",
+ "subawardUEI":"string",
+ "subawardNumber":"string",
+ "subawardAmount":"string",
+ "subawardDate":"string",
+ "subawardDescription":"string",
+ "placeOfPerformance":{
+ "city":"string",
+ "country":{
+ "code":"string",
+ "name":"string"
+ },
+ "stateOrProvince":{
+ "code":"string",
+ "name":"string"
+ },
+ "zip":"string",
+ "congressional_district":"string"
+ },
+ "recoveryModelQuestions":[
+ {
+ "code":"1",
+ "isSelected":false
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "errors":[]
+ }
+]
+