Download Project Attribution Reports API Guide
This guide provides information on how to download project attribution reports (in particular, a licensing report) in various formats.
Pre-requisites
FOSSA API Token
Generate a FULL access token to use FOSSA's API.
Project locator and revision
You must have a project locator. You can get the list of projects by running this endpoint: Get Projects. In the examples below {revision_idrefers to this revision locator that's needed to run the endpoint successfully.
custom%2BXXXX%2Fhello-world%242024-06-13T00%3A40%3A18Z is an example of a revision locator (that is encoded) such that
custom/XXXrefers to beginning of a project locator, typicallycustom/XXXis the prefix of a project whereXXXrefers to the organization id. You can find this ID and encode it by going into the project settings.hello-worldis the name of the project in FOSSA2024-06-13T00%3A40%3A18Zis the revision
Setting the report header (optional)
You can optionally set a custom header by doing so in the UI. Click on "Add Custom Header". Then you'll see settings come up to customize the report header.

On the left side, you will see a button to add a custom header.

Set a customized report header.
CURL Example
Below is an example of how to make this request using curl:
curl -X PUT \
'https://app.fossa.com/api/projects/{project_locator}' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer $FOSSA_FULL_ACCESS_API_TOKEN' \
-d '{
"reportCustomText": "Test support"
}'Endpoints and Parameters
There are some export types in which the report is emailed to you, and some are downloaded to the machine in which you call the endpoint.
1. Plain Text Report (Emailed)
- Endpoint:
https://app.fossa.com/api/revisions/{revision_id}/attribution/email?format=TXT - Request Method: GET
- Status Code: 200 OK
- Query Parameters:
dependencyInfoOptions[]: Specify details to include in the report.LibraryLicenseCustomTextLicenseOtherLicensesAuthorsDescriptionFullTextLicenseSourceProjectUrlPackageDownloadUrlDependencyPathsIssueNotes
includeProjectLicense:trueto include the project license.includeLicenseScan:trueto include license scan results.includeDependencySummary:trueto include a summary of dependencies.includeDirectDependencies:trueto include direct dependencies.includeDeepDependencies:trueto include deep dependencies.includeLicenseList:trueto include a list of licenses.includeFileMatches:trueto include file matches.includeLicenseHeaders:trueto include license headers.includeCopyrightList:trueto include a list of copyrights.
2. HTML Report (Download to Machine)
- Endpoint:
https://app.fossa.com/api/revisions/{revision_id}/attribution/download?download=true&format=HTML - Request Method: GET
- Status Code: 200 OK
- Query Parameters:
dependencyInfoOptions[]: Specify details to include in the report.LibraryLicenseCustomTextLicenseOtherLicensesAuthorsDescriptionFullTextLicenseSourceProjectUrlPackageDownloadUrlDependencyPathsIssueNotes
includeProjectLicense:trueto include the project license.includeLicenseScan:trueto include license scan results.includeDependencySummary:trueto include a summary of dependencies.includeDirectDependencies:trueto include direct dependencies.includeDeepDependencies:trueto include deep dependencies.includeLicenseList:trueto include a list of licenses.includeCopyrightList:trueto include a list of copyrights.
3. Markdown Report (Download to Machine)
- Endpoint:
https://app.fossa.com/api/revisions/{revision_id}/attribution/download?download=true&format=MD - Request Method: GET
- Status Code: 200 OK
- Query Parameters:
dependencyInfoOptions[]: Specify details to include in the report.LibraryLicenseCustomTextLicenseOtherLicensesAuthorsDescriptionFullTextLicenseSourceProjectUrlPackageDownloadUrlDependencyPathsIssueNotes
includeProjectLicense:trueto include the project license.includeLicenseScan:trueto include license scan results.includeDependencySummary:trueto include a summary of dependencies.includeDirectDependencies:trueto include direct dependencies.includeDeepDependencies:trueto include deep dependencies.includeLicenseList:trueto include a list of licenses.includeCopyrightList:trueto include a list of copyrights.
4. PDF Report (Emailed)
- Endpoint:
https://app.fossa.com/api/revisions/{revision_id}/attribution/email?format=PDF - Request Method: GET
- Status Code: 200 OK
- Query Parameters:
dependencyInfoOptions[]: Specify details to include in the report.LibraryLicenseCustomTextLicenseOtherLicensesAuthorsDescriptionFullTextLicenseSourceProjectUrlPackageDownloadUrlDependencyPathsIssueNotes
includeProjectLicense:trueto include the project license.includeLicenseScan:trueto include license scan results.includeDependencySummary:trueto include a summary of dependencies.includeDirectDependencies:trueto include direct dependencies.includeDeepDependencies:trueto include deep dependencies.includeLicenseList:trueto include a list of licenses.includeCopyrightList:trueto include a list of copyrights.
5. CSV Report (Download to Machine)
- Endpoint:
https://app.fossa.com/api/revisions/{revision_id}/attribution/download?download=true&format=CSV - Request Method: GET
- Status Code: 200 OK
- Query Parameters:
dependencyInfoOptions[]: Specify details to include in the report.LibraryLicenseCustomTextLicenseOtherLicensesAuthorsDescriptionFullTextLicenseSourceProjectUrlPackageDownloadUrlDependencyPathsIssueNotes
includeProjectLicense:trueto include the project license.includeLicenseScan:trueto include license scan results.includeDependencySummary:trueto include a summary of dependencies.includeDirectDependencies:trueto include direct dependencies.includeDeepDependencies:trueto include deep dependencies.includeFileMatches:trueto include file matches.
Example GET Requests
To get a plain text report emailed to you, you would use the following endpoint:
curl -X GET "https://app.fossa.com/api/revisions/{revision_id}/attribution/email?format=TXT&dependencyInfoOptions%5B0%5D=Library&dependencyInfoOptions%5B1%5D=License&dependencyInfoOptions%5B2%5D=CustomTextLicense&dependencyInfoOptions%5B3%5D=OtherLicenses&dependencyInfoOptions%5B4%5D=Authors&dependencyInfoOptions%5B5%5D=Description&dependencyInfoOptions%5B6%5D=FullTextLicense&dependencyInfoOptions%5B7%5D=Source&dependencyInfoOptions%5B8%5D=ProjectUrl&dependencyInfoOptions%5B9%5D=PackageDownloadUrl&dependencyInfoOptions%5B10%5D=DependencyPaths&dependencyInfoOptions%5B11%5D=IssueNotes&includeProjectLicense=true&includeLicenseScan=true&includeDependencySummary=true&includeDirectDependencies=true&includeDeepDependencies=true&includeLicenseList=true&includeFileMatches=true&includeLicenseHeaders=true&includeCopyrightList=true" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $FOSSA_FULL_ACCESS_API_TOKEN"
To download a markdown report directly to your machine, you would use this endpoint:
curl -X GET "<https://app.fossa.com/api/revisions/{revision_id}/attribution/download?download=true&format=MD&dependencyInfoOptions%5B0%5D=Library&dependencyInfoOptions%5B1%5D=License&dependencyInfoOptions%5B2%5D=CustomTextLicense&dependencyInfoOptions%5B3%5D=OtherLicenses&dependencyInfoOptions%5B4%5D=Authors&dependencyInfoOptions%5B5%5D=Description&dependencyInfoOptions%5B6%5D=FullTextLicense&dependencyInfoOptions%5B7%5D=Source&dependencyInfoOptions%5B8%5D=ProjectUrl&dependencyInfoOptions%5B9%5D=PackageDownloadUrl&dependencyInfoOptions%5B10%5D=DependencyPaths&dependencyInfoOptions%5B11%5D=IssueNotes&includeProjectLicense=true&includeLicenseScan=true&includeDependencySummary=true&includeDirectDependencies=true&includeDeepDependencies=true&includeLicenseList=true&includeCopyrightList=true">
-H "Content-Type: application/json"
-H "Authorization: Bearer $FOSSA_FULL_ACCESS_API_TOKEN"Other API documentation to consider
This guide is pretty much a breakdown of the endpoint used to download reports from a project's report tab. If you need to download a project attribution report in json format, you can refer to this guide here . If you need to generate release group reports programmatically, refer to this guide here .
Updated about 1 month ago
