Accredible References API

Peer, teacher, or manager endorsements attached to a credential.

OpenAPI Specification

accredible-references-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Accredible Analytics References 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: References
  description: Peer, teacher, or manager endorsements attached to a credential.
paths:
  /credentials/{credential_id}/references:
    post:
      operationId: createReference
      tags:
      - References
      summary: Create a reference
      description: Attaches a new Reference (endorsement) to a credential.
      parameters:
      - $ref: '#/components/parameters/CredentialIdPath'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                reference:
                  $ref: '#/components/schemas/ReferenceInput'
      responses:
        '200':
          description: The created reference.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /credentials/{credential_id}/references/{reference_id}:
    parameters:
    - $ref: '#/components/parameters/CredentialIdPath'
    - name: reference_id
      in: path
      required: true
      schema:
        type: integer
    get:
      operationId: getReference
      tags:
      - References
      summary: View a reference
      description: Retrieves a single Reference on a credential.
      responses:
        '200':
          description: The requested reference.
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateReference
      tags:
      - References
      summary: Update a reference
      description: Updates a Reference on a credential.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                reference:
                  $ref: '#/components/schemas/ReferenceInput'
      responses:
        '200':
          description: The updated reference.
        '401':
          $ref: '#/components/responses/Unauthorized'
    delete:
      operationId: deleteReference
      tags:
      - References
      summary: Delete a reference
      description: Deletes a Reference from a credential.
      responses:
        '200':
          description: The reference was deleted.
        '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:
    ReferenceInput:
      type: object
      properties:
        name:
          type: string
          description: The name of the person giving the reference.
        email:
          type: string
          description: The email of the referee.
        body:
          type: string
          description: The reference text.
        hidden:
          type: boolean
          description: Whether the reference is hidden.
    Error:
      type: object
      properties:
        error:
          type: string
          description: A human-readable error message.
        errors:
          type: array
          items:
            type: string
  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`.