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

# Issue Credential



## OpenAPI

````yaml certify-api/openapi.json POST /issue
openapi: 3.0.0
info:
  title: Xerobi Certification & Badge API
  version: '2026-01-01'
  description: >-
    A comprehensive API for issuing, managing, and verifying digital
    certificates and badges. Perfect for educational institutions, certification
    bodies, and organizations requiring verifiable credential management.
    Supports certificate templates, digital badges, credential lifecycle
    management, public verification, webhooks, and comprehensive audit logging.
  contact:
    name: Xerobi Support
    email: support@xerobi.com
  license:
    name: Proprietary
servers:
  - url: https://api.hixbe.com/certify
    description: Production
security:
  - BearerAuth: []
tags:
  - name: Templates
    description: >-
      Certificate template management - create and manage reusable certificate
      designs
  - name: Credentials
    description: >-
      Issued credential management - view and track digital certificates and
      badges
  - name: Badges
    description: Digital badge definitions - create and manage badge metadata and criteria
  - name: Verification
    description: Public credential verification - validate issued certificates and badges
  - name: Issuance
    description: >-
      Credential issuance - create and distribute digital certificates and
      badges
  - name: Webhooks
    description: Event notifications - configure webhooks for credential lifecycle events
  - name: Audit Logs
    description: >-
      Activity tracking - comprehensive audit trail for all credential
      operations
  - name: Programs
    description: Certification programs - organize credentials into structured programs
  - name: Revocation
    description: Credential revocation - invalidate certificates and badges when necessary
paths:
  /issue:
    post:
      tags:
        - Issuance
      summary: Issue certificate or badge
      description: >-
        Issue a new digital certificate or badge to a recipient. The credential
        will be generated based on the specified template and recipient
        information. An email notification will be sent to the recipient with
        their credential details.
      operationId: issueCredential
      parameters:
        - $ref: '#/components/parameters/Xerobi-Version'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueCredentialRequest'
            example:
              recipient:
                name: John Doe
                email: john.doe@example.com
              template_id: tmpl_1234567890abcdef
              metadata:
                course_title: Advanced Web Development
                completion_date: '2025-12-01'
                grade: A+
                instructor: Jane Smith
              expire_at: '2028-12-01T00:00:00Z'
      responses:
        '201':
          description: Credential issued successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CredentialResponse'
              example:
                id: cred_1234567890abcdef
                status: issued
                verify_url: https://verify.hixbe.com/cred_1234567890abcdef
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  parameters:
    Xerobi-Version:
      name: Xerobi-Version
      in: header
      required: true
      schema:
        type: string
        example: '2026-01-01'
      description: API version in YYYY-MM-DD format
  schemas:
    IssueCredentialRequest:
      type: object
      description: Request payload for issuing a new credential
      required:
        - recipient
        - template_id
      properties:
        recipient:
          type: object
          description: Information about the credential recipient
          properties:
            name:
              type: string
              description: Full name of the recipient
              example: John Doe
            email:
              type: string
              format: email
              description: Email address of the recipient for notifications
              example: john.doe@example.com
        template_id:
          type: string
          description: ID of the template to use for this credential
          example: tmpl_1234567890abcdef
        metadata:
          type: object
          description: Additional custom data to include with the credential
          example:
            course_title: Advanced Web Development
            completion_date: '2025-12-01'
            grade: A+
            instructor: Jane Smith
        expire_at:
          type: string
          format: date-time
          nullable: true
          description: Optional expiration date for the credential
          example: '2028-12-01T00:00:00Z'
    CredentialResponse:
      type: object
      description: Response containing issued credential information
      properties:
        id:
          type: string
          description: Unique identifier for the issued credential
          example: cred_1234567890abcdef
        status:
          type: string
          description: Current status of the credential
          example: issued
          enum:
            - issued
            - revoked
        verify_url:
          type: string
          format: uri
          description: Public URL for verifying this credential
          example: https://verify.hixbe.com/cred_1234567890abcdef
    Error:
      type: object
      description: Standard error response format
      properties:
        error:
          type: string
          description: Error type identifier
          example: invalid_request
        message:
          type: string
          description: Human-readable error message
          example: The credential ID provided is invalid
        code:
          type: string
          description: Optional error code for programmatic handling
          example: INVALID_CREDENTIAL_ID
      required:
        - error
        - message
  responses:
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````

## Related topics

- [Certification API FAQ](https://docs.xerobi.com/faq-guides/certification-api-faq.md)
- [Xerobi Certification & Badge API Introduction](https://docs.xerobi.com/certify/introduction.md)
- [List Credentials](https://docs.xerobi.com/certify/endpoint/list-credentials.md)
- [Verify Credential](https://docs.xerobi.com/certify/endpoint/verify-credential.md)
- [Revoke Credential](https://docs.xerobi.com/certify/endpoint/revoke-credential.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.