openapi: 3.0.3
info:
title: Accredible Analytics Evidence Items 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: Evidence Items
description: Supplemental work samples attached to a credential.
paths:
/credentials/{credential_id}/evidence_items:
post:
operationId: createEvidenceItem
tags:
- Evidence Items
summary: Create an evidence item
description: Attaches a new Evidence Item (work sample or artifact) to a credential.
parameters:
- $ref: '#/components/parameters/CredentialIdPath'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
evidence_item:
$ref: '#/components/schemas/EvidenceItemInput'
responses:
'200':
description: The created evidence item.
'401':
$ref: '#/components/responses/Unauthorized'
/credentials/{credential_id}/evidence_items/{evidence_item_id}:
parameters:
- $ref: '#/components/parameters/CredentialIdPath'
- name: evidence_item_id
in: path
required: true
schema:
type: integer
get:
operationId: getEvidenceItem
tags:
- Evidence Items
summary: View an evidence item
description: Retrieves a single Evidence Item on a credential.
responses:
'200':
description: The requested evidence item.
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateEvidenceItem
tags:
- Evidence Items
summary: Update an evidence item
description: Updates an Evidence Item on a credential.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
evidence_item:
$ref: '#/components/schemas/EvidenceItemInput'
responses:
'200':
description: The updated evidence item.
'401':
$ref: '#/components/responses/Unauthorized'
delete:
operationId: deleteEvidenceItem
tags:
- Evidence Items
summary: Delete an evidence item
description: Deletes an Evidence Item from a credential.
responses:
'200':
description: The evidence item was deleted.
'401':
$ref: '#/components/responses/Unauthorized'
components:
schemas:
EvidenceItemInput:
type: object
properties:
description:
type: string
description: A description of the evidence.
category:
type: string
description: The category of the evidence item.
string_object:
type: string
description: A text value for the evidence.
file:
type: string
description: A file URL or upload reference for the evidence.
hidden:
type: boolean
description: Whether the evidence item is hidden.
Error:
type: object
properties:
error:
type: string
description: A human-readable error message.
errors:
type: array
items:
type: string
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'
parameters:
CredentialIdPath:
name: credential_id
in: path
required: true
description: The unique ID of the credential.
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`.