Accredible Designs API

Reusable visual specifications for rendering badges and certificates.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/accredible-designs-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

accredible-designs-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Accredible Analytics Designs 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: Designs
  description: Reusable visual specifications for rendering badges and certificates.
paths:
  /designs:
    get:
      operationId: listDesigns
      deprecated: true
      tags:
      - Designs
      summary: View all designs (deprecated)
      description: Lists Designs, optionally filtered by kind and department.
      parameters:
      - name: kind
        in: query
        schema:
          type: string
          enum:
          - certificate
          - badge
      - name: department_id
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: A list of designs.
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createDesign
      tags:
      - Designs
      summary: Create a design
      description: Creates a new visual Design for badges or certificates.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                design:
                  $ref: '#/components/schemas/DesignInput'
      responses:
        '200':
          description: The created design.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /designs/{design_id}:
    parameters:
    - $ref: '#/components/parameters/DesignId'
    get:
      operationId: getDesign
      tags:
      - Designs
      summary: View a design
      description: Retrieves a single Design by ID.
      responses:
        '200':
          description: The requested design.
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateDesign
      tags:
      - Designs
      summary: Update a design
      description: Updates an existing Design.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                design:
                  $ref: '#/components/schemas/DesignInput'
      responses:
        '200':
          description: The updated design.
        '401':
          $ref: '#/components/responses/Unauthorized'
    delete:
      operationId: deleteDesign
      tags:
      - Designs
      summary: Delete a design
      description: Deletes a Design by ID.
      responses:
        '200':
          description: The design was deleted.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /designs/{design_id}/copy:
    post:
      operationId: copyDesign
      tags:
      - Designs
      summary: Copy a design
      description: Creates a duplicate of an existing Design.
      parameters:
      - $ref: '#/components/parameters/DesignId'
      responses:
        '200':
          description: The copied design.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /designs/search:
    post:
      operationId: searchDesigns
      tags:
      - Designs
      summary: Search for designs
      description: Searches Designs by name, kind, and other attributes.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                kind:
                  type: string
                  enum:
                  - certificate
                  - badge
                page:
                  type: integer
                page_size:
                  type: integer
      responses:
        '200':
          description: Matching designs.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /designs/{design_id}/preview:
    post:
      operationId: previewDesign
      tags:
      - Designs
      summary: Preview a design
      description: Renders a preview image of a Design with sample data.
      parameters:
      - $ref: '#/components/parameters/DesignId'
      responses:
        '200':
          description: A design preview.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /designers/badge/initialize:
    post:
      operationId: initializeBadgeDesigner
      tags:
      - Designs
      summary: Initialize embedded badge designer
      description: Returns a session for the embedded badge designer experience.
      responses:
        '200':
          description: An embedded badge designer session.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /designers/certificate/initialize:
    post:
      operationId: initializeCertificateDesigner
      tags:
      - Designs
      summary: Initialize embedded certificate designer
      description: Returns a session for the embedded certificate designer experience.
      responses:
        '200':
          description: An embedded certificate designer session.
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  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'
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: A human-readable error message.
        errors:
          type: array
          items:
            type: string
    DesignInput:
      type: object
      properties:
        name:
          type: string
          description: The name of the design.
        kind:
          type: string
          enum:
          - certificate
          - badge
          description: Whether the design renders a certificate or a badge.
        department_id:
          type: integer
          description: The department the design belongs to.
  parameters:
    DesignId:
      name: design_id
      in: path
      required: true
      description: The unique ID of the design.
      schema:
        type: integer
  securitySchemes:
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: API key sent in the Authorization header using the scheme `Token token=YOUR_API_KEY`.