The Versus Secret Vault — secrets, external-vault integrations, stored credentials, and rotation. Auto-generated from the platform OpenAPI schema so it matches the running API.
REST API for this feature — 82 operations across 45 resource paths, auto-generated from the platform's live OpenAPI schema (drf-spectacular).
Base URL
https://<your-versus-host>/api· AuthAuthorization: Bearer <JWT>(fromPOST /api/auth/token/) · 📄 Download the OpenAPI spec for Postman/Insomnia/Swagger · see the API overview for pagination, filtering, and errors.
GET /api/credentials/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
ordering | query | no | string | Which field to use when ordering the results. |
page | query | no | integer | A page number within the paginated result set. |
page_size | query | no | integer | Number of results to return per page. |
search | query | no | string | A search term. |
Responses: 200 → PaginatedCredentialList
POST /api/credentials/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
Request body (application/json): CredentialRequest
Responses: 201 → Credential
GET /api/credentials/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this credential. |
Responses: 200 → Credential
PUT /api/credentials/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this credential. |
Request body (application/json): CredentialRequest
Responses: 200 → Credential
PATCH /api/credentials/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this credential. |
Request body (application/json): PatchedCredentialRequest
Responses: 200 → Credential
DELETE /api/credentials/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this credential. |
Responses: 204
GET /api/extvault/connections/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
ordering | query | no | string | Which field to use when ordering the results. |
page | query | no | integer | A page number within the paginated result set. |
page_size | query | no | integer | Number of results to return per page. |
search | query | no | string | A search term. |
Responses: 200 → PaginatedExternalVaultConnectionList
POST /api/extvault/connections/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
Request body (application/json): ExternalVaultConnectionRequest
Responses: 201 → ExternalVaultConnection
GET /api/extvault/connections/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string | A UUID string identifying this external vault connection. |
Responses: 200 → ExternalVaultConnection
PUT /api/extvault/connections/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string | A UUID string identifying this external vault connection. |
Request body (application/json): ExternalVaultConnectionRequest
Responses: 200 → ExternalVaultConnection
PATCH /api/extvault/connections/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string | A UUID string identifying this external vault connection. |
Request body (application/json): PatchedExternalVaultConnectionRequest
Responses: 200 → ExternalVaultConnection
DELETE /api/extvault/connections/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string | A UUID string identifying this external vault connection. |
Responses: 204
POST /api/extvault/connections/{id}/test/Authenticate to the external vault + a cheap reachability check. Updates
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string | A UUID string identifying this external vault connection. |
Request body (application/json): ExternalVaultConnectionRequest
Responses: 200 → ExternalVaultConnection
GET /api/extvault/secrets/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
ordering | query | no | string | Which field to use when ordering the results. |
page | query | no | integer | A page number within the paginated result set. |
page_size | query | no | integer | Number of results to return per page. |
search | query | no | string | A search term. |
Responses: 200 → PaginatedExternalSecretRefList
POST /api/extvault/secrets/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
Request body (application/json): ExternalSecretRefRequest
Responses: 201 → ExternalSecretRef
GET /api/extvault/secrets/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string | A UUID string identifying this external secret ref. |
Responses: 200 → ExternalSecretRef
PUT /api/extvault/secrets/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string | A UUID string identifying this external secret ref. |
Request body (application/json): ExternalSecretRefRequest
Responses: 200 → ExternalSecretRef
PATCH /api/extvault/secrets/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string | A UUID string identifying this external secret ref. |
Request body (application/json): PatchedExternalSecretRefRequest
Responses: 200 → ExternalSecretRef
DELETE /api/extvault/secrets/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string | A UUID string identifying this external secret ref. |
Responses: 204
POST /api/extvault/secrets/{id}/test/Resolve the secret once to confirm the path + keys are correct. Returns
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string | A UUID string identifying this external secret ref. |
Request body (application/json): ExternalSecretRefRequest
Responses: 200 → ExternalSecretRef
GET /api/password-changes/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
ordering | query | no | string | Which field to use when ordering the results. |
page | query | no | integer | A page number within the paginated result set. |
page_size | query | no | integer | Number of results to return per page. |
search | query | no | string | A search term. |
status | query | no | string | * pending - Pending |
Responses: 200 → PaginatedPasswordChangeList
POST /api/password-changes/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
Request body (application/json): PasswordChangeRequest
Responses: 201 → PasswordChange
GET /api/password-changes/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this password change. |
Responses: 200 → PasswordChange
PUT /api/password-changes/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this password change. |
Request body (application/json): PasswordChangeRequest
Responses: 200 → PasswordChange
PATCH /api/password-changes/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this password change. |
Request body (application/json): PatchedPasswordChangeRequest
Responses: 200 → PasswordChange
DELETE /api/password-changes/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this password change. |
Responses: 204
GET /api/vault/app-principals/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
page | query | no | integer | A page number within the paginated result set. |
page_size | query | no | integer | Number of results to return per page. |
search | query | no | string | A search term. |
Responses: 200 → PaginatedVaultAppPrincipalList
POST /api/vault/app-principals/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
Request body (application/json): VaultAppPrincipalRequest
Responses: 201 → VaultAppPrincipal
GET /api/vault/app-principals/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vault app principal. |
Responses: 200 → VaultAppPrincipal
PUT /api/vault/app-principals/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vault app principal. |
Request body (application/json): VaultAppPrincipalRequest
Responses: 200 → VaultAppPrincipal
PATCH /api/vault/app-principals/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vault app principal. |
Request body (application/json): PatchedVaultAppPrincipalRequest
Responses: 200 → VaultAppPrincipal
DELETE /api/vault/app-principals/{id}/Deploy-safe base for making an existing DRF ModelViewSet tenant-isolated
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vault app principal. |
Responses: 204
GET /api/vault/capabilities/List capabilitys
Responses: 200
GET /api/vault/checkouts/List checkouts
Responses: 200
POST /api/vault/checkouts/{id}/force-release/Force release: checkout
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses: 200
GET /api/vault/enrollments/List enrollments
Responses: 200
POST /api/vault/enrollments/Create enrollment
Responses: 201
GET /api/vault/enrollments/unenrolled_devices/List unenrolled devices
Responses: 200
DELETE /api/vault/enrollments/{id}/Delete enrollment
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses: 204
POST /api/vault/enrollments/{id}/verify/Verify: enrollment
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses: 200
GET /api/vault/fetchMachine secret fetch for service accounts. Authenticated ONLY by an app
Responses: 200
GET /api/vault/leases/List leases
Responses: 200
POST /api/vault/leases/Create lease
Responses: 201
POST /api/vault/leases/{id}/renew/Renew: lease
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses: 200
POST /api/vault/leases/{id}/revoke/Revoke: lease
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses: 200
GET /api/vault/mounts/List mounts
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
page | query | no | integer | A page number within the paginated result set. |
page_size | query | no | integer | Number of results to return per page. |
search | query | no | string | A search term. |
Responses: 200 → PaginatedVaultMountList
POST /api/vault/mounts/Create mount
Request body (application/json): VaultMountRequest
Responses: 201 → VaultMount
GET /api/vault/mounts/{id}/Retrieve mount
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vault mount. |
Responses: 200 → VaultMount
PUT /api/vault/mounts/{id}/Update mount
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vault mount. |
Request body (application/json): VaultMountRequest
Responses: 200 → VaultMount
PATCH /api/vault/mounts/{id}/Update mount
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vault mount. |
Request body (application/json): PatchedVaultMountRequest
Responses: 200 → VaultMount
DELETE /api/vault/mounts/{id}/Delete mount
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vault mount. |
Responses: 204
POST /api/vault/mounts/{id}/test_connection/Test connection: mount
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vault mount. |
Request body (application/json): VaultMountRequest
Responses: 200 → VaultMount
GET /api/vault/path-policies/List path policys
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
page | query | no | integer | A page number within the paginated result set. |
page_size | query | no | integer | Number of results to return per page. |
search | query | no | string | A search term. |
Responses: 200 → PaginatedVaultPathPolicyList
POST /api/vault/path-policies/Create path policy
Request body (application/json): VaultPathPolicyRequest
Responses: 201 → VaultPathPolicy
GET /api/vault/path-policies/{id}/Retrieve path policy
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vault path policy. |
Responses: 200 → VaultPathPolicy
PUT /api/vault/path-policies/{id}/Update path policy
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vault path policy. |
Request body (application/json): VaultPathPolicyRequest
Responses: 200 → VaultPathPolicy
PATCH /api/vault/path-policies/{id}/Update path policy
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vault path policy. |
Request body (application/json): PatchedVaultPathPolicyRequest
Responses: 200 → VaultPathPolicy
DELETE /api/vault/path-policies/{id}/Delete path policy
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vault path policy. |
Responses: 204
GET /api/vault/reveals/List reveals
Responses: 200
POST /api/vault/reveals/{id}/approve/Approve: reveal
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses: 200
POST /api/vault/reveals/{id}/consume/Consume: reveal
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses: 200
POST /api/vault/reveals/{id}/deny/Deny: reveal
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses: 200
GET /api/vault/rotation-policies/List rotation policys
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
ordering | query | no | string | Which field to use when ordering the results. |
page | query | no | integer | A page number within the paginated result set. |
page_size | query | no | integer | Number of results to return per page. |
search | query | no | string | A search term. |
Responses: 200 → PaginatedVaultRotationPolicyList
POST /api/vault/rotation-policies/Create rotation policy
Request body (application/json): VaultRotationPolicyRequest
Responses: 201 → VaultRotationPolicy
GET /api/vault/rotation-policies/{id}/Retrieve rotation policy
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vault rotation policy. |
Responses: 200 → VaultRotationPolicy
PUT /api/vault/rotation-policies/{id}/Update rotation policy
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vault rotation policy. |
Request body (application/json): VaultRotationPolicyRequest
Responses: 200 → VaultRotationPolicy
PATCH /api/vault/rotation-policies/{id}/Update rotation policy
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vault rotation policy. |
Request body (application/json): PatchedVaultRotationPolicyRequest
Responses: 200 → VaultRotationPolicy
DELETE /api/vault/rotation-policies/{id}/Delete rotation policy
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | integer | A unique integer value identifying this vault rotation policy. |
Responses: 204
GET /api/vault/secrets/List secrets
Responses: 200
POST /api/vault/secrets/Create secret
Responses: 201
GET /api/vault/secrets/{id}/Retrieve secret
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses: 200
DELETE /api/vault/secrets/{id}/Delete secret
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses: 204
POST /api/vault/secrets/{id}/checkin/Checkin: secret
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses: 200
POST /api/vault/secrets/{id}/checkout/Checkout: secret
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses: 200
POST /api/vault/secrets/{id}/hard_delete/Hard delete: secret
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses: 200
GET /api/vault/secrets/{id}/read_value/Read value: secret
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses: 200
POST /api/vault/secrets/{id}/reveal-request/Reveal request: secret
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses: 200
POST /api/vault/secrets/{id}/rotate/Rotate: secret
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses: 200
POST /api/vault/secrets/{id}/rotation-policy/Attach (POST {"policy_id": <id>}) or detach (DELETE) a rotation
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses: 200
DELETE /api/vault/secrets/{id}/rotation-policy/Attach (POST {"policy_id": <id>}) or detach (DELETE) a rotation
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses: 204
GET /api/vault/secrets/{id}/versions/Versions: secret
| Parameter | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses: 200
POST /api/vault/tokenCreate token
Responses: 200
Auto-generated from drf-spectacular OpenAPI. Endpoint descriptions come from viewset docstrings/serializers; enriching those improves this page on the next generation.