Skip to content

Self-Service

Approve or reject end-user-initiated credential requests.

Get a self-service request.

Request

Returns the full snapshot of a request: status, credential definition, email, captured claims, extra fields, identification result (when applicable), offer id, and timestamps. The primary path for tenants to fetch details after receiving a self-service webhook (which carries only `request_id`).

Authentication: `self_service` scope.

Security
BearerAuth
Path
requestIdstring, (uuid)required
Headers
X-Org-Idstring, (uuid)required

Organization the call is acting on. The authenticated service user must be a member of this organization in DeepAdmin; otherwise the request returns 404.

X-Environmentstringrequired

Environment the call is scoped to. Resources are isolated per environment.

Enum:"beta""production"
curl -i -X GET \
  'https://docs.deepcredentials.swiss/_mock/docs/openapi/self-service-v1/b2b/v1/self-service/requests/{requestId}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'X-Environment: beta' \
  -H 'X-Org-Id: 497f6eca-6276-4993-bfeb-53cbbbba6f08'

Responses

Success response

Bodyapplication/json
admin_filled_fieldsArray of stringsrequired

Claim keys the admin is expected to fill before approving.

admin_filled_requiredArray of stringsrequired

Subset of admin_filled_fields that are mandatory for approval.

admin_filled_typesobjectrequired

Value type per admin-filled claim key (e.g. "string", "boolean").

claimsobjectrequired

Claim values captured up to the moment of the fetch.

completed_atstring, (date-time)

When the request left the pending state (RFC3339), if applicable.

config_idstring, (uuid)required

UUID v4 identifier.

Example:"550e8400-e29b-41d4-a716-446655440000"
credential_definitionobject(b2b.credentialDefinitionRefSlim)required

A compact reference to the credential definition (id, vct, and name only).

editable_field_sourcesobjectrequired

Assignment source per editable key: "user_filled", "admin_filled", or "identification_filled".

editable_field_typesobjectrequired

Value type per editable claim key.

editable_fieldsArray of stringsrequired

All claim keys the admin may supply or override on approval.

emailstring

Email address supplied by the applicant, if any.

environmentstringrequired

Swiyu environment: "beta" or "production".

extra_fieldsobjectrequired

Additional free-form fields submitted by the applicant.

identificationobject(selfservice.IdentificationDetail)

IdentificationDetail is non-nil only when the request went through an identification step. We expose the method key and the verified_attributes blob the provider returned (already decrypted at this point). Consumers can ignore it when present and identification was disabled at config time.

offer_idstring, (uuid)

UUID v4 identifier.

Example:"550e8400-e29b-41d4-a716-446655440000"
rejection_reasonstring

Reason provided when the request was rejected, if any.

request_idstring, (uuid)required

UUID v4 identifier.

Example:"550e8400-e29b-41d4-a716-446655440000"
statusstringrequired

Current lifecycle status of the request.

Enum:"awaiting_identification""awaiting_verification""invitation_sent""issued""credential_issued""rejected""expired""failed"
submitted_atstring, (date-time)required

When the applicant submitted the request (RFC3339).

Response
{ "request_id": "9c9a1f7b-2a3e-4f4a-9d22-1a2b3c4d5e6f", "config_id": "c0nfig1d-aaaa-bbbb-cccc-1111deadbeef", "environment": "beta", "status": "awaiting_verification", "email": "anna.example@partner.test", "credential_definition": { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "vct": "urn:ietf:params:oauth:vct:PersonId", "name": "Person ID" }, "claims": { "given_name": "Anna", "family_name": "Example", "date_of_birth": "1990-04-12" }, "extra_fields": { "purpose": "Account opening" }, "admin_filled_fields": [ "is_employee" ], "admin_filled_types": { "is_employee": "boolean" }, "admin_filled_required": [ "is_employee" ], "editable_fields": [ "given_name", "family_name", "date_of_birth", "is_employee" ], "editable_field_types": { "given_name": "string", "family_name": "string", "date_of_birth": "string", "is_employee": "boolean" }, "editable_field_sources": { "given_name": "user_filled", "family_name": "user_filled", "date_of_birth": "user_filled", "is_employee": "admin_filled" }, "identification": { "method": "eid_internal", "verified_attributes": {} }, "submitted_at": "2026-05-20T14:30:00Z" }