Create or update a policy draft
Changed onRequest
- Base URLhttps://docs.keycard.ai (the document declares no server; this is the origin it was published from)
- URLhttps://docs.keycard.ai/zones/{zone_id}/policies/{policy_id}/draft
- Auth
- HTTP bearer
- or OAuth 2Client credentialsToken URL: /service-account-token
Path parameters
The zone identifier
The policy identifier
Query parameters
Response format override. json returns cedar_json, cedar returns cedar_raw. When omitted, the response matches the input format.
Whether to validate cedar_json against the schema. Defaults to true.
Headers
API version header (date-based, e.g. 2026-02-01)
Unique request identifier specified by the originating caller and passed along by proxies.
Request body
Response
The upserted policy draft
Changes
- breaking
the response property
//became optional for the status - breaking
the response property
//became optional for the status - breaking
the response property
//became optional for the status - breaking
the response property
//became optional for the status - breaking
the response property
//became optional for the status - breaking
the response property
//became optional for the status - breaking
the response property
//became optional for the status - breaking
the response property
//became optional for the status - breaking
the response property
//became optional for the status - breaking
the
//response's property type changed fromstringto no type for status - breaking
the
//response's property type changed fromstringto no type for status - breaking
the
//response's property type changed fromstringto no type for status - breaking
the
//response's property type changed fromstringto no type for status - breaking
the
//response's property type changed fromstringto no type for status - breaking
the
//response's property type changed fromstringto no type for status - breaking
the
//response's property type changed fromstringto no type for status - breaking
the
//response's property type changed fromstringto no type for status - breaking
the
//response's property type changed fromstringto no type for status - warning
added the new
not_implementedenum value to theresponse property for the response status - warning
added the new
not_implementedenum value to theresponse property for the response status - warning
added the new
not_implementedenum value to theresponse property for the response status - warning
added the new
not_implementedenum value to theresponse property for the response status - warning
added the new
not_implementedenum value to theresponse property for the response status - warning
added the new
not_implementedenum value to theresponse property for the response status - warning
added the new
not_implementedenum value to theresponse property for the response status - warning
added the new
not_implementedenum value to theresponse property for the response status - warning
added the new
not_implementedenum value to theresponse property for the response status - info
added the optional property
to the response with the status - info
added
subschema #2to the//response propertyanyOflist for the response status - info
added
subschema #2to the//response propertyanyOflist for the response status - info
added
subschema #2to the//response propertyanyOflist for the response status - info
added
subschema #2to the//response propertyanyOflist for the response status - info
added
subschema #2to the//response propertyanyOflist for the response status - info
added
subschema #2to the//response propertyanyOflist for the response status - info
added
subschema #2to the//response propertyanyOflist for the response status - info
added
subschema #2to the//response propertyanyOflist for the response status - info
added
subschema #2to the//response propertyanyOflist for the response status - info
removed the
bad_requestenum value from the//response property for the response status - info
removed the
bad_requestenum value from the//response property for the response status - info
removed the
bad_requestenum value from the//response property for the response status - info
removed the
bad_requestenum value from the//response property for the response status - info
removed the
bad_requestenum value from the//response property for the response status - info
removed the
bad_requestenum value from the//response property for the response status - info
removed the
bad_requestenum value from the//response property for the response status - info
removed the
bad_requestenum value from the//response property for the response status - info
removed the
bad_requestenum value from the//response property for the response status - info
removed the
conflictenum value from the//response property for the response status - info
removed the
conflictenum value from the//response property for the response status - info
removed the
conflictenum value from the//response property for the response status - info
removed the
conflictenum value from the//response property for the response status - info
removed the
conflictenum value from the//response property for the response status - info
removed the
conflictenum value from the//response property for the response status - info
removed the
conflictenum value from the//response property for the response status - info
removed the
conflictenum value from the//response property for the response status - info
removed the
conflictenum value from the//response property for the response status - info
removed the
forbiddenenum value from the//response property for the response status - info
removed the
forbiddenenum value from the//response property for the response status - info
removed the
forbiddenenum value from the//response property for the response status - info
removed the
forbiddenenum value from the//response property for the response status - info
removed the
forbiddenenum value from the//response property for the response status - info
removed the
forbiddenenum value from the//response property for the response status - info
removed the
forbiddenenum value from the//response property for the response status - info
removed the
forbiddenenum value from the//response property for the response status - info
removed the
forbiddenenum value from the//response property for the response status - info
removed the
internal_errorenum value from the//response property for the response status - info
removed the
internal_errorenum value from the//response property for the response status - info
removed the
internal_errorenum value from the//response property for the response status - info
removed the
internal_errorenum value from the//response property for the response status - info
removed the
internal_errorenum value from the//response property for the response status - info
removed the
internal_errorenum value from the//response property for the response status - info
removed the
internal_errorenum value from the//response property for the response status - info
removed the
internal_errorenum value from the//response property for the response status - info
removed the
internal_errorenum value from the//response property for the response status - info
removed the
not_foundenum value from the//response property for the response status - info
removed the
not_foundenum value from the//response property for the response status - info
removed the
not_foundenum value from the//response property for the response status - info
removed the
not_foundenum value from the//response property for the response status - info
removed the
not_foundenum value from the//response property for the response status - info
removed the
not_foundenum value from the//response property for the response status - info
removed the
not_foundenum value from the//response property for the response status - info
removed the
not_foundenum value from the//response property for the response status - info
removed the
not_foundenum value from the//response property for the response status - info
removed the
rate_limit_exceededenum value from the//response property for the response status - info
removed the
rate_limit_exceededenum value from the//response property for the response status - info
removed the
rate_limit_exceededenum value from the//response property for the response status - info
removed the
rate_limit_exceededenum value from the//response property for the response status - info
removed the
rate_limit_exceededenum value from the//response property for the response status - info
removed the
rate_limit_exceededenum value from the//response property for the response status - info
removed the
rate_limit_exceededenum value from the//response property for the response status - info
removed the
rate_limit_exceededenum value from the//response property for the response status - info
removed the
rate_limit_exceededenum value from the//response property for the response status - info
removed the
service_unavailableenum value from the//response property for the response status - info
removed the
service_unavailableenum value from the//response property for the response status - info
removed the
service_unavailableenum value from the//response property for the response status - info
removed the
service_unavailableenum value from the//response property for the response status - info
removed the
service_unavailableenum value from the//response property for the response status - info
removed the
service_unavailableenum value from the//response property for the response status - info
removed the
service_unavailableenum value from the//response property for the response status - info
removed the
service_unavailableenum value from the//response property for the response status - info
removed the
service_unavailableenum value from the//response property for the response status - info
removed the
unauthorizedenum value from the//response property for the response status - info
removed the
unauthorizedenum value from the//response property for the response status - info
removed the
unauthorizedenum value from the//response property for the response status - info
removed the
unauthorizedenum value from the//response property for the response status - info
removed the
unauthorizedenum value from the//response property for the response status - info
removed the
unauthorizedenum value from the//response property for the response status - info
removed the
unauthorizedenum value from the//response property for the response status - info
removed the
unauthorizedenum value from the//response property for the response status - info
removed the
unauthorizedenum value from the//response property for the response status - info
removed the
validation_errorenum value from the//response property for the response status - info
removed the
validation_errorenum value from the//response property for the response status - info
removed the
validation_errorenum value from the//response property for the response status - info
removed the
validation_errorenum value from the//response property for the response status - info
removed the
validation_errorenum value from the//response property for the response status - info
removed the
validation_errorenum value from the//response property for the response status - info
removed the
validation_errorenum value from the//response property for the response status - info
removed the
validation_errorenum value from the//response property for the response status - info
removed the
validation_errorenum value from the//response property for the response status
- breaking
- breaking
the response property
became nullable for the status - breaking
the response property
became optional for the status - info
the endpoint scheme security
OAuth2was added to the API - info
added the new optional
queryrequest parameterformat - info
added the new optional
queryrequest parametervalidate_cedar - info
added the new optional request property
- info
the request property
became nullable - info
the request property
became optional - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status
- breaking