Accredify Open Badges API

OpenBadges

Operations 4

POST /v1/openbadges/issue Allow an issuer to create open badges #
POST /v1/openbadges/new-course Allow an issuer to create an open badges course #
DELETE /v1/openbadges/{assertion} Allow an issuer to revoke an open badge #
PATCH /v1/openbadges/{assertion} Allow an issuer to update an open badge #

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/accredify0604-openbadges-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

accredify0604-openbadges-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Accredify Dashboard Open Badges API
  description: This is the API documentation for the Accredify Dashboard, providing access to our services in a development and production environment.
  version: 1.0.0
servers:
- url: http://dashboard.local.accredify.io/api
  description: Accredify Local (Local)
- url: https://dashboard.uat.accredify.io/api
  description: Accredify Sandbox (UAT)
- url: https://dashboard.accredify.io/api
  description: Accredify Main Server (Production)
tags:
- name: OpenBadges
  description: OpenBadges
paths:
  /v1/openbadges/issue:
    post:
      tags:
      - OpenBadges
      summary: Allow an issuer to create open badges
      operationId: issueOpenBadges
      requestBody:
        description: Information required to create a batch of badges
        required: true
        content:
          application/json:
            schema:
              required:
              - courseCode
              - issue
              - distribute
              - badges
              properties:
                courseCode:
                  description: The code of the course
                  type: string
                  example: PHP-Mastery
                batchName:
                  description: The name of the batch (auto-generated by default)
                  type: string
                  example: Batch-001
                issue:
                  description: Should the badges be issued?
                  type: boolean
                  example: true
                distribute:
                  description: Should the badges be sent out to the recipients?
                  type: boolean
                  example: true
                badges:
                  type: array
                  items:
                    required:
                    - recipient
                    properties:
                      assertion:
                        description: Information about the assertion
                        properties:
                          uuid:
                            description: Universally unique identifier of the badge, has to be UUID V4
                            type: string
                            example: 1238a551-6032-46a7-b882-3f05864b4cbe
                          issued_at:
                            description: The date and time of when the badge was issued
                            type: string
                            example: '2021-02-01T12:00:00Z'
                          expires_at:
                            description: The date and time of when the badge will expire
                            type: string
                            example: '2021-02-01T12:00:00Z'
                          narrative:
                            description: The narrative for the award
                            type: string
                            example: Recipient is awarded for exceptional results
                        type: object
                      evidence:
                        description: Information about the evidence
                        properties:
                          url:
                            description: The url hosted page of the evidence
                            type: string
                            example: https://accredify.io
                          narrative:
                            description: The narrative for the evidence
                            type: string
                            example: Recipient is awarded A+
                        type: object
                      recipient:
                        description: Information about the recipient
                        required:
                        - name
                        - email
                        properties:
                          name:
                            description: The name of the recipient
                            type: string
                            example: John Doe
                          email:
                            description: The email of the recipient
                            type: string
                            example: johndoe@gmail.com
                          studentId:
                            description: The student ID of the recipient
                            type: string
                            example: U0129382
                        type: object
                      additionalData:
                        description: Additional data related to the badge. This object can include arbitrary properties, not limited to 'IHL'. Clients are encouraged to include any relevant information that provides further context or details about the badge.
                        properties:
                          IHL:
                            description: The Institute of Higher Learning associated with the badge
                            type: string
                            example: INSTITUTE OF TECHNICAL EDUCATION
                        type: object
                    type: object
              type: object
      responses:
        '200':
          description: Successful badge creation
          content:
            application/json:
              schema:
                properties:
                  status:
                    description: The status of the response
                    type: string
                    example: success
                  batch_name:
                    description: The batch name that was created (auto-generated or specified)
                    type: string
                    example: TEST-001
                  message:
                    description: Number of badges created in this batch
                    type: string
                    example: A total of 2 badge(s) has been created
                  badges:
                    description: Array of created badge assertions
                    type: array
                    items:
                      properties:
                        recipient:
                          description: Information about the recipient
                          properties:
                            name:
                              description: The name of the recipient
                              type: string
                              example: John Doe
                            email:
                              description: The email of the recipient
                              type: string
                              example: johndoe@gmail.com
                            studentId:
                              description: The student ID of the recipient
                              type: string
                              example: U0129382
                          type: object
                        assertion:
                          description: Information about the assertion
                          properties:
                            uuid:
                              description: UUID of the badge
                              type: string
                              example: 1238a551-6032-46a7-b882-3f05864b4cbe
                            narrative:
                              description: Narrative of the badge
                              type: string
                              example: Recipient is awarded for exceptional results
                            issued_at:
                              description: Issue date and time of the badge
                              type: string
                              example: '2021-02-01T12:00:00Z'
                            expires_at:
                              description: Expiry date and time of the badge
                              type: string
                              example: '2021-02-01T12:00:00Z'
                          type: object
                        evidences:
                          description: List of evidences for the badge
                          type: array
                          items:
                            properties:
                              url:
                                description: URL of the evidence
                                type: string
                                example: https://accredify.io/evidence/123
                              narrative:
                                description: Narrative for the evidence
                                type: string
                                example: Evidence supporting the badge award
                            type: object
                      type: object
                type: object
        '401':
          $ref: '#/components/responses/UnauthenticatedRequest'
        '404':
          $ref: '#/components/responses/NotFoundRequest'
        '422':
          $ref: '#/components/responses/UnprocessableEntityRequest'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalErrorRequest'
      security:
      - bearerAuth: []
  /v1/openbadges/new-course:
    post:
      tags:
      - OpenBadges
      summary: Allow an issuer to create an open badges course
      operationId: createOpenBadgesCourse
      requestBody:
        description: Information required to create a course
        required: true
        content:
          application/json:
            schema:
              required:
              - course_code
              - course_title
              - course_description
              - badge_settings
              properties:
                course_code:
                  description: Unique identifier for the course
                  type: string
                course_title:
                  description: Title of the course
                  type: string
                course_description:
                  description: Description of the course
                  type: string
                course_url:
                  description: URL of the course
                  type: string
                sharing:
                  properties:
                    share_enabled:
                      description: Is sharing enabled
                      type: boolean
                    share_link:
                      description: Share link (defaults to Accredify's share link if none provided)
                      type: string
                  type: object
                badge_settings:
                  required:
                  - badge_image
                  properties:
                    tags:
                      type: array
                      items:
                        description: Tags for the course
                        type: string
                    criteria_narrative:
                      description: Criteria narrative for the badge
                      type: string
                    badge_image:
                      description: Badge image file
                      type: string
                      format: binary
                  type: object
              type: object
      responses:
        '200':
          description: Success request
          content:
            application/json:
              schema:
                properties:
                  status:
                    description: The HTTP status code
                    type: integer
                    example: 200
                  id:
                    description: Created course id
                    type: integer
                    example: 1
                  course_code:
                    description: Created course code
                    type: string
                    example: TEST-001
                  course_title:
                    description: Created course title
                    type: string
                    example: Test Course
                type: object
        '401':
          $ref: '#/components/responses/UnauthenticatedRequest'
        '404':
          $ref: '#/components/responses/NotFoundRequest'
        '422':
          $ref: '#/components/responses/UnprocessableEntityRequest'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalErrorRequest'
      security:
      - bearerAuth: []
  /v1/openbadges/{assertion}:
    delete:
      tags:
      - OpenBadges
      summary: Allow an issuer to revoke an open badge
      operationId: revokeOpenBadge
      parameters:
      - name: assertion
        in: path
        description: The UUID of the assertion to be revoked
        required: true
        schema:
          type: string
      requestBody:
        description: Payload required to revoke a badge
        required: true
        content:
          application/json:
            schema:
              required:
              - revocation_reason
              properties:
                revocation_reason:
                  description: Reason for badge revocation
                  type: string
                  example: Duplicated badge
              type: object
      responses:
        '204':
          description: Successful revocation of the badge
        '401':
          $ref: '#/components/responses/UnauthenticatedRequest'
        '404':
          $ref: '#/components/responses/NotFoundRequest'
        '422':
          $ref: '#/components/responses/UnprocessableEntityRequest'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalErrorRequest'
      security:
      - bearerAuth: []
    patch:
      tags:
      - OpenBadges
      summary: Allow an issuer to update an open badge
      operationId: updateOpenBadge
      parameters:
      - name: assertion
        in: path
        description: The UUID of the assertion to be updated
        required: true
        schema:
          type: string
      requestBody:
        description: Information required to update a badge
        required: true
        content:
          application/json:
            schema:
              properties:
                assertion:
                  description: Information about the assertion
                  properties:
                    issued_at:
                      description: The date and time of when the badge was issued
                      type: string
                      example: '2021-02-01T12:00:00Z'
                    expires_at:
                      description: The date and time of when the badge will expire
                      type: string
                      example: '2021-02-01T12:00:00Z'
                    narrative:
                      description: The narrative for the award
                      type: string
                      example: Recipient is awarded for exceptional results
                  type: object
                evidence:
                  description: Information about the evidence
                  properties:
                    url:
                      description: The url hosted page of the evidence
                      type: string
                      example: https://accredify.io
                    narrative:
                      description: The narrative for the evidence
                      type: string
                      example: Recipient is awarded A+
                  type: object
                recipient:
                  description: Information about the recipient
                  properties:
                    name:
                      description: The name of the recipient
                      type: string
                      example: John Doe
                    email:
                      description: The email of the recipient
                      type: string
                      example: johndoe@gmail.com
                    studentId:
                      description: The student ID of the recipient
                      type: string
                      example: U0129382
                  type: object
              type: object
      responses:
        '200':
          description: Successful update of the badge
          content:
            application/json:
              schema:
                properties:
                  badge:
                    description: The updated badge assertion
                    properties:
                      recipient:
                        description: Information about the recipient
                        properties:
                          name:
                            description: The name of the recipient
                            type: string
                            example: John Doe
                          email:
                            description: The email of the recipient
                            type: string
                            example: johndoe@gmail.com
                          studentId:
                            description: The student ID of the recipient
                            type: string
                            example: U0129382
                        type: object
                      assertion:
                        description: Information about the assertion
                        properties:
                          uuid:
                            description: UUID of the badge
                            type: string
                            example: 1238a551-6032-46a7-b882-3f05864b4cbe
                          narrative:
                            description: Narrative of the badge
                            type: string
                            example: Recipient is awarded for exceptional results
                          issued_at:
                            description: Issue date and time of the badge
                            type: string
                            example: '2021-02-01T12:00:00Z'
                          expires_at:
                            description: Expiry date and time of the badge
                            type: string
                            example: '2021-02-01T12:00:00Z'
                        type: object
                      evidences:
                        description: List of evidences for the badge
                        type: array
                        items:
                          properties:
                            url:
                              description: URL of the evidence
                              type: string
                              example: https://accredify.io/evidence/123
                            narrative:
                              description: Narrative for the evidence
                              type: string
                              example: Evidence supporting the badge award
                          type: object
                    type: object
                  status:
                    description: Status of the response
                    type: string
                    example: success
                type: object
        '401':
          $ref: '#/components/responses/UnauthenticatedRequest'
        '404':
          $ref: '#/components/responses/NotFoundRequest'
        '422':
          $ref: '#/components/responses/UnprocessableEntityRequest'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalErrorRequest'
      security:
      - bearerAuth: []
components:
  responses:
    NotFoundRequest:
      description: The specified resource was not found
      content:
        application/json:
          schema:
            properties:
              status:
                description: The HTTP status code
                type: integer
                example: 404
              message:
                description: The message returned from the request
                type: string
                example: Please ensure you are making the request to the correct endpoint.
            type: object
    UnauthenticatedRequest:
      description: Unauthenticated request
      content:
        application/json:
          schema:
            properties:
              status:
                description: The HTTP status code
                type: integer
                example: 401
              message:
                description: The message returned from the request
                type: string
                example: Unauthenticated. You might have provided an invalid access token or your token has already expired.
            type: object
    TooManyRequests:
      description: Too many requests
      content:
        application/json:
          schema:
            properties:
              status:
                description: The HTTP status code
                type: integer
                example: 429
              message:
                description: The message returned from the request
                type: string
                example: You're submitting requests too quickly. Please retry again after 60 seconds.
            type: object
    InternalErrorRequest:
      description: Internal error, please contact us at support@accredify with the code
      content:
        application/json:
          schema:
            properties:
              status:
                description: The HTTP status code
                type: integer
                example: 500
              code:
                description: The error code for reporting and internal reference
                type: string
                example: E400
              message:
                description: The message returned from the request
                type: string
                example: There was an unexpected error while performing your last action. Please contact us at support@accredify.io with the error code for internal reference
            type: object
    UnprocessableEntityRequest:
      description: Unprocessable entity
      content:
        application/json:
          schema:
            properties:
              status:
                description: The HTTP status code
                type: integer
                example: 422
              error:
                description: A list of the errors in the request
                properties:
                  string:
                    type: array
                    items:
                      type: string
                      example: error message
                type: object
            type: object
  securitySchemes:
    bearerAuth:
      type: http
      description: 'JWT Authorization header using the Bearer scheme. Example: ''Authorization: Bearer {token}'''
      bearerFormat: JWT
      scheme: bearer