openapi: 3.0.3 info: title: Accredible Analytics Team Members 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: Team Members description: Administrators and roles within the issuer account. paths: /team_members: post: operationId: createTeamMember tags: - Team Members summary: Create a team member description: Adds a new Team Member (administrator) to the issuer account. requestBody: required: true content: application/json: schema: type: object properties: team_member: $ref: '#/components/schemas/TeamMemberInput' responses: '200': description: The created team member. '401': $ref: '#/components/responses/Unauthorized' /team_members/{id}: parameters: - name: id in: path required: true schema: type: integer get: operationId: getTeamMember tags: - Team Members summary: View a team member description: Retrieves a single Team Member by ID. responses: '200': description: The requested team member. '404': $ref: '#/components/responses/NotFound' put: operationId: updateTeamMember tags: - Team Members summary: Update a team member description: Updates a Team Member's details or role. requestBody: required: true content: application/json: schema: type: object properties: team_member: $ref: '#/components/schemas/TeamMemberInput' responses: '200': description: The updated team member. '401': $ref: '#/components/responses/Unauthorized' delete: operationId: deleteTeamMember tags: - Team Members summary: Delete a team member description: Removes a Team Member from the issuer account. responses: '200': description: The team member was deleted. '401': $ref: '#/components/responses/Unauthorized' components: responses: NotFound: description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Invalid or missing API key. 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 TeamMemberInput: type: object properties: name: type: string description: The team member's name. email: type: string description: The team member's email address. role: type: string description: The team member's role. securitySchemes: tokenAuth: type: apiKey in: header name: Authorization description: API key sent in the Authorization header using the scheme `Token token=YOUR_API_KEY`.