VocalDocscontracts 1.65.0

Replace the Organization agent defaults

PATCH /v1/organization/agent-defaults

PropertyValue
Operationupdate_organization_agent_defaults
GroupOrganization
Scopeagents:write
Route classcontrol
IdempotencyNo Idempotency-Key
AuditAudited organization.agent_defaults.update (mutation)
Released in1.6.0
Phase 0 hostServed (the hosted api pins 1.65.0)

Publishes the next version of the Organization layer at the version If-Match names and writes the Audit event organization.agent_defaults.update. Bounds and locks need the owner. From 1.24.0 turning the AI disclosure off (safety.disclosure.required false) is an elevated change: the api accepts it only from the owner in a console session, never from an API key, and only with disclosure_attestation (disclosure_attestation_required); the Audit event then records the attestation, the Member and that the disclosure went off. Turning it back on needs no attestation and is audited the same way.

Request

Set VOCAL_API to the base URL of your API and VOCAL_API_KEY to an API key with the agents:write scope (Authentication and keys). Replace each placeholder, such as agt_... or <name>, with your own value.

curl -X PATCH "$VOCAL_API/v1/organization/agent-defaults" \
  -H "Authorization: Bearer $VOCAL_API_KEY" \
  -H 'If-Match: "1"' \
  -H "Content-Type: application/json" \
  -d '{
    "values": {}
  }'

Parameters

NameInTypeRequiredDescription
if-matchheaderstringyesThe revision the change was made against, quoted as the ETag returns it, or * to overwrite.

Request body

Content type application/json, required: OrganizationAgentDefaultsUpdateRequest.

FieldTypeRequiredDescription
boundsarray of OrganizationSettingBoundInputnoAt most 100 bounds, one per leaf path (1.18.0). An Agent version or a per-Call override outside one is refused with setting_out_of_bounds naming the organization layer. Present, it replaces every bound and needs the owner role; absent, the current bounds are kept.
disclosure_attestationDisclosureAttestationInputnoThe owner's attestation (1.24.0), required when values set safety.disclosure.required to false while the version in force requires the disclosure, and refused with disclosure_attestation_required without it. Only the owner in a console session may send it or turn the disclosure off; an update that keeps the disclosure off needs none, and one beside values that leave the disclosure on is refused with setting_conflict. The Audit event organization.agent_defaults.update records the attestation and the Member.
locksarray of SettingPathnoAt most 100 leaf paths the Organization locks (1.18.0): its value wins, and an Agent version or a per-Call override that sets the path is refused with setting_locked naming the organization layer. A platform lock on the path applies first. Present, it replaces every lock and needs the owner role; absent, the current locks are kept.
valuesAgentSettingsInputyesReplaces the whole Organization layer; omit a path to leave it to the platform.

Responses

StatusContent typeShapeError codes
200application/jsonOrganizationAgentDefaults
400application/jsonErrorEnvelopeinvalid_request
401application/jsonErrorEnvelopeunauthenticated
403application/jsonErrorEnvelopeforbidden, org_suspended
412application/jsonErrorEnveloperevision_mismatch
422application/jsonErrorEnvelopevalidation_failed
428application/jsonErrorEnvelopeprecondition_required
429application/jsonErrorEnveloperate_limited
500application/jsonErrorEnvelopeinternal_error

Fields of the 200 answer

The shape is OrganizationAgentDefaults.

FieldTypeRequiredDescription
boundsarray of OrganizationSettingBoundnoAt most 100 bounds, one per leaf path (1.18.0). An Agent version or a per-Call override outside one is refused with setting_out_of_bounds naming the organization layer. The api always sends it; absent means none.
disclosure_attestationDisclosureAttestation or nullnoThe attestation in force when this version's values turn the AI disclosure off (1.24.0), carried from version to version while it stays off; null while the disclosure is on. An api before 1.24.0 omits it, and a reader treats its absence as null.
effectiveEffectiveSettingsyesThe Organization values over the platform defaults, for the same pack.
locksarray of SettingPathnoAt most 100 leaf paths the Organization locks (1.18.0): its value wins, and an Agent version or a per-Call override that sets the path is refused with setting_locked naming the organization layer. A platform lock on the path applies first. The api always sends it; absent means none.
object"organization_agent_defaults"yes
platform_defaultsEffectiveSettingsyesThe platform layer for the Organization's default language pack (en).
updated_atTimestamp or nullyes
updated_byActorRef or nullyes
valuesAgentSettingsyesThe paths the Organization sets.
versionintegeryesCounts replacements; 0 before the first. Returned as the ETag.