Skip to content

Sources endpoints

This page is generated from the OpenAPI document of the API (src/Vellum.Web/openapi.json) when the documentation is built.

Parameter In Type Required
projectId path string (uuid) yes
Status Meaning Body
200 OK array of SourceDto
Parameter In Type Required
projectId path string (uuid) yes

Request body (application/json): CreateSourceRequest

Field Type Required Notes
kind string or null yes
name string or null yes
repository string or null yes
accountId integer (int64) or string (int64) or null no pattern "^-?(?:0|[1-9]\\d*)$"
region string or null no
apiKey string or null no
path string or null no
Status Meaning Body
201 Created SourceDto
400 Bad Request ErrorResponse
409 Conflict ErrorResponse

POST /api/projects/{projectId}/sources/upload

Section titled “POST /api/projects/{projectId}/sources/upload”
Parameter In Type Required
projectId path string (uuid) yes

Request body (application/json): UploadModelFileRequest

Field Type Required Notes
path string or null yes
content string or null yes
name string or null no
Status Meaning Body
202 Accepted UploadModelFileResponse
400 Bad Request ErrorResponse
409 Conflict ErrorResponse
429 Too Many Requests ErrorResponse

GET /api/projects/{projectId}/sources/{sourceId}

Section titled “GET /api/projects/{projectId}/sources/{sourceId}”
Parameter In Type Required
projectId path string (uuid) yes
sourceId path string (uuid) yes
Status Meaning Body
200 OK SourceDto
404 Not Found ErrorResponse

PATCH /api/projects/{projectId}/sources/{sourceId}

Section titled “PATCH /api/projects/{projectId}/sources/{sourceId}”
Parameter In Type Required
projectId path string (uuid) yes
sourceId path string (uuid) yes

Request body (application/json): UpdateSourceRequest

Field Type Required Notes
name string or null yes
Status Meaning Body
200 OK SourceDto
400 Bad Request ErrorResponse
404 Not Found ErrorResponse

DELETE /api/projects/{projectId}/sources/{sourceId}

Section titled “DELETE /api/projects/{projectId}/sources/{sourceId}”
Parameter In Type Required
projectId path string (uuid) yes
sourceId path string (uuid) yes
Status Meaning Body
204 No Content none
404 Not Found ErrorResponse

POST /api/projects/{projectId}/sources/{sourceId}/archive

Section titled “POST /api/projects/{projectId}/sources/{sourceId}/archive”
Parameter In Type Required
projectId path string (uuid) yes
sourceId path string (uuid) yes
Status Meaning Body
202 Accepted StartScanResponse
400 Bad Request ErrorResponse
404 Not Found ErrorResponse
409 Conflict ErrorResponse
413 Payload Too Large ErrorResponse
429 Too Many Requests ErrorResponse
503 Service Unavailable ErrorResponse

GET /api/projects/{projectId}/sources/kinds

Section titled “GET /api/projects/{projectId}/sources/kinds”
Parameter In Type Required
projectId path string (uuid) yes
Status Meaning Body
200 OK SourceKindsDto

GET /api/projects/{projectId}/sources/repositories

Section titled “GET /api/projects/{projectId}/sources/repositories”
Parameter In Type Required
projectId path string (uuid) yes
kind query string no
owner query string no
page query integer (int32) or string (int32) no
Status Meaning Body
200 OK RepositoryListDto
400 Bad Request ErrorResponse
404 Not Found ErrorResponse
409 Conflict ErrorResponse
429 Too Many Requests ErrorResponse
502 Bad Gateway ErrorResponse

POST /api/projects/{projectId}/sources/bulk

Section titled “POST /api/projects/{projectId}/sources/bulk”
Parameter In Type Required
projectId path string (uuid) yes

Request body (application/json): BulkAddRequest

Field Type Required Notes
kind string or null yes
repositories array of string or null yes
ref string or null no
Status Meaning Body
200 OK BulkAddResponse
400 Bad Request ErrorResponse

POST /api/projects/{projectId}/sources/{sourceId}/scans

Section titled “POST /api/projects/{projectId}/sources/{sourceId}/scans”
Parameter In Type Required
projectId path string (uuid) yes
sourceId path string (uuid) yes

Request body (application/json): StartSourceScanRequest

Field Type Required Notes
ref string or null yes
includePaths array of string or null yes
excludePaths array of string or null yes
pullRequest integer (int32) or string (int32) or null no pattern "^-?(?:0|[1-9]\\d*)$"
Status Meaning Body
202 Accepted StartScanResponse
400 Bad Request ErrorResponse
404 Not Found ErrorResponse
409 Conflict ErrorResponse
429 Too Many Requests ErrorResponse

POST /api/projects/{projectId}/sources/{sourceId}/traces

Section titled “POST /api/projects/{projectId}/sources/{sourceId}/traces”
Parameter In Type Required
projectId path string (uuid) yes
sourceId path string (uuid) yes
fileName query string no

Request body (application/json): Stream

Status Meaning Body
202 Accepted TraceUploadResponse
400 Bad Request ErrorResponse
404 Not Found ErrorResponse
409 Conflict ErrorResponse
413 Payload Too Large ErrorResponse
429 Too Many Requests ErrorResponse

PUT /api/projects/{projectId}/sources/{sourceId}/newrelic/key

Section titled “PUT /api/projects/{projectId}/sources/{sourceId}/newrelic/key”
Parameter In Type Required
projectId path string (uuid) yes
sourceId path string (uuid) yes

Request body (application/json): SetNewRelicKeyRequest

Field Type Required Notes
apiKey string or null yes
Status Meaning Body
204 No Content none
400 Bad Request ErrorResponse
404 Not Found ErrorResponse
409 Conflict ErrorResponse

POST /api/projects/{projectId}/sources/{sourceId}/newrelic/test

Section titled “POST /api/projects/{projectId}/sources/{sourceId}/newrelic/test”
Parameter In Type Required
projectId path string (uuid) yes
sourceId path string (uuid) yes
Status Meaning Body
200 OK NewRelicTestResponse
404 Not Found ErrorResponse
409 Conflict ErrorResponse

POST /api/projects/{projectId}/sources/newrelic/test

Section titled “POST /api/projects/{projectId}/sources/newrelic/test”
Parameter In Type Required
projectId path string (uuid) yes

Request body (application/json): TestNewRelicRequest

Field Type Required Notes
accountId integer (int64) or string (int64) or null yes pattern "^-?(?:0|[1-9]\\d*)$"
region string or null yes
apiKey string or null yes
Status Meaning Body
200 OK NewRelicTestResponse
400 Bad Request ErrorResponse

GET /api/projects/{projectId}/sources/{sourceId}/snapshots

Section titled “GET /api/projects/{projectId}/sources/{sourceId}/snapshots”
Parameter In Type Required
projectId path string (uuid) yes
sourceId path string (uuid) yes
Status Meaning Body
200 OK array of SourceSnapshotDto
404 Not Found ErrorResponse

GET /api/projects/{projectId}/sources/{sourceId}/snapshots/compare

Section titled “GET /api/projects/{projectId}/sources/{sourceId}/snapshots/compare”
Parameter In Type Required
projectId path string (uuid) yes
sourceId path string (uuid) yes
base query string (uuid) yes
head query string (uuid) yes
Status Meaning Body
200 OK SnapshotComparisonDto
404 Not Found ErrorResponse

GET /api/projects/{projectId}/sources/{sourceId}/documents

Section titled “GET /api/projects/{projectId}/sources/{sourceId}/documents”
Parameter In Type Required
projectId path string (uuid) yes
sourceId path string (uuid) yes
Status Meaning Body
200 OK array of SourceDocumentDto
404 Not Found ErrorResponse

GET /api/projects/{projectId}/sources/{sourceId}/bindings

Section titled “GET /api/projects/{projectId}/sources/{sourceId}/bindings”
Parameter In Type Required
projectId path string (uuid) yes
sourceId path string (uuid) yes
Status Meaning Body
200 OK array of SourceBindingDto
404 Not Found ErrorResponse

GET /api/projects/{projectId}/sources/push

Section titled “GET /api/projects/{projectId}/sources/push”
Parameter In Type Required
projectId path string (uuid) yes
Status Meaning Body
200 OK AgentPushSettings
403 Forbidden ErrorResponse

POST /api/projects/{projectId}/sources/push

Section titled “POST /api/projects/{projectId}/sources/push”
Parameter In Type Required
projectId path string (uuid) yes

Request body (application/json): AgentPushRequest

Field Type Required Notes
name string yes
commitSha string or null yes
rules array of AgentPushRule yes
scope AgentPushScope yes
files array of AgentPushFile yes
skipped array of AgentPushSkip yes
facts array of AgentPushFact yes
isComplete boolean yes
extractionGap string or null yes
filesListed integer (int32) or string (int32) yes pattern "^-?(?:0|[1-9]\\d*)$"
Status Meaning Body
201 Created AgentPushResponse
400 Bad Request ErrorResponse
403 Forbidden ErrorResponse
409 Conflict ErrorResponse
413 Payload Too Large ErrorResponse
429 Too Many Requests ErrorResponse

POST /api/projects/{projectId}/sources/{sourceId}/accept

Section titled “POST /api/projects/{projectId}/sources/{sourceId}/accept”
Parameter In Type Required
projectId path string (uuid) yes
sourceId path string (uuid) yes

Request body (application/json): AcceptSourceRequest

Field Type Required Notes
acknowledgeImpact boolean no default false
Status Meaning Body
200 OK DecideProposalsResponse
404 Not Found ErrorResponse
409 Conflict ErrorResponse