Share a decision
Whether everyone in your organization sees a decision, or only you.
PATCH /api/v1/decisions/{id}. The fields, answers and errors below are rendered from the OpenAPI document.
Share a decision, or stop sharing it
PATCH /api/v1/decisions/{id}
Whether everyone in your organization sees the decision (shared_with_org: true), or only the person who created the API key it was made with, and the key itself (false). It applies to every revision of the decision. Only for a decision made with this key (403 otherwise); its creator can also change it in the console. A decision that is not shared stays hidden from everyone else, admins included, also after its owner leaves the organization. New decisions follow the key’s setting (API keys in the console), or share_with_org on the request. Free.
Parameters
id(path, required)The decision id (
dec_…) its creation returned.string
Request body
application/json
object
shared_with_org(required)boolean
Additional properties: not allowed.
Responses
Response 200
The decision with its sharing.
application/json
DecisionRecord
object
The decision as the decision log shows it: id, createdAt, model, mode, status, best and bestByStakeholder, chosen decision, revision and assessment summaries. GET /v1/decisions/{id} adds request and response (null once the content has expired under the key’s retention, or when it was never stored), revisions and assessments. A Default mode decision that answered 202 has status: "running" with its progress until it is done; then response holds the decide answer (or status is error with errorMessage). Under retention "none", that answer is held for one fetch, at most one hour, then deleted.
id(optional)string
createdAt(optional)string · date-time
model(optional)string
mode(optional)string
- Allowed values
["default","direct"]
status(optional)string
- Allowed values
["ok","error","running"]
errorMessage(optional)string | null
progress(optional)object | null
While
running: the model calls answered (done) of those the request needs (total).done(optional)integer
total(optional)integer
best(optional)string | null
bestByStakeholder(optional)object | null
Additional property values:
string
contentStored(optional)boolean
request(optional)object | null
response(optional)object | null
expiresAt(optional)string | null · date-time
sharedWithOrg(optional)boolean
Whether everyone in your organization sees the decision; when false, only its owner does.
canChangeSharing(optional)boolean
Whether this key can change
sharedWithOrg: the decision was made with it.publication(optional)object | null
The decision’s public page while it is published (
POST /v1/decisions/{id}/publication); null otherwise.url(optional)string
The page’s address, which anyone can open.
publishedAt(optional)string · date-time
publishedBy(optional)object | null
The person who published it in the console; null when an API key did.
id(optional)integer
name(optional)string
canPublish(optional)boolean
Whether this key can publish the decision: it was made with the key and its result is stored.
source(optional)string | null
- Allowed values
["api","mcp","playground","connector",null]
Additional properties: allowed.
Response 400
The request is invalid; the message says which field and why.
application/json
Error
object
error(required)object
type(required)string
- Allowed values
["invalid_request","authentication","insufficient_credit","model_unavailable","model_warming","free_capacity_busy","too_many_overlap_pairs","too_many_records","revision_conflict","rate_limited","server_error"]
message(required)string
Response 401
No valid API key.
application/json
Error
object
error(required)object
type(required)string
- Allowed values
["invalid_request","authentication","insufficient_credit","model_unavailable","model_warming","free_capacity_busy","too_many_overlap_pairs","too_many_records","revision_conflict","rate_limited","server_error"]
message(required)string
Response 402
No free decisions or credit left for the request.
application/json
Error
object
error(required)object
type(required)string
- Allowed values
["invalid_request","authentication","insufficient_credit","model_unavailable","model_warming","free_capacity_busy","too_many_overlap_pairs","too_many_records","revision_conflict","rate_limited","server_error"]
message(required)string
Response 403
Only the person who made the decision, or the API key it was made with, can change who sees it or publish it.
application/json
Error
object
error(required)object
type(required)string
- Allowed values
["invalid_request","authentication","insufficient_credit","model_unavailable","model_warming","free_capacity_busy","too_many_overlap_pairs","too_many_records","revision_conflict","rate_limited","server_error"]
message(required)string
Response 409
The model is not served yet, or the revised decision already has a newer revision.
application/json
Error
object
error(required)object
type(required)string
- Allowed values
["invalid_request","authentication","insufficient_credit","model_unavailable","model_warming","free_capacity_busy","too_many_overlap_pairs","too_many_records","revision_conflict","rate_limited","server_error"]
message(required)string
Response 410
No such decision that you can see: none in your organization, or one not shared with you.
application/json
Error
object
error(required)object
type(required)string
- Allowed values
["invalid_request","authentication","insufficient_credit","model_unavailable","model_warming","free_capacity_busy","too_many_overlap_pairs","too_many_records","revision_conflict","rate_limited","server_error"]
message(required)string
Response 429
Rate limit reached (see Retry-After), or your organization already has 3 Default mode decisions running; send it when one is done.
application/json
Error
object
error(required)object
type(required)string
- Allowed values
["invalid_request","authentication","insufficient_credit","model_unavailable","model_warming","free_capacity_busy","too_many_overlap_pairs","too_many_records","revision_conflict","rate_limited","server_error"]
message(required)string
Response 502
The model failed to answer, or the decision could not be completed. Nothing is billed.
application/json
Error
object
error(required)object
type(required)string
- Allowed values
["invalid_request","authentication","insufficient_credit","model_unavailable","model_warming","free_capacity_busy","too_many_overlap_pairs","too_many_records","revision_conflict","rate_limited","server_error"]
message(required)string
Response 503
The model is starting after being idle, or a request on free decisions found it busy (free_capacity_busy); retry after Retry-After seconds. Nothing is billed.
application/json
Error
object
error(required)object
type(required)string
- Allowed values
["invalid_request","authentication","insufficient_credit","model_unavailable","model_warming","free_capacity_busy","too_many_overlap_pairs","too_many_records","revision_conflict","rate_limited","server_error"]
message(required)string
Share a decision, or stop sharing it: examples
Request example
curl -X PATCH 'https://eevo.io/api/v1/decisions/{id}' \
-H "Authorization: Bearer $EEVO_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"shared_with_org": true
}'Response 200 example
{
"id": "string",
"createdAt": "2025-12-31T00:00:00.000Z",
"model": "string",
"mode": "default",
"status": "ok",
"errorMessage": null,
"progress": {
"done": 0,
"total": 0
},
"best": null,
"bestByStakeholder": null,
"contentStored": true,
"request": null,
"response": null,
"expiresAt": null,
"sharedWithOrg": true,
"canChangeSharing": true,
"publication": {
"url": "string",
"publishedAt": "2025-12-31T00:00:00.000Z",
"publishedBy": {
"id": 0,
"name": "string"
}
},
"canPublish": true,
"source": "api"
}