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 an alpha.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 alpha.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 alpha.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 by reaching out to samtesting@gsa.gov
  3. Once you have the Non-Federal System Administrator role, sign in to alpha.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, you can still use a system account to pull other types of alpha.SAM.gov data by API, but you will not have the permissions required to publish subcontract or subaward reports to alpha.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.

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 alpha.SAM.gov Personal API key 10 requests/day
Non-federal user with a role to an entity in alpha.SAM.gov Personal API key 1,000 requests/day
Non-federal system account user System account API key 1,000 requests/day

Back to top

API Description

Subcontract and Subaward Reports Executive Compensation Questions

alpha.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 alpha.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?

Back to top

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. alpha.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.

Back to top

GENC Standards

alpha.SAM.gov uses the Geopolitical Entities, Names, and Codes (GENC) standards, which provide country and administrative area codes recognized by the U.S. government. Please refer to the 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

Back to top

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
Active Versions v1

Request Parameters

Parameter Name Parameter Type Data Type Required Description
Authorization header string Yes Valid and authorized alpha.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

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 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 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 section for the response structure and specific examples.

Examples

Example 1: Submit subcontract reports for multiple contracts and subcontracts under them. The example includes task order where the Referenced IDV is required, and the subcontractor’s executive compensation information is already on the subcontractor’s alpha.SAM.gov entity record.

{
   "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"
                  }
               ]
            }
         ]
      }
   ]
}

Example 2: Submit subcontract reports with partial data. The report will be saved in Draft status, and validation errors will be returned.

{
   "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"
               }
            }
         ]
      }
   ]
}	

Back to top

Submit Subaward Report

Request Type POST
URL /assistance/v1/subawards/
Summary You can publish one or more subaward reports using this endpoint
Consumes application/JSON
Produces Refer Response JSON
Active Versions v1

Request Parameters

Parameter Name Parameter Type Data Type Required Description
Authorization Header string Yes Valid and authorized alpha.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 Subaward report Assistance 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 subaward 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 section for details on the status code error message. The overall status code 201 displays if at least one subaward report is processed successfully, even if some subaward reports fail to process.

The API handles subaward report requests as follows:

  • If a subaward report request passes all validations as specified in the 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 subaward report in the request. Each subaward 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 section for the response structure and specific examples.

Examples

Example 1: Submit subaward reports for multiple assistance awards and subawards under them. The example includes the subrecipient’s executive compensation information is already on the subrecipient’s alpha.SAM.gov entity record.

{
  "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"
            }
          ]
        }
      ]
    }
  ]
}

Example 2: Submit subaward reports with partial data. The report will be saved in Draft status, and validation errors will be returned.

{
  "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"
          }
        }
      ]
    }
  ]
}	

Back to top

Update Subcontract Report

Request Type PUT
URL /contract/v1/subcontracts/{subawardReportNumber}
Summary You can update a subcontract report
Consumes application/JSON
Produces Refer Response JSON
Active Versions v1

Request Parameters

Parameter Name Parameter Type Data Type Required Description
Authorization header string Yes Valid and authorized alpha.SAM.gov user email ID
Content-Type header string Yes application/json
api_key query string Yes Valid System Account API Key
subawardReportNumber path string Yes Unique identifier for the subcontract report.
Request JSON Body JSON Yes Refer Update Subcontract report Contract JSON

Responses

The following section describes HTTP status codes and the response type.

HTTP Status Code Response Type Description
200 Ok string Subcontract report was updated
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 section for details on the status code error message.

If the request passes all validations as specified in the Validation Failure Error Messages section, the report status is updated as follows:

  • Updates on a Draft report are updated to Published.
  • Updates on a Published report create a new report in the Published status. The previous Published report is archived.

If any validations fail, validation error messages are sent back as a part of the response body. The report status is updated as described:

  • Updates on a Draft report stay in Draft status.
  • Updates on a Published report create a report in the Reopened status, and the Published record remains public.

See the Response JSON section for the response structure and specific examples.

Examples:

Example 1: Update a subcontract report with all required information.

{
   "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"
            }
         ]
      }
   }
}

Example 2: Update a subcontract report with partial data. In this case, the report will be saved in the Reopened status, and validation errors will be returned.

{
   "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"
         }
      }
   }
}	

Back to top

Update Subaward Report

Request Type PUT
URL /assistance/v1/subawards/{subawardReportNumber}
Summary You can update a subaward report
Consumes application/JSON
Produces Refer Response JSON
Active Versions v1

Request Parameters

Parameter Name Parameter Type Data Type Required Description
Authorization Header string Yes Valid and authorized alpha.SAM.gov user email ID
Content-Type header string Yes application/json
api_key query string Yes Valid System Account API Key
subawardReportNumber path string Yes Unique identifier for the subaward report.
Request JSON Body JSON Yes Refer Update Subaward report Assistance JSON

Responses

The following section describes HTTP status codes and the response type.

HTTP Status Code Response Type Description
200 Ok string Subaward report was updated
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 section for details on the status code error message.

The API handles subaward report requests as follows:

  • Updates on a Draft report are updated to Published.
  • Updates on a Published report create a new report in the Published status. The previous Published report is archived.

If any validations fail, validation error messages are sent back as a part of the response body. The report status is updated as described:

  • Updates on a Draft report stay in Draft status.
  • Updates on a Published report create a report in the Reopened status, and the Published record remains public.

See the Response JSON section for the response structure and specific examples.

Examples:

Example 1: Update subaward report with all required information.

{
   "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"
            }
         ]
      }
   }
}

Example 2: Update subaward report with partial data. The report will be saved in Reopened status and validation failure messages will be returned.

{
   "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"
         }
      }
   }
}	

Back to top

Delete Subcontract Report

Request Type DELETE
URL /contract/v1/subcontracts/{subawardReportNumber}
Summary User will be able to delete subcontract report(s)
Consumes application/JSON
Produces Refer Response JSON
Active Versions v1

Request Parameters

Parameter Name Parameter Type Data Type Required Description
Authorization Header string Yes Valid and authorized alpha.SAM.gov user email ID
api_key query string Yes Valid System Account API Key
subawardReportNumber path string Yes Unique identifier for the subcontract report.
status query string No Status of the subcontract report.

Responses

The following section describes HTTP status codes and the response type.

HTTP Status Code Response Type Description
200 Ok string Subcontract report(s) successfully deleted
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

This API returns the HTTP Status code 200 when the report is deleted successfully. If other errors occur, the API returns other HTTP Status codes and the report will not be deleted. Refer to the Error Messages section for details.

See the Response JSON section for the response structure and specific examples.

Examples

Example 1: Delete request to delete subcontract report for the given status.

Provide the status (Draft, Published or Reopened as a Query Param) in the request.

Example 2: Delete request to delete a subcontract report in all statuses, Published, Reopened or Draft, for a contract when status is not provided

Do not provide any status in the request.

Back to top

Delete Subaward Report

Request Type DELETE
URL /assistance/v1/subawards/{subawardReportNumber}
Summary User will be able to delete subaward report(s)
Consumes Request Parameters
Produces Refer Response JSON
Active Versions v1

Request Parameters

Parameter Name Parameter Type Data Type Required Description
Authorization Header string Yes Valid and authorized alpha.SAM.gov user email ID
api_key query string Yes Valid System Account API Key
subawardReportNumber path string Yes Unique identifier for the subaward report.
status query string No Status of the subaward report.

Responses

The following section describes HTTP status codes and the response type:

HTTP Status Code Response Type Description
200 Ok string Subaward report(s) successfully deleted
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

This API returns the HTTP Status code 200 when the report is deleted successfully. If other errors occur, the API returns other HTTP Status codes and the report will not be deleted. Refer to the Error Messages for details.

See the Response JSON section for the response structure and specific examples.

Examples

Example 1: Delete request to delete a subaward report

Provide the status (Draft, Published or Reopened as a Query Param) in the request.

Example 2: Delete request to delete subaward reports in all statuses, Published, Reopened, or Draft, when status is not provided

Do not provide any status in the request.

Back to top

Get Subcontract Report

Request Type GET
URL /contract/v1/subcontracts/{subawardReportNumber}
Summary User will be able to retrieve a specific subcontract report
Consumes Request Parameters
Produces Refer Response JSON
Active Versions v1

Request Parameters

Parameter Name Parameter Type Data Type Required Description
Authorization Header string Yes Valid and authorized alpha.SAM.gov user email ID
api_key query string Yes Valid System Account API Key
subawardReportNumber path string Yes Unique identifier for the subcontract report.
status query string No Status of the subcontract report

Examples

Example 1: Get subcontract reports for a specific contract based on the subcontract report number and report status.

Provide the status (Draft, Published or Reopened as a Query Param) in the request.

Example 2: Get all subcontract reports for a specific subaward report number when status is not provided.

Do not provide any status in the request.

Responses

The following section describes HTTP status codes and the response type.

HTTP Status Code Response Type Description
200 Ok string Subcontract report(s) successfully retrieved Refer Contract JSON
401 Unauthorized string Authentication failed or was not provided
403 Forbidden string Authenticated, but do not have appropriate permissions
500 Internal Server Error string Unexpected error occurred during processing

Requests return a JSON response that is the same as the POST Response JSON. The subawardReportNumber and the reportStatus are sent back as a part of the response. See the Response JSON section for the response structure and specific examples.

Back to top

Get Subaward Report

Request Type GET
URL /assistance/v1/subawards/{subawardReportNumber}
Summary User will be able to retrieve a specific subaward report
Consumes application/JSON
Produces Refer Response JSON
Active Versions v1

Request Parameters

Parameter Name Parameter Type Data Type Required Description
Authorization Header string Yes Valid and authorized alpha.SAM.gov user email ID
api_key query string Yes Valid System Account API Key
subawardReportNumber path string Yes Unique identifier for the subaward report.
status query string No Status of the subaward report

Examples

Example 1: Get subaward reports for a specific assistance award based on the subaward report number and report status.

Provide the status (Draft, Published or Reopened as a Query Param) in the request.

Example 2: Get all subaward reports for a specific assistance award based on the subaward report number when no status is provided.

Do not provide any status in the request.

Responses

The following section describes HTTP status codes and the response type.

HTTP Status Code Response Type Description
200 Ok string Subaward report(s) successfully retrieved Refer Contract JSON
401 Unauthorized string Authentication failed or was not provided
403 Forbidden string Authenticated, but do not have appropriate permissions
500 Internal Server Error string Unexpected error occurred during processing

Requests return a JSON response that is the same as the POST Response JSON. The subawardReportNumber and the reportStatus are sent back as a part of the response. See the Response JSON section for the response structure and specific examples.

Back to top

Search Subcontract report

Request Type GET
URL /contract/v1/subcontracts
Summary You can get specific subcontract reports based on the provided search criteria.
Consumes Request Parameters as described below
Produces A paginated response. Refer Response JSON
Active Versions v1

Request Parameters

Parameter Name Parameter Type Data Type Required Description
Authorization Header string Yes Valid and authorized alpha.SAM.gov user email ID
api_key query string Yes Valid System Account API Key
contractNumber query string No The Contract ID (PIID)
reportingAgencyCode query string No The agency code for the contract
idvReferenceNumber query string No The Referenced IDV for the contract
referenceAgencyCode query string No The Reference Agency Code for the Referenced IDV
subawardReportNumber query string No Unique identifier for the subcontract report
reportStatus query string No The status of the Subaward Report to fetch (Draft, Published or Reopened)
page query string No The page number for the response to be retrieved (default is 0 which is the first page)
size query string No The page size (default is 10)

Examples

Example 1: Get subcontract reports for a specific contract based on the subcontract report number and report status.

Provide subawardReportNumber and reportStatus (Draft, Published or Reopened) as query Params in the request.

Example 2: Get all published subcontract reports.

Provide reportStatus as 'Published' as a query Param in the request.

Example 3: Get all subcontract reports for a specific contract.

Provide contractNumber query Param in the request.

Example 4: Get a specific page of multi-page results for a search.

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. 

Example 5: Get a specific number of elements in a page for a search.

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. 

Responses

The following section describes HTTP status codes and the response type.

HTTP Status Code Response Type Description
200 string Report was successfully retrieved Refer Contract JSON
401 Unauthorized string Authentication failed or was not provided
403 Forbidden string Authenticated, but do not have appropriate permissions
500 Internal Server Error string Unexpected error occurred during processing

Requests return a JSON response that is the same as the POST Response JSON. The subcontract report number and the report status are sent back as a part of the response. See the Response JSON section for the response structure and specific examples.

Back to top

Search Subaward Report

Request Type GET
URL /assistance/v1/subawards
Summary You can get specific subaward reports based on the provided search criteria
Consumes Request Parameters as described below
Produces A paginated response. Refer Response JSON
Active Versions v1

Request Parameters

Parameter Name Parameter Type Data Type Required Description
Authorization Header string Yes Valid and authorized alpha.SAM.gov user email ID
api_key query string Yes Valid System Account API Key
FAIN query string No The Award ID (FAIN) for the award
agencyCode query string No The agency code for the assistance award
subawardReportNumber query string No Unique identifier for the subaward report
reportStatus query string No The status of the subaward Report to fetch (Draft, Published or Reopened)
page query string No The page number for the response to be retrieved (default is 0 which is the first page)
size query string No The page size (default is 10)

Examples

Example 1: Get subaward reports for a specific assistance award based on the Subaward ID and report status.

Provide subawardReportNumber and reportStatus (Draft, Published or Reopened) as query Params in the request.

Example 2: Get all published subaward reports for a specific assistance award.

Provide reportStatus as 'Published' as a query Param in the reques

Example 3: Get all subaward reports for a specific assistance award

Provide fain query Param in the request.

Example 4: Get a specific page of multi-page results for a search.

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. 

Example 5: Get a specific number of elements in a page for a search.

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. 

Responses

HTTP Status Code Response Type Description
200 JSON Report was successfully retrieved Refer Submit Subaward report Assistance JSON
401 Unauthorized string Authentication failed or was not provided
403 Forbidden string Authenticated, but do not have appropriate permissions
500 Internal Server Error string Unexpected error occurred during processing

Requests return a JSON response that is the same as the POST Response JSON. The subaward report number and the report status are sent back as a part of the response. See the Response JSON section for the response structure and specific examples.

Back to top

API JSON Structures

Response JSON

All subcontract and subaward API endpoints return a response JSON. The following section describes the generic structure of the response JSON and the differences in the endpoints.

Response Element Response Type Description
_ JSON Array One element for each Subaward report in request
id string For a contract report, it is the concatenated values of contractNumber, reportingAgency, idvRefrenceNumber, referenceAgencyCode, subawardNumber, subawardDate, subawardAmount and submittedDate separated by ‘:’. For a Assistance report, it is the concatenated value of fainNumber, subawardNumber, subawardDate, subawardAmount and submittedDate separated by ‘:’. For a GET or DELETE request, if the request is unsuccessful, then it is the concatenated value of the search parameters separated by “:”.
statusCode string The HTTP Status code for the Subaward report element
transactionId string Internal ID used by the alpha.SAM.gov support team to trace issues. You can provide this to the support team if you report an issue.
timeStamp string Date and time when the request was processed
subawardReportNumber string Unique identifier for the subcontract or subaward report. This ID can be used for any subsequent update/delete calls
reportStatus string Status of the subcontract or subaward report.
message string Message indicating status of the operation. Also includes any informative warning messages.
errors JSON Array If there are validation errors, they are sent back as a part of this errors array.

Subcontract report Warnings

The API sends descriptive messages in the message element on create(POST) and update(PUT) requests for subcontract reports in the following scenarios:

  • When the sum of all subcontract amounts for the contract is greater than the Total Contract Value.
  • When the subcontract amount is greater than the Total Contract Value.
  • When the subcontract amount provided matches the subcontract amount of the previous subcontract report for the same subcontractor.
  • When the date of the subcontract provided matches the date of the subcontract of the previous subcontract report for the same subcontractor.
  • When there are existing subcontract reports for the same contract number and the same subcontractor with the same Subcontract ID and Subcontract Date.
  • When there are existing subcontract reports for the same Contract Number and the same subcontractor with the same Subcontract ID and Subcontract Date submitted today.
  • When there are existing subcontract reports for the same Contract Number and the same subcontractor with the same Subcontract id, Subcontract Date and Subcontract Amount submitted today.

Subaward report Warnings

The API sends descriptive messages in the message element on create(POST) and update(PUT) requests for subaward reports in the following scenarios:

  • When the sum of all subaward amounts for the assistance is greater than the Total Award Value.
  • When the subaward amount is greater than the Total Award Value.
  • When the subaward amount provided matches the subaward amount of the previous subaward report for the same subrecipient.
  • When the date of the subaward provided matches the date of the subaward of the previous subaward report for the same subrecipient.
  • When there are existing subaward reports for the same assistance number and the same subrecipient with the same Subaward ID and Subaward Date.
  • When there are existing subaward reports for the same Assistance Number and the same subrecipient with the same Subaward ID and Subaward Date submitted today.
  • When there are existing subaward reports for the same Assistance Number and the same subrecipient with the same Subaward id, Subaward Date and Subaward Amount submitted today.

Contract example Responses

Example 1: Create (POST) request for three subcontract reports and the first was successfully published, the second was saved in Draft status with validation failures, and the third could not be created.

[
  {
    "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"
    ]
  }
]

Example 2: Update (PUT) request for a subcontract report and the report was successfully published.

{
  {
    "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": []
  }
}

Example 3: Update (PUT) request for a subcontract report when the report was saved in Draft status and error messages are returned.

{
  {
    "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."
    ]
  }
}

Example 4: Delete (DELETE) request for a subcontract report when only the subcontractReportNumber was provided, Published and Reopened reports exist, and both are deleted successfully. One element is returned for each deleted report.

[
  {
    "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": []
  }
]

Example 5: Delete (DELETE) request for a subcontract report and the delete request is not successful.

{
  {
    "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."
    ]
  }
}

Example 6: Paginated GET request for a contract with nine subcontract reports and two pages. Search is executed with a Contract ID (PIID) in the query parameters. One element is returned for each subcontract report.

{
   "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
}

Example 7: Contracts: GET request for a specific subcontract report in the Published status.

[
   {
      "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":[]
   }
]

Assistance example Responses

Example 1: Create (POST) request for three subaward reports and the first was successfully published, the second was saved in Draft status with validation failures, and the third could not be created.

[
  {
    "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"
    ]
  }
]

Example 2: Update (PUT) request for a subaward report and the report is successfully published.

{
  {
    "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": []
  }
}

Example 3: Update (PUT) request for a subaward report and the report is saved in Draft status, and error messages are returned.

{
  {
    "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."
    ]
  }
}

Example 4: Delete (DELETE) request for a subaward report when only the subawardReportNumber is provided, published and reopened reports exist, and both are deleted successfully. One element is returned for each deleted report.

[
  {
    "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": []
  }
]

Example 5: Delete (DELETE) request for a subaward report and the delete request is not successful.

{
  {
    "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."
    ]
  }
}

Example 6: Paginated GET request for an assistance award with nine subaward reports and two pages. Search is executed with an Award ID (FAIN) in the query parameters. One element is returned for each subaward report.

{
   "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
}

Example 7: GET request for a specific subaward report in the Published status.

[
   {
      "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":[]
   }
]

Back to top

Submit Subcontract Report Contract JSON

  • Field headers in the table must match with the field headers shown in the JSON example.
Name Data Type Field Length Required Description
contractData JSON Array NA Yes Information about the prime contractor and the subcontract report(s). If the report is submitted for multiple prime contracts, then this array has multiple elements, one for each of the prime contract.
contractData Details        
contractData.contractNumber string 50 characters Yes If this report is submitted for a contract, the contractNumber field should match the Contract ID for your contract as reported in FPDS.gov. The idvReferenceNumber should be left blank
contractData.reportingAgencyCode string 32 characters Yes The ID of the federal awarding agency as from FPDS.gov.
contractData.idvReferenceNumber string 50 characters Yes, if the report is for a Task order on a contract If this report is submitted for a task order on a contract, enter the task order number in contractNumber field. Enter the contract number that matches the Referenced IDV field in FPDS.gov into the idvReferenceNumber field.
contractData.referenceAgencyCode string 32 characters Yes, if the idvReferenceNumber is provided The ID of the federal awarding agency associated with the IDV Referenced Number.
contractData.programTitle string   No The program or project title.
contractData.subawardDataList string   Yes Information about the subcontractor. If the report is submitted for multiple subcontractors, then this array will have multiple elements, one for each subcontractor.
contractData.subawardDataList Details        
subawardDataList.subawardUEI string 13 characters Yes Subcontractor’s Unique Entity ID.
subawardDataList.subawardNumber string 32 characters Yes A number assigned by the prime contractor to track this subcontract report.
subawardDataList.subawardAmount string 32 characters Yes Subcontract amount for this award to this subcontractor.
subawardDataList.subawardDate string TIMESTAMP Yes The date subcontract was made in YYYY-MM-DD format.
subawardDataList.subawardDescription string   Yes Describes the subcontract requirements and is pulled from FPDS.gov.
contractData.subawardDataList. placeOfPerformance Details        
placeOfPerformance JSON Object NA Yes Subcontractor’s principal place of performance.
placeOfPerformance.city string   Yes Subcontractor’s place of performance city name.
placeOfPerformance.stateOrProvince JSON Object NA Yes Subcontractor’s place of performance state information. Specify the State Code and name.
placeOfPerformance.stateOrProvince.code string     Subcontractor’s place of performance state code.
placeOfPerformance.stateOrProvince.name string     Subcontractor’s place of performance state name.
placeOfPerformance.country JSON Object NA Yes Subcontractor’s place of performance country Information. Specify the country code and name.
placeOfPerformance.country.code string     Subcontractor’s place of performance country code.
placeOfPerformance.country.name string     Subcontractor’s place of performance country name.
placeOfPerformance.zipPlus4 string   Yes Subcontractor’s place of performance ZIP Code +4.
contractData.subawardDataList. recoveryModelQuestions Details        
recoveryModelQuestions JSON Array NA Yes, if the SAM registration for the entity does not already have this information for the Subcontractor. Subcontractor’s executive compensation questions. There are three questions and three elements in this array.
recoveryModelQuestions.code string   Yes, if compensation question responses are being provided. Code for the compensation question. Refer to the Subcontract and Subaward Reports Executive Compensation Questions section for details.
recoveryModelQuestions.isSelected string   Yes, if compensation question responses are being provided. A Boolean value representing the response to the compensation question.
contractData.subawardDataList. topPayEmployees Details        
topPayEmployees JSON Array NA Conditional - see Description. If required, the array requires 5 elements This is the compensation information for the top five employees. The array has five elements for the five top-paid employees. This is required if the response to compensation question one is true, compensaion question two is true and compensation question three is false. If responses to the compensation questions are provided on the subcontractor’s alpha.SAM.gov entity registration, then this information is not required.
topPayEmployees.fullName string   Yes if subawardDataList.topPayEmployees is required The full name of the top-paid employees.
topPayEmployees.salary string   Yes if subawardDataList.topPayEmployees is required The total compensation of the top-paid employees.

Back to top

Submit Subaward report Assistance JSON

  • Field headers in the table must match the field headers shown in the JSON example.
Name Data Type Field Length Required Description
assistanceData JSON Array NA Yes Information about the prime assistance awardee. If the report is submitted for multiple prime assistance awards, then this array has multiple elements, one for each of the prime assistance awards.
assistanceData Details        
fain string 255 characters Yes The Award ID (FAIN) for the prime assistance award.
subawardDataList string   Yes Information about the subrecipients. If the report is submitted for multiple subawards, then this array has multiple elements, one for each of the subawards.
assistanceData.subawardDataList Details        
subawardDataList.subawardNumber string 32 characters Yes Number assigned by the Prime to track this subaward.
subawardDataList.uei string 13 characters Yes Subrecipient’s Unique Entity ID
subawardDataList.subawardAmount string 20 characters Yes The subaward amount for this award.
subawardDataList.subawardDate string   Yes The date the subaward was made in YYYY-MM-DD format.
subawardDataList.subawardDescription string   Yes  
assistanceData.subawardDataList. placeOfPerformance Details        
placeOfPerformance JSON Object   Yes Subrecipient’s principal place of performance
placeOfPerformance.city string   Yes Subrecipient’s place of performance city name
placeOfPerformance.stateOrProvince JSON Object   Yes Subrecipient’s place of performance state information. Specify the state code and name.
placeOfPerformance.stateOrProvince.code string     Subrecipient’s place of performance state code
placeOfPerformance.stateOrProvince.name string     Subrecipient’s place of performance state name.
placeOfPerformance.country JSON Object   Yes Subrecipient’s place of performance country information. Specify the country code and name.
placeOfPerformance.country.code string     Subrecipient’s place of performance country code
placeOfPerformance.country.name string     Subrecipient’s place of performance country name
placeOfPerformance.zipPlus4 string   Yes Subrecipient’s place of performance ZIP Code +4.
assistanceData.subawardDataList. recoveryModelQuestions Details        
recoveryModelQuestions JSON Array NA Yes, if Compensation question responses are being provided. Subrecipient’s executive compensation questions. There are two questions and two elements in this array.
recoveryModelQuestions.code string   Yes, if Compensation question responses are being provided. Code for the compensation question. The code is 1 for the first question, 2 for the second question and 3 for the third question. Refer to the Subcontract and Subaward Reports Executive Compensation Questions section for details.
recoveryModelQuestions.isSelected string   Yes, if Compensation question responses are being provided. A Boolean value representing the response to the compensation question.
subawardDataList.topPayEmployees JSON Array NA Conditional - see Description. If required, the array requires 5 elements This is the compensation information for the top five employees. The array has five elements for the five top-paid employees. This is required if the response to compensation question one is true and compensation question two is false. If responses to the compensation questions are provided on the subrecipient’s alpha.SAM.gov entity registration, then this information is not required.
assistanceData.subawardDataList. topPayEmployees Details        
topPayEmployees.fullName string   Yes if subawardDataList.topPayEmployees is required The full name of the top-paid employees.
topPayEmployees.salary string   Yes if subawardDataList.topPayEmployees is required The total compensation of the top-paid employees.

Back to top

Update Subcontract Report Contract JSON

  • Field headers in the table must match with the field headers shown in the JSON example.
Name Data Type Field Length Required Description
contractData JSON Array NA Yes Information about the prime contractor and the subcontract report(s). If the report is submitted for multiple prime contracts, then this array has multiple elements, one for each of the prime contract.
contractData Details        
contractData.contractNumber string 50 characters Yes If this report is submitted for a contract, the contractNumber field should match the Contract ID for your contract as reported in FPDS.gov. The idvReferenceNumber should be left blank
contractData.reportingAgencyCode string 32 characters Yes The ID of the federal awarding agency as from FPDS.gov.
contractData.idvReferenceNumber string 50 characters Yes, if the report is for a Task order on a contract If this report is submitted for a task order on a contract, enter the task order number in contractNumber field. Enter the contract number that matches the Referenced IDV field in FPDS.gov into the idvReferenceNumber field.
contractData.referenceAgencyCode string 32 characters Yes, if the idvReferenceNumber is provided The ID of the federal awarding agency associated with the IDV Referenced Number.
contractData.programTitle string   No The program or project title.
contractData.subawardDataList string   Yes Information about the subcontractor. If the report is submitted for multiple subcontractors, then this array will have multiple elements, one for each subcontractor.
contractData.subawardData Details        
subawardData.subawardUEI string 13 characters Yes Subcontractor’s Unique Entity ID.
subawardData.subawardNumber string 32 characters Yes A number assigned by the prime contractor to track this subcontract report.
subawardData.subawardAmount string 32 characters Yes Subcontract amount for this award to this subcontractor.
subawardData.subawardDate string TIMESTAMP Yes The date subcontract was made in YYYY-MM-DD format.
subawardData.subawardDescription string   Yes Describes the subcontract requirements and is pulled from FPDS.gov.
contractData.subawardData. placeOfPerformance Details        
placeOfPerformance JSON Object NA Yes Subcontractor’s principal place of performance.
placeOfPerformance.city string   Yes Subcontractor’s place of performance city name.
placeOfPerformance.stateOrProvince JSON Object NA Yes Subcontractor’s place of performance state information. Specify the State Code and name.
placeOfPerformance.stateOrProvince.code string     Subcontractor’s place of performance state code.
placeOfPerformance.stateOrProvince.name string     Subcontractor’s place of performance state name.
placeOfPerformance.country JSON Object NA Yes Subcontractor’s place of performance country Information. Specify the country code and name.
placeOfPerformance.country.code string     Subcontractor’s place of performance country code.
placeOfPerformance.country.name string     Subcontractor’s place of performance country name.
placeOfPerformance.zipPlus4 string   Yes Subcontractor’s place of performance ZIP Code +4.
contractData.subawardData. recoveryModelQuestions Details        
recoveryModelQuestions JSON Array NA Yes, if the SAM registration for the entity does not already have this information for the Subcontractor. Subcontractor’s executive compensation questions. There are three questions and three elements in this array.
recoveryModelQuestions.code string   Yes, if compensation question responses are being provided. Code for the compensation question. Refer to the Subcontract and Subaward Reports Executive Compensation Questions section for details.
recoveryModelQuestions.isSelected string   Yes, if compensation question responses are being provided. A Boolean value representing the response to the compensation question.
contractData.subawardData. topPayEmployees Details        
topPayEmployees JSON Array NA Conditional - see Description. If required, the array requires 5 elements This is the compensation information for the top five employees. The array has five elements for the five top-paid employees. This is required if the response to compensation question one is true, compensaion question two is true and compensation question three is false. If responses to the compensation questions are provided on the subcontractor’s alpha.SAM.gov entity registration, then this information is not required.
topPayEmployees.fullName string   Yes if subawardDataList.topPayEmployees is required The full name of the top-paid employees.
topPayEmployees.salary string   Yes if subawardDataList.topPayEmployees is required The total compensation of the top-paid employees.

Back to top

Update Subaward report Assistance JSON

  • Field headers in the table must match the field headers shown in the JSON example.
Name Data Type Field Length Required Description
assistanceData JSON Array NA Yes Information about the prime assistance awardee. If the report is submitted for multiple prime assistance awards, then this array has multiple elements, one for each of the prime assistance awards.
assistanceData Details        
fain string 255 characters Yes The Award ID (FAIN) for the prime assistance award.
subawardDataList string   Yes Information about the subrecipients. If the report is submitted for multiple subawards, then this array has multiple elements, one for each of the subawards.
assistanceData.subawardData Details        
subawardData.subawardNumber string 32 characters Yes Number assigned by the Prime to track this subaward.
subawardData.uei string 13 characters Yes Subrecipient’s Unique Entity ID
subawardData.subawardAmount string 20 characters Yes The subaward amount for this award.
subawardData.subawardDate string   Yes The date the subaward was made in YYYY-MM-DD format.
subawardData.subawardDescription string   Yes  
assistanceData.subawardData. placeOfPerformance Details        
placeOfPerformance JSON Object   Yes Subrecipient’s principal place of performance
placeOfPerformance.city string   Yes Subrecipient’s place of performance city name
placeOfPerformance.stateOrProvince JSON Object   Yes Subrecipient’s place of performance state information. Specify the state code and name.
placeOfPerformance.stateOrProvince.code string     Subrecipient’s place of performance state code
placeOfPerformance.stateOrProvince.name string     Subrecipient’s place of performance state name.
placeOfPerformance.country JSON Object   Yes Subrecipient’s place of performance country information. Specify the country code and name.
placeOfPerformance.country.code string     Subrecipient’s place of performance country code
placeOfPerformance.country.name string     Subrecipient’s place of performance country name
placeOfPerformance.zipPlus4 string   Yes Subrecipient’s place of performance ZIP Code +4.
assistanceData.subawardData. recoveryModelQuestions Details        
recoveryModelQuestions JSON Array NA Yes, if Compensation question responses are being provided. Subrecipient’s executive compensation questions. There are two questions and two elements in this array.
recoveryModelQuestions.code string   Yes, if Compensation question responses are being provided. Code for the compensation question. The code is 1 for the first question, 2 for the second question and 3 for the third question. Refer to the Subcontract and Subaward Reports Executive Compensation Questions section for details.
recoveryModelQuestions.isSelected string   Yes, if Compensation question responses are being provided. A Boolean value representing the response to the compensation question.
subawardDataList.topPayEmployees JSON Array NA Conditional - see Description. If required, the array requires 5 elements This is the compensation information for the top five employees. The array has five elements for the five top-paid employees. This is required if the response to compensation question one is true and compensation question two is false. If responses to the compensation questions are provided on the subrecipient’s alpha.SAM.gov entity registration, then this information is not required.
assistanceData.subawardData. topPayEmployees Details        
topPayEmployees.fullName string   Yes if subawardDataList.topPayEmployees is required The full name of the top-paid employees.
topPayEmployees.salary string   Yes if subawardDataList.topPayEmployees is required The total compensation of the top-paid employees.

Back to top

OpenAPI Specification File

You can view the full details of this API in the OpenAPI Specification file available here: OpenAPI File

Error Messages

General Error Messages

Error messages are returned as part of the web service call response. Errors are not specific to one method and may apply to more than one error.

Error Code Error Message Description Operation
401 Provide valid authorization email. Authorized email associated with your system account is required. All
401 Provide a valid API Key. Your valid system account API key is required. All
401 This IP address is not associated with your system account. All requests must come from an IP address listed on your system account. You entered an IP Address that was not included on your system account application. All
403 Access denied. Your account is not authorized. Your account does not have appropriate privileges. All
500 We are experiencing an internal server error. Please try again later. Internal Server Error All
400 Provide a valid JSON format. Check the request JSON structure and try again. submitSubcontractReport, updateSubcontractReport, submitSubawardReport, updateSubawardReport
400 Provide a valid JSON structure. We require at least one contractData element. The request Body JSON structure is invalid. At least one contractData element is required for subcontract reporting. submitSubcontractReport, updateSubcontractReport
400 Provide a valid JSON structure. We require at least one assistanceData element. The request Body JSON structure is invalid. At least one assistanceData element is required for subaward reporting submitSubawardReport, updateSubawardReport
400 No record found for the contractID and reportingAgencyCode provided. No record found for the contract ID (PIID) and reporting agency code combination in the request body (Combination of contractData.contractNumber and contractData.reportingAgencyCode). submitSubcontractReport, updateSubcontractReport
400 No record found for the FAIN Number and agencyCode provided. No record found for the FAIN Number and agency code combination in the request body (Combination of assistanceData.fain and assistanceData.agencyCode). submitSubawardReport, updateSubawardReport
400 Multiple records found for the contractID and reportingAgencyCode provided. Add the idvReferenceNumber to identify the contract. You must specify the idvReferenceNumber to correctly identify the record because multiple records were found for the contract ID (PIID) and reporting agency code combination. submitSubcontractReport, updateSubcontractReport
400 Provide the prime contractor’s contractID. contractData.contractNumber was not provided. submitSubcontractReport, updateSubcontractReport
400 Provide a reportingAgencyCode. contractData.reportingAgencyCode is a required field. submitSubcontractReport, updateSubcontractReport
400 Provide the prime awardee’s FainID. assistanceData.fain was not provided. submitSubcontractReport, updateSubcontractReport
400 Provide the fundingAgencyCode. assistanceData.agencyCode is a required field. submitSubcontractReport, updateSubcontractReport
400 Provide a subawardee Unique Entity ID. The subcontractor or subrecipient’s Unique Entity ID is required. submitSubcontractReport, updateSubcontractReport, submitSubawardReport, updateSubawardReport
400 Provide a valid Unique Entity ID. You provided an invalided subcontractor or subawardee Unique Entity ID. submitSubcontractReport, updateSubcontractReport, submitSubawardReport, updateSubawardReport
400 No record found for the data provided. No Report found for the subawardReportNumber you provided. updateSubcontractReport, updateSubawardReport, deleteSubcontractReport, deleteSubawardReport, getSubcontractReport, getSubawardReport, searchSubcontractReport, searchSubawardReport

Back to top

Validation Failure Error Messages

The following section describes validation failure messages that are returned as a part of submitSubcontractReport, updateSubcontractReport, submitSubawardReport and updateSubawardReport.

Field Error Message Description
Subaward Data validations    
subawardNumber Subaward ID required Subaward ID is required
subawardAmount Subaward Amount required Subaward Amount is required
subawardAmount Use numbers only up to 18 digits for Subaward Amount. Subaward Amount must contain only numbers and up to two decimal places (18 digits plus cents)
subawardDate Subaward Date required Subaward Date is required
subawardDate Use YYYY-MM-DD format. Date of Subaward for Subawardee:(XXXXXXXXX) is not valid (Expecting YYYY-MM-DD Format)
subawardDate Subaward Date cannot be in the future. The Subaward Date cannot be in the future.
subawardDescription Subaward description required. Subaward description is required.
placeOfPerformance validations    
placeOfPerformance Subaward Place of Performance required. Subaward Place of Performance is required.
country Subaward Place of Performance country required Subaward Place of Performance Section - Country is required
country.code Subaward Place of Performance country code required Subaward Place of Performance Section - Country code is required
country.code Invalid subaward Place of Performance country code. Subaward Place of Performance Section - Country code is invalid
country.name Subaward Place of Performance country name required Subaward Place of Performance Section - Country name is required
country.name Invalid subaward Place of Performance country name. Subaward Place of Performance Section - Country name is invalid
country.code and country.name Subaward Place of Performance country code and country name do not match. Subaward Place of Performance Section - Country code and country name combination does not match
stateOrProvince Subaward Place of Performance stateOrProvince required. Subaward Place of Performance Section - stateOrProvince is required
stateOrProvince Subaward Place of Performance state code and state name do not match. Subaward Place of Performance Section - stateOrProvince code and stateOrProvince name combination does not match
stateOrProvince Invalid subaward Place of Performance state. Only for US addresses: Subaward Place of Performance Section - State provided is invalid
city Subaward Place of Performance city required. Only for US addresses: Subaward Place of Performance Section - City is required
city Invalid subaward Place of Performance city. Only for US addresses: Subaward Place of Performance Section - City provided is invalid
zipPlus4 Subaward Place of Performance ZIP Code +4 required. Only for US addresses: Subaward Place of Performance Section - ZIP +4 is required
zipPlus4 Invalid subaward Place of Performance ZIP Code +4. Only for US addresses: Subaward Place of Performance Section - ZIP +4 provided is invalid
zipPlus4 No congressional district found for the address provided. Try again with 9 digits ZIP Code or enter a different address. Only for US addresses: Subaward Place of Performance Section - Congressional District could not be derived with the information provided.
zipPlus4 Subaward Place of Performance ZIP Code +4 cannot exceed 9 characters. Subaward Place of Performance Section - ZIP Code +4 cannot exceed nine characters
recoveryModelQuestions validations    
recoveryModelQuestions No executive compensation information found for the Unique Entity ID provided. Answer executive compensation questions on the recoveryModelQuestions JSON element. Responses to compensation questions are required if they are not available for the subcontractor’s or subrecepient’s alpha.SAM.gov registration
recoveryModelQuestions Compensation question one code and response required. Compensation Q1 code and response are required if responses to compensation questions is provided
recoveryModelQuestions Compensation questions two code and response required. Compensation Q2 code and response are required
recoveryModelQuestions Compensation questions three code and response required. Compensation Q3 code and response are required
recoveryModelQuestions.code Invalid compensation question code. Compensation question code provided did not match expected codes
recoveryModelQuestions.isSelected Compensation question isSelected value can only be true or false Compensation question isSelected value can only be true or false
topPayEmployees validations    
topPayEmployees Name and total compensation required for subawardee’s top five executives. If compensation question one answer is true, compensation question two answer is true, and compensation question three answer is false, then topPayEmployees is required
topPayEmployees.salary Use numbers only up to 12 digits for total compensation. Sub Top Pay Employees: salary must contain only digits and not exceed 12 digits
topPayEmployees.salary Compensation amount required. Sub topPayEmployees.salary is required
topPayEmployees.fullName Executive name required. Sub topPayEmployees.fullName is required

Back to top

Contact Us

Back to top