openapi: 3.2.0 info: title: Confluent Schema Registry Dek Registry API version: v1 tags: - name: Dek Registry paths: /dek-registry/v1/keks/{name}/deks: get: summary: Get a list of dek subjects operationId: getDekSubjects parameters: - name: name in: path description: Name of the kek required: true schema: type: string - name: deleted in: query description: Whether to include deleted keys schema: type: boolean - name: offset in: query description: Pagination offset for results schema: type: integer format: int32 default: 0 - name: limit in: query description: Pagination size for results. Ignored if negative schema: type: integer format: int32 default: -1 responses: '200': description: List of dek subjects content: application/vnd.schemaregistry.v1+json: schema: type: array items: type: string example: User application/vnd.schemaregistry+json; qs=0.9: schema: type: array items: type: string example: User application/json; qs=0.5: schema: type: array items: type: string example: User '404': description: Error code 40470 -- Key not found '422': description: Error code 42271 -- Invalid key tags: - Dek Registry post: summary: Create a dek operationId: createDek parameters: - name: name in: path description: Name of the kek required: true schema: type: string requestBody: description: The create request content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/CreateDekRequest' application/vnd.schemaregistry+json: schema: $ref: '#/components/schemas/CreateDekRequest' application/json: schema: $ref: '#/components/schemas/CreateDekRequest' application/octet-stream: schema: $ref: '#/components/schemas/CreateDekRequest' required: true responses: '200': description: The create response content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/Dek' application/vnd.schemaregistry+json; qs=0.9: schema: $ref: '#/components/schemas/Dek' application/json; qs=0.5: schema: $ref: '#/components/schemas/Dek' '409': description: Conflict. Error code 40971 -- Key already exists. Error code 40972 -- Too many keys. '422': description: Error code 42271 -- Invalid key '500': description: Error code 50070 -- Dek generation error deprecated: true tags: - Dek Registry /dek-registry/v1/keks: get: summary: Get a list of kek names operationId: getKekNames parameters: - name: subjectPrefix in: query description: Subject name prefix schema: type: array items: type: string - name: deleted in: query description: Whether to include deleted keys schema: type: boolean - name: offset in: query description: Pagination offset for results schema: type: integer format: int32 default: 0 - name: limit in: query description: Pagination size for results. Ignored if negative schema: type: integer format: int32 default: -1 responses: '200': description: List of kek names content: application/vnd.schemaregistry.v1+json: schema: type: array items: type: string example: mykek application/vnd.schemaregistry+json; qs=0.9: schema: type: array items: type: string example: mykek application/json; qs=0.5: schema: type: array items: type: string example: mykek tags: - Dek Registry post: summary: Create a kek operationId: createKek parameters: - name: testSharing in: query description: Whether to test kek sharing schema: type: boolean requestBody: description: The create request content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/CreateKekRequest' application/vnd.schemaregistry+json: schema: $ref: '#/components/schemas/CreateKekRequest' application/json: schema: $ref: '#/components/schemas/CreateKekRequest' application/octet-stream: schema: $ref: '#/components/schemas/CreateKekRequest' required: true responses: '200': description: The create response content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/Kek' application/vnd.schemaregistry+json; qs=0.9: schema: $ref: '#/components/schemas/Kek' application/json; qs=0.5: schema: $ref: '#/components/schemas/Kek' '409': description: Conflict. Error code 40971 -- Key already exists. Error code 40972 -- Too many keys. '422': description: Error code 42271 -- Invalid key tags: - Dek Registry /dek-registry/v1/keks/{name}: get: summary: Get a kek by name operationId: getKek parameters: - name: name in: path description: Name of the kek required: true schema: type: string - name: deleted in: query description: Whether to include deleted keys schema: type: boolean responses: '200': description: The kek info content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/Kek' application/vnd.schemaregistry+json; qs=0.9: schema: $ref: '#/components/schemas/Kek' application/json; qs=0.5: schema: $ref: '#/components/schemas/Kek' '404': description: Error code 40470 -- Key not found '422': description: Error code 42271 -- Invalid key tags: - Dek Registry put: summary: Alters a kek operationId: putKek parameters: - name: name in: path description: Name of the kek required: true schema: type: string - name: testSharing in: query description: Whether to test kek sharing schema: type: boolean requestBody: description: The update request content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/UpdateKekRequest' application/vnd.schemaregistry+json: schema: $ref: '#/components/schemas/UpdateKekRequest' application/json: schema: $ref: '#/components/schemas/UpdateKekRequest' application/octet-stream: schema: $ref: '#/components/schemas/UpdateKekRequest' required: true responses: '200': description: The update response content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/Kek' application/vnd.schemaregistry+json; qs=0.9: schema: $ref: '#/components/schemas/Kek' application/json; qs=0.5: schema: $ref: '#/components/schemas/Kek' '404': description: Error code 40470 -- Key not found '409': description: Error code 40971 -- Key already exists '422': description: Error code 42271 -- Invalid key tags: - Dek Registry delete: summary: Delete a kek operationId: deleteKek parameters: - name: name in: path description: Name of the kek required: true schema: type: string - name: permanent in: query description: Whether to perform a permanent delete schema: type: boolean responses: '204': description: No Content '404': description: Not found. Error code 40470 -- Key not found. Error code 40471 -- Key not soft-deleted. '422': description: Unprocessable entity. Error code 42271 -- Invalid key. Error code 42272 -- References to key exist. tags: - Dek Registry /dek-registry/v1/keks/{name}/deks/{subject}: get: summary: Get a dek by subject operationId: getDek parameters: - name: name in: path description: Name of the kek required: true schema: type: string - name: subject in: path description: Subject of the dek required: true schema: type: string - name: algorithm in: query description: Algorithm of the dek schema: type: string enum: - AES128_GCM - AES256_GCM - AES256_SIV - name: deleted in: query description: Whether to include deleted keys schema: type: boolean responses: '200': description: The dek info content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/Dek' application/vnd.schemaregistry+json; qs=0.9: schema: $ref: '#/components/schemas/Dek' application/json; qs=0.5: schema: $ref: '#/components/schemas/Dek' '404': description: Error code 40470 -- Key not found '422': description: Error code 42271 -- Invalid key '500': description: Error code 50070 -- Dek generation error tags: - Dek Registry post: summary: Create a dek operationId: createDekWithSubject parameters: - name: name in: path description: Name of the kek required: true schema: type: string - name: subject in: path description: Subject of the dek required: true schema: type: string - name: rewrap in: query description: Whether to rewrap encryptedKeyMaterial if the dek already exists schema: type: boolean requestBody: description: The create request content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/CreateDekRequest' application/vnd.schemaregistry+json: schema: $ref: '#/components/schemas/CreateDekRequest' application/json: schema: $ref: '#/components/schemas/CreateDekRequest' application/octet-stream: schema: $ref: '#/components/schemas/CreateDekRequest' required: true responses: '200': description: The create response content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/Dek' application/vnd.schemaregistry+json; qs=0.9: schema: $ref: '#/components/schemas/Dek' application/json; qs=0.5: schema: $ref: '#/components/schemas/Dek' '409': description: Conflict. Error code 40971 -- Key already exists. Error code 40972 -- Too many keys. '422': description: Error code 42271 -- Invalid key '500': description: Error code 50070 -- Dek generation error tags: - Dek Registry delete: summary: Delete all versions of a dek operationId: deleteDekVersions parameters: - name: name in: path description: Name of the kek required: true schema: type: string - name: subject in: path description: Subject of the dek required: true schema: type: string - name: algorithm in: query description: Algorithm of the dek schema: type: string enum: - AES128_GCM - AES256_GCM - AES256_SIV - name: permanent in: query description: Whether to perform a permanent delete schema: type: boolean responses: '204': description: No Content '404': description: Not found. Error code 40470 -- Key not found. Error code 40471 -- Key not soft-deleted. '422': description: Error code 42271 -- Invalid key tags: - Dek Registry /dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}: get: summary: Get a dek by subject and version operationId: getDekByVersion parameters: - name: name in: path description: Name of the kek required: true schema: type: string - name: subject in: path description: Subject of the dek required: true schema: type: string - name: version in: path description: Version of the dek required: true schema: type: string - name: algorithm in: query description: Algorithm of the dek schema: type: string enum: - AES128_GCM - AES256_GCM - AES256_SIV - name: deleted in: query description: Whether to include deleted keys schema: type: boolean responses: '200': description: The dek info content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/Dek' application/vnd.schemaregistry+json; qs=0.9: schema: $ref: '#/components/schemas/Dek' application/json; qs=0.5: schema: $ref: '#/components/schemas/Dek' '404': description: Error code 40470 -- Key not found '422': description: Unprocessable entity. Error code 42202 -- Invalid version. Error code 42271 -- Invalid key. '500': description: Error code 50070 -- Dek generation error tags: - Dek Registry delete: summary: Delete a dek version operationId: deleteDekVersion parameters: - name: name in: path description: Name of the kek required: true schema: type: string - name: subject in: path description: Subject of the dek required: true schema: type: string - name: version in: path description: Version of the dek required: true schema: type: string - name: algorithm in: query description: Algorithm of the dek schema: type: string enum: - AES128_GCM - AES256_GCM - AES256_SIV - name: permanent in: query description: Whether to perform a permanent delete schema: type: boolean responses: '204': description: No Content '404': description: Not found. Error code 40470 -- Key not found. Error code 40471 -- Key not soft-deleted. '422': description: Unprocessable entity. Error code 42202 -- Invalid version. Error code 42271 -- Invalid key. tags: - Dek Registry /dek-registry/v1/keks/{name}/deks/{subject}/versions: get: summary: List versions of dek operationId: getDekVersions parameters: - name: name in: path description: Name of the kek required: true schema: type: string - name: subject in: path description: Subject of the dek required: true schema: type: string - name: algorithm in: query description: Algorithm of the dek schema: type: string enum: - AES128_GCM - AES256_GCM - AES256_SIV - name: deleted in: query description: Whether to include deleted keys schema: type: boolean - name: offset in: query description: Pagination offset for results schema: type: integer format: int32 default: 0 - name: limit in: query description: Pagination size for results. Ignored if negative schema: type: integer format: int32 default: -1 responses: '200': description: List of version numbers for dek content: application/vnd.schemaregistry.v1+json: schema: type: array items: type: integer format: int32 example: 1 application/vnd.schemaregistry+json; qs=0.9: schema: type: array items: type: integer format: int32 example: 1 application/json; qs=0.5: schema: type: array items: type: integer format: int32 example: 1 '404': description: Error code 40470 -- Key not found '422': description: Error code 42271 -- Invalid key tags: - Dek Registry /dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}/undelete: post: summary: Undelete a dek version operationId: undeleteDekVersion parameters: - name: name in: path description: Name of the kek required: true schema: type: string - name: subject in: path description: Subject of the dek required: true schema: type: string - name: version in: path description: Version of the dek required: true schema: type: string - name: algorithm in: query description: Algorithm of the dek schema: type: string enum: - AES128_GCM - AES256_GCM - AES256_SIV responses: '204': description: No Content '404': description: Not found. Error code 40470 -- Key not found. Error code 40472 -- Key must be undeleted. '422': description: Unprocessable entity. Error code 42202 -- Invalid version. Error code 42271 -- Invalid key. tags: - Dek Registry /dek-registry/v1/keks/{name}/deks/{subject}/undelete: post: summary: Undelete all versions of a dek operationId: undeleteDekVersions parameters: - name: name in: path description: Name of the kek required: true schema: type: string - name: subject in: path description: Subject of the dek required: true schema: type: string - name: algorithm in: query description: Algorithm of the dek schema: type: string enum: - AES128_GCM - AES256_GCM - AES256_SIV responses: '204': description: No Content '404': description: Not found. Error code 40470 -- Key not found. Error code 40472 -- Key must be undeleted. '422': description: Error code 42271 -- Invalid key tags: - Dek Registry /dek-registry/v1/keks/{name}/undelete: post: summary: Undelete a kek operationId: undeleteKek parameters: - name: name in: path description: Name of the kek required: true schema: type: string responses: '204': description: No Content '404': description: Error code 40470 -- Key not found '422': description: Unprocessable entity. Error code 42271 -- Invalid key. Error code 42272 -- References to key exist. tags: - Dek Registry /dek-registry/v1/keks/{name}/test: post: summary: Test a kek operationId: testKek_1 parameters: - name: name in: path description: Name of the kek required: true schema: type: string responses: '200': description: The test response content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/Kek' application/vnd.schemaregistry+json; qs=0.9: schema: $ref: '#/components/schemas/Kek' application/json; qs=0.5: schema: $ref: '#/components/schemas/Kek' '422': description: Error code 42271 -- Invalid key '500': description: Error code 50070 -- Dek generation error tags: - Dek Registry components: schemas: UpdateKekRequest: type: object properties: kmsProps: type: object additionalProperties: type: string description: Properties of the kek description: Properties of the kek doc: type: string description: Description of the kek shared: type: boolean description: Whether the kek is shared description: Update kek request Kek: type: object properties: name: type: string description: Name of the kek kmsType: type: string description: KMS type of the kek kmsKeyId: type: string description: KMS key ID of the kek kmsProps: type: object additionalProperties: type: string description: Properties of the kek description: Properties of the kek doc: type: string description: Description of the kek shared: type: boolean description: Whether the kek is shared ts: type: integer description: Timestamp of the kek format: int64 deleted: type: boolean description: Whether the kek is deleted description: Kek CreateDekRequest: type: object properties: subject: type: string description: Subject of the dek version: type: integer description: Version of the dek format: int32 algorithm: type: string description: Algorithm of the dek enum: - AES128_GCM - AES256_GCM - AES256_SIV encryptedKeyMaterial: type: string description: Encrypted key material of the dek deleted: type: boolean description: Whether the dek is deleted description: Create dek request Dek: type: object properties: kekName: type: string description: Kek name of the dek subject: type: string description: Subject of the dek version: type: integer description: Version of the dek format: int32 algorithm: type: string description: Algorithm of the dek enum: - AES128_GCM - AES256_GCM - AES256_SIV encryptedKeyMaterial: type: string description: Encrypted key material of the dek keyMaterial: type: string description: Raw key material of the dek ts: type: integer description: Timestamp of the dek format: int64 deleted: type: boolean description: Whether the dek is deleted description: Dek CreateKekRequest: type: object properties: name: type: string description: Name of the kek kmsType: type: string description: KMS type of the kek kmsKeyId: type: string description: KMS key ID of the kek kmsProps: type: object additionalProperties: type: string description: Properties of the kek description: Properties of the kek doc: type: string description: Description of the kek shared: type: boolean description: Whether the kek is shared deleted: type: boolean description: Whether the kek is deleted description: Create kek request