Create or resume a policy set draft
Changed onSafe draft creation that never overwrites an existing draft. If a draft already exists for this policy set, it is returned as-is (200 OK). Three body modes control how a new draft is initialized: (1) empty body — hydrate from the latest non-archived version, (2) { base_version_id } — hydrate from a specific version, (3) full body with manifest and schema_version — create with explicit content. base_version_id and manifest are mutually exclusive; providing both is rejected.
Request
- 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}/policy-sets/{policy_set_id}/draft
- Auth
- HTTP bearer
- or OAuth 2Client credentialsToken URL: /service-account-token
Path parameters
The zone identifier
The policy set identifier
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
Existing draft resumed (unchanged)
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'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 fromobjectto no type for status - breaking
the
//response's property type changed fromobjectto no type for status - warning
removed the optional property
///from the response with the status - warning
removed the optional property
///from the response with the status - warning
removed the optional property
///from the response with the status - warning
removed the optional property
///from the response with the 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 the optional property
to the response with the status - info
added to the
//response propertyallOflist for the response status - info
added to the
//response propertyallOflist 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
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
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
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
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
- breaking
- info
added the optional property
to the response with the status - info
added the optional property
to the response with the status
- info