Accredible Credentials API

Issue, retrieve, update, delete, search, and verify digital credentials.

OpenAPI Specification

accredible-credentials-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Accredible Analytics Credentials API
  description: The Accredible API issues, manages, and verifies digital credentials - certificates and Open Badges - programmatically. Credentials are issued to a recipient against a Group (a course or achievement) and rendered with a reusable Design. The API also manages Evidence Items and References attached to credentials, generates credential PDFs and blockchain-verifiable records, returns engagement analytics, administers Departments and Team Members, and generates recipient SSO links. All requests are authenticated with an API key sent in the Authorization header using the scheme `Token token=YOUR_API_KEY`. Production base URL is https://api.accredible.com/v1; a sandbox is available at https://sandbox.api.accredible.com/v1. Endpoints and paths are grounded in Accredible's published API reference; request and response schemas are modeled and simplified.
  version: '1.0'
  contact:
    name: Accredible
    url: https://www.accredible.com
  license:
    name: Proprietary
    url: https://www.accredible.com/terms-of-service
servers:
- url: https://api.accredible.com/v1
  description: Production
- url: https://sandbox.api.accredible.com/v1
  description: Sandbox
security:
- tokenAuth: []
tags:
- name: Credentials
  description: Issue, retrieve, update, delete, search, and verify digital credentials.
paths:
  /credentials:
    post:
      operationId: createCredential
      tags:
      - Credentials
      summary: Create a credential
      description: Issues a new credential (certificate or badge) to a recipient against a Group, optionally with custom attributes, evidence items, and references.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - credential
              properties:
                credential:
                  $ref: '#/components/schemas/CredentialInput'
      responses:
        '200':
          description: The created credential.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CredentialEnvelope'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /credentials/bulk_create:
    post:
      operationId: bulkCreateCredentials
      tags:
      - Credentials
      summary: Bulk create credentials
      description: Issues many credentials in a single request.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                credentials:
                  type: array
                  items:
                    $ref: '#/components/schemas/CredentialInput'
      responses:
        '200':
          description: The created credentials.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /credentials/{id}:
    parameters:
    - $ref: '#/components/parameters/CredentialId'
    get:
      operationId: getCredential
      tags:
      - Credentials
      summary: View a credential
      description: Retrieves a single credential by its ID.
      responses:
        '200':
          description: The requested credential.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CredentialEnvelope'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateCredential
      tags:
      - Credentials
      summary: Update a credential
      description: Updates an existing credential.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                credential:
                  $ref: '#/components/schemas/CredentialInput'
      responses:
        '200':
          description: The updated credential.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CredentialEnvelope'
        '401':
          $ref: '#/components/responses/Unauthorized'
    delete:
      operationId: deleteCredential
      tags:
      - Credentials
      summary: Delete a credential
      description: Deletes a credential by ID.
      responses:
        '200':
          description: The credential was deleted.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /credentials/search:
    post:
      operationId: searchCredentials
      tags:
      - Credentials
      summary: Search for credentials
      description: Searches credentials by group, recipient email, recipient ID, and other attributes, with pagination.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                group_id:
                  type: integer
                email:
                  type: string
                recipient_id:
                  type: string
                page:
                  type: integer
                page_size:
                  type: integer
      responses:
        '200':
          description: Matching credentials.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /all_credentials:
    get:
      operationId: listAllCredentials
      deprecated: true
      tags:
      - Credentials
      summary: View many credentials (deprecated)
      description: Lists credentials filtered by group, email, or recipient. Deprecated in favor of the search endpoint.
      parameters:
      - name: group_id
        in: query
        schema:
          type: integer
      - name: email
        in: query
        schema:
          type: string
      - name: recipient_id
        in: query
        schema:
          type: string
      - name: page
        in: query
        schema:
          type: integer
      - name: page_size
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: A list of credentials.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /credentials/generate_pdf:
    post:
      operationId: generateCredentialPdfs
      tags:
      - Credentials
      summary: Generate PDFs for credentials
      description: Generates certificate PDFs for a set of credentials.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                credential_ids:
                  type: array
                  items:
                    type: integer
      responses:
        '200':
          description: PDF generation result.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /credentials/generate_single_pdf/{id}:
    parameters:
    - $ref: '#/components/parameters/CredentialId'
    post:
      operationId: generateSingleCredentialPdf
      tags:
      - Credentials
      summary: Generate PDF for a single credential
      description: Generates a certificate PDF for one credential.
      responses:
        '200':
          description: PDF generation result.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /credentials/blockchain_data/{encoded_id}:
    get:
      operationId: getBlockchainCredential
      tags:
      - Credentials
      summary: Verify blockchain credential
      description: Returns the blockchain verification record for an encoded credential ID.
      parameters:
      - name: encoded_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Blockchain verification data.
        '404':
          $ref: '#/components/responses/NotFound'
  /issuer/credential_redirect:
    get:
      operationId: credentialRedirect
      tags:
      - Credentials
      summary: Redirect to a credential
      description: Resolves and redirects to a credential's public page.
      parameters:
      - name: issuer_id
        in: query
        schema:
          type: integer
      - name: id
        in: query
        schema:
          type: string
      responses:
        '302':
          description: Redirect to the credential page.
components:
  schemas:
    Credential:
      allOf:
      - $ref: '#/components/schemas/CredentialInput'
      - type: object
        properties:
          id:
            type: integer
            description: The unique credential ID.
          url:
            type: string
            description: The public credential page URL.
          created_at:
            type: string
            format: date-time
    CredentialInput:
      type: object
      required:
      - group_id
      properties:
        recipient:
          $ref: '#/components/schemas/Recipient'
        group_id:
          type: integer
          description: The Group the credential belongs to.
        group_name:
          type: string
          description: The Group name
          usable in place of a Group ID.: null
        name:
          type: string
          description: The credential/course name shown to recipients.
        description:
          type: string
          description: The credential/course description shown to recipients.
        issued_on:
          type: string
          description: 'Date of issue. Format: DD/MM/YYYY.'
        expired_on:
          type: string
          description: 'Expiry date. Format: DD/MM/YYYY.'
        complete:
          type: boolean
          description: Whether the achievement is complete.
        private:
          type: boolean
          description: Whether the credential is private.
        custom_attributes:
          type: object
          description: Custom variables displayed on the credential's design.
        meta_data:
          type: object
          description: Arbitrary key-value strings stored on the credential.
    CredentialEnvelope:
      type: object
      properties:
        credential:
          $ref: '#/components/schemas/Credential'
    Error:
      type: object
      properties:
        error:
          type: string
          description: A human-readable error message.
        errors:
          type: array
          items:
            type: string
    Recipient:
      type: object
      properties:
        name:
          type: string
          description: The recipient's name.
        email:
          type: string
          description: The recipient's email address.
        id:
          type: string
          description: The recipient's ID as defined by your organization.
  parameters:
    CredentialId:
      name: id
      in: path
      required: true
      description: The unique ID of the credential.
      schema:
        type: integer
  responses:
    Unauthorized:
      description: Invalid or missing API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: API key sent in the Authorization header using the scheme `Token token=YOUR_API_KEY`.
Where this information came from

This is an independent, third-party profile of Accredible Credentials API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.