> ## Documentation Index
> Fetch the complete documentation index at: https://docs.humanos.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Revoke Credential

> Permanently revoke an active credential. Flips status to REVOKED, records revokedAt and revocationReason,
appends a REVOKE proof to the credential, and emits a MANDATE_REVOKED activity event.
Optionally include a `reason` (max 200 chars) in the request body to record why the credential was revoked; it is stored as the credential revocationReason and included in the MANDATE_REVOKED event.
Subsequent /vp and /verify calls for this credential are denied with reason credential_revoked.



## OpenAPI

````yaml /versions/2026-07-06.yaml delete /credential/revoke/{credentialId}
openapi: 3.1.0
info:
  title: Humanos API
  description: Humanos API
  version: '1.0'
  contact: {}
servers: []
security: []
tags:
  - name: humanosApp
    description: ''
paths:
  /credential/revoke/{credentialId}:
    delete:
      tags:
        - Credentials
      summary: Revoke Credential
      description: >-
        Permanently revoke an active credential. Flips status to REVOKED,
        records revokedAt and revocationReason,

        appends a REVOKE proof to the credential, and emits a MANDATE_REVOKED
        activity event.

        Optionally include a `reason` (max 200 chars) in the request body to
        record why the credential was revoked; it is stored as the credential
        revocationReason and included in the MANDATE_REVOKED event.

        Subsequent /vp and /verify calls for this credential are denied with
        reason credential_revoked.
      operationId: credentials_revoke
      parameters:
        - name: credentialId
          required: true
          in: path
          description: URN of the credential to revoke
          schema:
            example: urn:via:credential:550e8400-e29b-41d4-a716-446655440000
            type: string
        - $ref: '#/components/parameters/ApiVersion'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RevokeCredentialDto'
      responses:
        '200':
          description: >-
            Credential revoked. The revocation is recorded as a REVOKE proof on
            the credential.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RevokeCredentialEntity'
        '400':
          description: >-
            Credential is not in a revocable (ACTIVE) status, or the credential
            URN is malformed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    example: 400
                  message:
                    type: string
                    example: Credential is not in a revocable status
                  error:
                    type: string
                    example: Bad Request
        '403':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    example: 403
                  message:
                    type: string
                    example: Credential is not accessible by this API key
                  error:
                    type: string
                    example: Forbidden
        '404':
          description: Credential not found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    example: 404
                  message:
                    type: string
                    example: Credential not found
                  error:
                    type: string
                    example: Not Found
        '409':
          description: Credential is already revoked.
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    example: 409
                  message:
                    type: string
                    example: Credential is already revoked
                  error:
                    type: string
                    example: Unknown Error
components:
  parameters:
    ApiVersion:
      name: API-Version
      in: header
      required: false
      schema:
        type: string
        pattern: ^\d{4}-\d{2}-\d{2}$
        example: '2026-07-06'
      description: >-
        Pin request, response, and webhook shapes to a specific dated API
        version (YYYY-MM-DD). Omit to use the version pinned to your API key
        (set when the key is created; new keys default to the latest version).
        New integrations should target the latest version.
  schemas:
    RevokeCredentialDto:
      type: object
      properties:
        reason:
          type: string
          description: >-
            Free-text reason for revocation, recorded on the credential and in
            the MANDATE_REVOKED receipt. Recommended values from VIA protocol
            §5.5.1: "user_initiated", "organization_policy", "system_expiry".
          example: user_initiated
          maxLength: 200
    RevokeCredentialEntity:
      type: object
      properties:
        credentialId:
          type: string
          example: urn:via:credential:550e8400-e29b-41d4-a716-446655440000
          description: URN of the revoked credential
        status:
          type: string
          enum:
            - DRAFT
            - ACTIVE
            - REJECTED
            - CANCELED
            - REVOKED
            - EXPIRED
          example: REVOKED
          description: Always REVOKED on a successful response
        revokedAt:
          type: string
          example: '2026-05-02T10:15:30.000Z'
          description: When the credential was revoked (ISO 8601)
      required:
        - credentialId
        - status
        - revokedAt

````