Canine Code Analyzer API reference
Version v1. The machine-readable document is /v1/openapi.json; this page is rendered from it.
Scans, runs, results, history, the finding lifecycle, account and usage. Every request carries an organisation's API key as a bearer token (Authorization: Bearer cca_...), holding the scope the endpoint names; a key reaches only its organisation's repositories.
Authentication
Send your organisation's API key on every request: Authorization: Bearer cca_.... Each operation names the scope its key must hold.
account
GET /v1/account
Responses: 200
GET /v1/account/usage
Responses: 200
GET /v1/repositories
Responses: 200
POST /v1/repositories
Responses: 201, 422
findings
POST /v1/repositories/{repositoryId}/findings/{fingerprint}/claim
| Parameter | In | Required |
|---|---|---|
repositoryId | path | yes |
fingerprint | path | yes |
workerId | query | no |
Responses: 200
POST /v1/repositories/{repositoryId}/findings/{fingerprint}/release
| Parameter | In | Required |
|---|---|---|
repositoryId | path | yes |
fingerprint | path | yes |
workerId | query | no |
Responses: 200
POST /v1/repositories/{repositoryId}/findings/{fingerprint}/resolve
| Parameter | In | Required |
|---|---|---|
repositoryId | path | yes |
fingerprint | path | yes |
workerId | query | no |
Responses: 200
POST /v1/repositories/{repositoryId}/findings/{fingerprint}/dispute
| Parameter | In | Required |
|---|---|---|
repositoryId | path | yes |
fingerprint | path | yes |
Responses: 200
results
GET /v1/repositories/{repositoryId}/scores
| Parameter | In | Required |
|---|---|---|
repositoryId | path | yes |
include | query | no |
Responses: 200
GET /v1/repositories/{repositoryId}/findings
| Parameter | In | Required |
|---|---|---|
repositoryId | path | yes |
dimension | query | no |
state | query | no |
limit | query | no |
offset | query | no |
Responses: 200
GET /v1/repositories/{repositoryId}/findings/{fingerprint}
| Parameter | In | Required |
|---|---|---|
repositoryId | path | yes |
fingerprint | path | yes |
Responses: 200
GET /v1/runs/{runId}/bundle
| Parameter | In | Required |
|---|---|---|
runId | path | yes |
Responses: 200
GET /v1/runs/{runId}/sarif
| Parameter | In | Required |
|---|---|---|
runId | path | yes |
Responses: 200
runs
GET /v1/scans/{scanId}
| Parameter | In | Required |
|---|---|---|
scanId | path | yes |
Responses: 200
GET /v1/repositories/{repositoryId}/runs
| Parameter | In | Required |
|---|---|---|
repositoryId | path | yes |
take | query | no |
Responses: 200
GET /v1/runs/{runId}
| Parameter | In | Required |
|---|---|---|
runId | path | yes |
Responses: 200
GET /v1/repositories/{repositoryId}/trend
| Parameter | In | Required |
|---|---|---|
repositoryId | path | yes |
Responses: 200
scans
POST /v1/repositories/{repositoryId}/scans
| Parameter | In | Required |
|---|---|---|
repositoryId | path | yes |
Responses: 202