List what a choice may be for
const url = 'https://example.com/v1/connection-choices/needs?projectId=2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://example.com/v1/connection-choices/needs?projectId=2489E9AD-2EE2-8E00-8EC9-32D5F69181C0' \ --header 'Authorization: Bearer <token>'Each of an agent’s or flow’s tools’ connections, at the version it resolves now: the tool, its name for the connection (need), the app and whose (as), and whether a choice for it may be a set (set.allowed, else set.reason: changes, sensitive-data-egress or accounts-input). A tool whose version couldn’t be read is listed in unread. The project’s members (read on the project).
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”The project.
The agent; or flowId, one of them.
The flow; or agentId, one of them.
Only this app’s (its entry id).
Responses
Section titled “Responses”The needs.
object
One of a tool’s connections, and whether a choice for it may be a set.
object
The tool’s name for the connection.
The app’s entry id.
Whose connection: the company’s, or the run’s person’s.
Whether a choice for the tool’s connection may be a set, and if not, why not.
object
Why not, with allowed: false: the tool changes things, may send what it reads elsewhere, or has its own accounts input.
The tools whose version couldn’t be read, refused or gone.
Example
{ "data": [ { "as": "company", "set": { "reason": "changes" } } ]}No projectId, or one that is not a UUID; an app that is not an entry id; or both or neither of agentId and flowId (bad-input).
object
object
Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).
Optional, kind-specific.
object
Server-assigned request id; also echoed via X-Request-Id header.
Examplegenerated
{ "error": { "code": "example", "message": "example", "details": {}, "requestId": "example" }}Missing / malformed / expired / revoked bearer token.
object
object
Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).
Optional, kind-specific.
object
Server-assigned request id; also echoed via X-Request-Id header.
Examplegenerated
{ "error": { "code": "example", "message": "example", "details": {}, "requestId": "example" }}Not a member of the project (permission-denied).
object
object
Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).
Optional, kind-specific.
object
Server-assigned request id; also echoed via X-Request-Id header.
Examplegenerated
{ "error": { "code": "example", "message": "example", "details": {}, "requestId": "example" }}The agent or flow isn’t one of the project’s (agent-not-found, flow-not-found).
object
object
Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).
Optional, kind-specific.
object
Server-assigned request id; also echoed via X-Request-Id header.
Examplegenerated
{ "error": { "code": "example", "message": "example", "details": {}, "requestId": "example" }}The database was too busy to answer in time (database-busy); Retry-After (whole seconds) says when to try again.
object
object
Stable machine-readable discriminant. Values match domain error codes (see docs/API-ROUTE-CONVENTIONS.md §4.3).
Optional, kind-specific.
object
Server-assigned request id; also echoed via X-Request-Id header.
Examplegenerated
{ "error": { "code": "example", "message": "example", "details": {}, "requestId": "example" }}