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.
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
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