Skip to content
Console
Menu

Getting Started

Authentication

KV Store

Create a key

Creates a key; the signer generates its first version.

Creates a key; the signer generates its first version.

  • Path POST https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/keys
  • Scope keys:write
  • Effect write — a successful call changes state.
  • Collection keys
  • Query key_id, validate_only
  • Operation answers with an Operation; the result is Key

#Request

FieldTypeWhat it is
parentstringThe environment to create in. Required.
keyKeyThe key to create; only spec and caller-writable metadata are read. Required.
key_idstringThe id of the new key, ^[a-z]([a-z0-9_-]{0,61}[a-z0-9])?$; the server assigns one when empty.
validate_onlyboolValidate and return the result without writing anything.

#Key

FieldTypeWhat it is
namestringorgs/{org}/projects/{project}/envs/{env}/keys/{key}.
metaResourceMetaResource metadata.
specKeySpecDesired state. Required.

#ResourceMeta

FieldTypeWhat it is
labelsmap<string, string>Caller-writable, indexed labels (AIP-122 label rules).
annotationsmap<string, string>Caller-writable, unindexed annotations.
display_namestringCaller-writable human-readable name.

#KeySpec

FieldTypeWhat it is
purposeKeyPurposeWhat the key does. Required. One of sign, encrypt, mac.
algorithmKeyAlgorithmThe algorithm; it must suit the purpose. Required. One of ed25519, ec_p256_sha256, rsa_pkcs1_2048_sha256, rsa_pss_3072_sha256, aes_256_gcm, hmac_sha256.
rotation_perioddurationRotate automatically this often; unset means rotate only on request.
deletion_protectionboolWhile true, Delete fails with DELETION_PROTECTED. Default true.

#Response

FieldTypeWhat it is
namestring{parent-of-target}/operations/{operation}.
targetstringThe name of the Resource being changed.
target_generationint64The generation this Operation waits for.
verbOperationVerbWhat the Operation does. One of create, update, delete, custom.
custom_verbstringThe custom method verb when verb is CUSTOM, for example revoke.
doneboolWhether the Operation has finished.
create_timetimestampWhen the Operation started.
end_timetimestampWhen the Operation finished.
responseanyThe settled Resource (or Empty for a delete). One of the result group.
errorProblemDetailsThe failure, as the one error body. One of the result group.
progressOperationProgressProgress while not done.

#ProblemDetails

FieldTypeWhat it is
typestringhttps://sylphx.com/docs/errors/<code in kebab-case>.
titlestringA short customer-safe summary of the problem class.
statusint32The HTTP status, fixed by grpc_status.
detailstringA customer-safe explanation of this occurrence. Never contains SQL, stack traces, internal hostnames, or another tenant's data.
instancestringThe request id (Sylphx-Request-Id).
codestringThe stable UPPER_SNAKE code, one of ErrorCode without its prefix.
grpc_statusstringOne of the 16 canonical gRPC status names, for example ABORTED.
retryableboolWhether the same request may be retried.
effectErrorEffectWhat the failed call committed. One of none, applied, unknown.
retry_after_msint64How long to wait before retrying, when the server knows.
detailsany[]Typed details such as PreconditionFailure or EntitlementDenial.

#OperationProgress

FieldTypeWhat it is
percentint32Percent complete, when the controller can tell.
messagestringA customer-safe progress message.
conditionsCondition[]The target's conditions when this progress was read.

#Condition

FieldTypeWhat it is
typestringThe condition type, for example Ready.
statusConditionStatusWhether the condition holds. One of true, false, unknown.
observed_generationint64The generation this observation was made against.
reasonstringA machine-readable UpperCamelCase reason.
messagestringA customer-safe human-readable message.
severitySeverityHow severe a FALSE condition is. One of info, warning, error.
transition_timetimestampWhen status last changed.

#Errors

Every error arrives in the body Errors describes.

#Examples

curl -X POST "https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/keys" \
  -H "Authorization: Bearer $SYLPHX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"spec":{"algorithm":"ed25519","purpose":"sign"}}'