REST API endpoints for security advisories
Use the REST API to create and manage innersource security alerts
Sync innersource vulnerabilities for an enterprise
Synchronize innersource vulnerability data with the Advisory Database for an enterprise. This endpoint receives vulnerability data in OSV format and creates, updates, or withdraws innersource vulnerabilities accordingly. Dependabot alerting is triggered for created and updated vulnerabilities.
The request body accepts up to 100 vulnerabilities per call. The request is validated and
then queued for asynchronous processing: a successful request returns 202 Accepted with a
Location header pointing to a status URL that you poll for the final result.
Syncing vulnerabilities too quickly using this endpoint may result in secondary rate limiting. For more information, see "Rate limits for the API" and "Best practices for using the REST API."
This endpoint does not support OAuth apps or personal access tokens.
Fine-grained access tokens for "Sync innersource vulnerabilities for an enterprise"
This endpoint works with the following fine-grained token types:
The fine-grained token must have the following permission set:
- "Enterprise innersource vulnerabilities" enterprise permissions (write)
Parameters for "Sync innersource vulnerabilities for an enterprise"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
enterprise string RequiredThe slug version of the enterprise name. |
| Name, Type, Description | ||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
array Array of vulnerabilities in OSV format to synchronize | ||||||||||||||||||||||||||||||||||||||
Properties of
affected array of objects Packages and versions affected by the vulnerability Properties of |
| Name, Type, Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|
package object | |||||||||
Properties of |
| Name, Type, Description |
|---|
ecosystem string The package ecosystem (e.g., npm, pip, maven) |
name string The package name |
ranges array of objects Properties of ranges
| Name, Type, Description | |||||
|---|---|---|---|---|---|
type string | |||||
events array of objects | |||||
Properties of |
| Name, Type, Description |
|---|
introduced string The version that introduced the vulnerability |
fixed string The version that fixed the vulnerability |
last_affected string The last affected version |
limit string The upper limit of the affected range |
references array of objects URLs for more information about the vulnerability
Properties of references
| Name, Type, Description |
|---|
type string The type of reference. Supported values: PACKAGE, ADVISORY, WEB, FIX, ARTICLE, REPORT, EVIDENCE. References with other types are ignored. |
url string The reference URL |
published string When the vulnerability was first published
modified string When the vulnerability was last modified
withdrawn string When the vulnerability was withdrawn. If present, the vulnerability will be marked as withdrawn.
HTTP response status codes for "Sync innersource vulnerabilities for an enterprise"
| Status code | Description |
|---|---|
202 | Sync operation accepted for asynchronous processing. Poll the returned URL for results. |
400 | Bad Request |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
422 | Validation failed, or the endpoint has been spammed. |
Code samples for "Sync innersource vulnerabilities for an enterprise"
If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.
Request example
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/enterprises/ENTERPRISE/innersource-vulnerabilities/sync \
-d '[{"id":"MVS-2026-001","schema_version":"1.4.0","summary":"Example vulnerability summary","aliases":["GHSA-xxxx-xxxx-xxxx"],"affected":[{"package":{"ecosystem":"npm","name":"example-package"},"ranges":[{"type":"SEMVER","events":[{"introduced":"1.0.0"},{"fixed":"1.0.1"}]}]}]}]'Sync operation accepted for asynchronous processing. Poll the returned URL for results.
Status: 202{
"id": "external-vulnerability-sync-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"url": "https://api.github.com/enterprises/my-enterprise/innersource-vulnerabilities/sync/status/external-vulnerability-sync-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "queued"
}Get innersource vulnerability sync status for an enterprise
Get the status of an asynchronous innersource vulnerability sync operation for an enterprise.
Returns 202 with a Retry-After header while the sync is still processing, or 200 with
the full sync results once complete.
This endpoint does not support OAuth apps or personal access tokens.
Fine-grained access tokens for "Get innersource vulnerability sync status for an enterprise"
This endpoint works with the following fine-grained token types:
The fine-grained token must have the following permission set:
- "Enterprise innersource vulnerabilities" enterprise permissions (write)
Parameters for "Get innersource vulnerability sync status for an enterprise"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
enterprise string RequiredThe slug version of the enterprise name. |
job_id string RequiredThe unique identifier of the sync job. |
HTTP response status codes for "Get innersource vulnerability sync status for an enterprise"
| Status code | Description |
|---|---|
200 | Sync operation completed |
202 | Sync operation is still processing |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Code samples for "Get innersource vulnerability sync status for an enterprise"
If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.
Request examples
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/enterprises/ENTERPRISE/innersource-vulnerabilities/sync/status/JOB_IDSync operation completed
Status: 200{
"processed": 1,
"created": 1,
"updated": 0,
"withdrawn": 0,
"errors": 0,
"results": [
{
"external_id": "MVS-2026-001",
"status": "created",
"ghsa_id": "GHIS-xxxx-xxxx-xxxx"
}
]
}