AI design endpoints
This page is generated from the OpenAPI document of the API (src/Vellum.Web/openapi.json) when the documentation is built.
GET /api/projects/{projectId}/ai/flow-proposals
Section titled “GET /api/projects/{projectId}/ai/flow-proposals”| Parameter | In | Type | Required |
|---|---|---|---|
projectId |
path | string (uuid) | yes |
cursor |
query | string | no |
limit |
query | integer (int32) or string (int32) | no |
status |
query | string | no |
submitted |
query | boolean | no |
| Status | Meaning | Body |
|---|---|---|
200 |
OK | PageOfProposalSummary |
POST /api/projects/{projectId}/ai/flow-proposals
Section titled “POST /api/projects/{projectId}/ai/flow-proposals”| Parameter | In | Type | Required |
|---|---|---|---|
projectId |
path | string (uuid) | yes |
Request body (application/json): CreateFlowProposalRequest
| Field | Type | Required | Notes |
|---|---|---|---|
request |
string or null | yes | |
branchId |
string (uuid) or null | yes | |
reviseScenarioId |
string (uuid) or null | yes | |
selection |
array of string (uuid) or null | no |
| Status | Meaning | Body |
|---|---|---|
200 |
OK | AiUnavailable |
201 |
Created | FlowProposalDto |
400 |
Bad Request | ErrorResponse |
404 |
Not Found | ErrorResponse |
409 |
Conflict | ErrorResponse |
429 |
Too Many Requests | ErrorResponse |
POST /api/projects/{projectId}/ai/flow-proposals/submit
Section titled “POST /api/projects/{projectId}/ai/flow-proposals/submit”| Parameter | In | Type | Required |
|---|---|---|---|
projectId |
path | string (uuid) | yes |
Request body (application/json): SubmitFlowProposalRequest
| Field | Type | Required | Notes |
|---|---|---|---|
request |
string or null | yes | |
reviseScenarioId |
string (uuid) or null | yes | |
flow |
null or FlowOutput | yes |
| Status | Meaning | Body |
|---|---|---|
201 |
Created | FlowProposalDto |
400 |
Bad Request | ErrorResponse |
404 |
Not Found | ErrorResponse |
409 |
Conflict | ErrorResponse |
429 |
Too Many Requests | ErrorResponse |
GET /api/projects/{projectId}/ai/flow-proposals/{proposalId}
Section titled “GET /api/projects/{projectId}/ai/flow-proposals/{proposalId}”| Parameter | In | Type | Required |
|---|---|---|---|
projectId |
path | string (uuid) | yes |
proposalId |
path | string (uuid) | yes |
| Status | Meaning | Body |
|---|---|---|
200 |
OK | FlowProposalDto |
404 |
Not Found | ErrorResponse |
DELETE /api/projects/{projectId}/ai/flow-proposals/{proposalId}
Section titled “DELETE /api/projects/{projectId}/ai/flow-proposals/{proposalId}”| Parameter | In | Type | Required |
|---|---|---|---|
projectId |
path | string (uuid) | yes |
proposalId |
path | string (uuid) | yes |
| Status | Meaning | Body |
|---|---|---|
204 |
No Content | none |
404 |
Not Found | ErrorResponse |
409 |
Conflict | ErrorResponse |
POST /api/projects/{projectId}/ai/flow-proposals/{proposalId}/accept
Section titled “POST /api/projects/{projectId}/ai/flow-proposals/{proposalId}/accept”| Parameter | In | Type | Required |
|---|---|---|---|
projectId |
path | string (uuid) | yes |
proposalId |
path | string (uuid) | yes |
Request body (application/json): null or AcceptFlowProposalRequest
| Status | Meaning | Body |
|---|---|---|
200 |
OK | AcceptFlowProposalResponse |
400 |
Bad Request | ErrorResponse |
404 |
Not Found | ErrorResponse |
409 |
Conflict | ProposalStale |
POST /api/projects/{projectId}/ai/flow-proposals/{proposalId}/reject
Section titled “POST /api/projects/{projectId}/ai/flow-proposals/{proposalId}/reject”| Parameter | In | Type | Required |
|---|---|---|---|
projectId |
path | string (uuid) | yes |
proposalId |
path | string (uuid) | yes |
| Status | Meaning | Body |
|---|---|---|
200 |
OK | FlowProposalDto |
404 |
Not Found | ErrorResponse |
409 |
Conflict | ErrorResponse |
POST /api/projects/{projectId}/ai/flow-proposals/{proposalId}/missing/{alias}/create
Section titled “POST /api/projects/{projectId}/ai/flow-proposals/{proposalId}/missing/{alias}/create”| Parameter | In | Type | Required |
|---|---|---|---|
projectId |
path | string (uuid) | yes |
proposalId |
path | string (uuid) | yes |
alias |
path | string | yes |
| Status | Meaning | Body |
|---|---|---|
200 |
OK | FlowProposalDto |
400 |
Bad Request | ErrorResponse |
404 |
Not Found | ErrorResponse |
409 |
Conflict | ErrorResponse |
GET /api/projects/{projectId}/ai/architecture-proposals
Section titled “GET /api/projects/{projectId}/ai/architecture-proposals”| Parameter | In | Type | Required |
|---|---|---|---|
projectId |
path | string (uuid) | yes |
cursor |
query | string | no |
limit |
query | integer (int32) or string (int32) | no |
status |
query | string | no |
submitted |
query | boolean | no |
| Status | Meaning | Body |
|---|---|---|
200 |
OK | PageOfProposalSummary |
POST /api/projects/{projectId}/ai/architecture-proposals
Section titled “POST /api/projects/{projectId}/ai/architecture-proposals”| Parameter | In | Type | Required |
|---|---|---|---|
projectId |
path | string (uuid) | yes |
Request body (application/json): CreateArchitectureProposalRequest
| Field | Type | Required | Notes |
|---|---|---|---|
request |
string or null | yes | |
branchId |
string (uuid) or null | yes | |
selection |
array of string (uuid) or null | no |
| Status | Meaning | Body |
|---|---|---|
200 |
OK | AiUnavailable |
201 |
Created | ArchitectureProposalDto |
400 |
Bad Request | ErrorResponse |
409 |
Conflict | ErrorResponse |
429 |
Too Many Requests | ErrorResponse |
POST /api/projects/{projectId}/ai/architecture-proposals/submit
Section titled “POST /api/projects/{projectId}/ai/architecture-proposals/submit”| Parameter | In | Type | Required |
|---|---|---|---|
projectId |
path | string (uuid) | yes |
Request body (application/json): SubmitArchitectureProposalRequest
| Field | Type | Required | Notes |
|---|---|---|---|
request |
string or null | yes | |
proposal |
null or ArchitectureOutput | yes |
| Status | Meaning | Body |
|---|---|---|
201 |
Created | ArchitectureProposalDto |
400 |
Bad Request | ErrorResponse |
409 |
Conflict | ErrorResponse |
429 |
Too Many Requests | ErrorResponse |
GET /api/projects/{projectId}/ai/architecture-proposals/{proposalId}
Section titled “GET /api/projects/{projectId}/ai/architecture-proposals/{proposalId}”| Parameter | In | Type | Required |
|---|---|---|---|
projectId |
path | string (uuid) | yes |
proposalId |
path | string (uuid) | yes |
| Status | Meaning | Body |
|---|---|---|
200 |
OK | ArchitectureProposalDto |
404 |
Not Found | ErrorResponse |
DELETE /api/projects/{projectId}/ai/architecture-proposals/{proposalId}
Section titled “DELETE /api/projects/{projectId}/ai/architecture-proposals/{proposalId}”| Parameter | In | Type | Required |
|---|---|---|---|
projectId |
path | string (uuid) | yes |
proposalId |
path | string (uuid) | yes |
| Status | Meaning | Body |
|---|---|---|
204 |
No Content | none |
404 |
Not Found | ErrorResponse |
409 |
Conflict | ErrorResponse |
POST /api/projects/{projectId}/ai/architecture-proposals/{proposalId}/decide
Section titled “POST /api/projects/{projectId}/ai/architecture-proposals/{proposalId}/decide”| Parameter | In | Type | Required |
|---|---|---|---|
projectId |
path | string (uuid) | yes |
proposalId |
path | string (uuid) | yes |
Request body (application/json): DecideArchitectureProposalRequest
| Field | Type | Required | Notes |
|---|---|---|---|
accept |
array of string (uuid) or null | yes | |
reject |
array of string (uuid) or null | yes |
| Status | Meaning | Body |
|---|---|---|
200 |
OK | ArchitectureProposalDto |
400 |
Bad Request | ErrorResponse |
404 |
Not Found | ErrorResponse |
409 |
Conflict | ProposalItemsRefused |
POST /api/projects/{projectId}/ai/explain
Section titled “POST /api/projects/{projectId}/ai/explain”| Parameter | In | Type | Required |
|---|---|---|---|
projectId |
path | string (uuid) | yes |
Request body (application/json): ExplainRequest
| Field | Type | Required | Notes |
|---|---|---|---|
target |
null or ExplainTarget | yes | |
question |
string or null | yes | |
branchId |
string (uuid) or null | yes |
| Status | Meaning | Body |
|---|---|---|
200 |
OK | ExplainDelta |
400 |
Bad Request | ErrorResponse |
404 |
Not Found | ErrorResponse |
409 |
Conflict | ErrorResponse |
429 |
Too Many Requests | ErrorResponse |