Skip to content
qibdo qibdo
v1
API version
  • v1
Theme
Book a demo

Generate Database Credential

POST
/vault/v1/workspaces/{workspace}/engines/qibdo/databases/{source_role}/credentials
curl --request POST \
--url https://example.com/vault/v1/workspaces/example/engines/qibdo/databases/example/credentials \
--header 'Content-Type: application/json' \
--data '{ "workspace": "example", "source_role": "example", "database_role": "example" }'

Generates a new ephemeral database credential against the given the vault backend database role configured for the workspace. The response embeds both the credential payload (returned exactly once) and the persistent lease handle.

workspace
required
string

The workspace to issue the credential under.

source_role
required
string

Legacy: free-form the vault backend database role name to draw the credential from. Pre-configured out-of-band by a vault administrator. Kept for the transition window — when both source_role and database_role are supplied, database_role wins.

Media type application/json

Request payload for Generate Database Qibdo Credential

Carries the input fields required to generate database qibdo credential.

object
workspace
required

The workspace to issue the credential under.

string
source_role
required

Legacy: free-form the vault backend database role name to draw the credential from. Pre-configured out-of-band by a vault administrator. Kept for the transition window — when both source_role and database_role are supplied, database_role wins.

string
database_role

The QibdoDatabaseRole UUID to draw the credential from. When supplied, the handler resolves the role’s name + workspace before forwarding to the engine — replacing the legacy source_role lookup.

string
Example generated
{
"workspace": "example",
"source_role": "example",
"database_role": "example"
}

OK

Media type application/json

Response payload from Generate Database Qibdo Credential

Carries the output produced by generate database qibdo credential.

object
credential

The freshly issued ephemeral credential bundled with its lease handle.

object
lease

The lease metadata for this credential — the persistent server-side handle used to renew or revoke the credential.

object
id

The unique identifier of the lease (UUID).

stringOutput only
workspace_id

The workspace this lease belongs to (UUID, weak reference to taxonomy).

stringOutput only
principal_id

The principal (IAM user / service account) the lease was issued to.

stringOutput only
ttl

Initial time-to-live for the lease.

stringOutput only
/^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$/
max_ttl

Maximum total lifetime including renewals — capped by the engine.

stringOutput only
/^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$/
renewable

Whether the lease can be renewed.

booleanOutput only
revocable

Whether the lease can be revoked early.

booleanOutput only
issued_at

Timestamp when the lease was issued.

string format: date-time Output only
expires_at

Timestamp when the lease expires (may be extended by RenewQibdoLease).

string format: date-time Output only
status

Current lifecycle status of the lease.

string format: enum Output only
Allowed values: LEASE_STATUS_UNSPECIFIED LEASE_STATUS_ACTIVE LEASE_STATUS_RENEWED LEASE_STATUS_REVOKED LEASE_STATUS_EXPIRED
source_type

The engine that produced this lease (database / cloud_aws / cloud_gcp / cloud_azure / ssh / kubernetes).

string format: enum Output only
Allowed values: LEASE_SOURCE_TYPE_UNSPECIFIED LEASE_SOURCE_TYPE_DATABASE LEASE_SOURCE_TYPE_CLOUD_AWS LEASE_SOURCE_TYPE_CLOUD_GCP LEASE_SOURCE_TYPE_CLOUD_AZURE LEASE_SOURCE_TYPE_SSH LEASE_SOURCE_TYPE_KUBERNETES
source_role

Engine-specific role identifier the lease was issued against (e.g., the vault database role name for database leases).

stringOutput only
engine_lease_id

The engine-side lease identifier (e.g., vault lease ID). Used as the prefix key for bulk-revoke operations.

stringOutput only
created

Timestamp when the lease metadata row was created (server-managed).

string format: date-time Output only
updated

Timestamp when the lease metadata was last modified (server-managed).

string format: date-time Output only
location_id

Weak reference to a topology Location — where this resource resides. Defaults to the global location when omitted at creation and is immutable thereafter. Only the global location is available in this release.

stringOutput only
username

The username portion of the credential (e.g., a transient database role).

stringOutput only
password

The password portion of the credential. Returned exactly once — clients MUST store it before the lease expires.

stringOutput only
Example
{
"credential": {
"lease": {
"status": "LEASE_STATUS_UNSPECIFIED",
"source_type": "LEASE_SOURCE_TYPE_UNSPECIFIED"
}
}
}

Default error response

Media type application/json

The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide.

object
code

The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

integer format: int32
message

A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.

string
details

A list of messages that carry the error details. There is a common set of message types for APIs to use.

Array<object>

Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.

object
@type

The type of the serialized message.

string
key
additional properties
any
Example generated
{
"code": 1,
"message": "example",
"details": [
{
"@type": "example"
}
]
}