{ "openapi": "3.0.3", "info": { "title": "Accredible Credential API", "version": "25.08.0", "description": "The [Accredible](https://www.accredible.com/) Credential API allows you to create and interact with badges and certificates called [Accredible Credentials](https://www.credential.net/10000005).\n\nThere are 3 main objects in Accredible: Credentials, Groups and Designs.\n\n### Getting Started with the API - Video Walkthrough\n\n[![Getting Started with the API Video Walkthrough](https://cdn.accredible.com/api-overview.jpg)](https://www.loom.com/share/1093916cb4be421eb1ff86f085dae337?sid=0bb24e68-c7b4-41a6-aab8-f5c14841a29c)\n\n# Objects Overview\n## Credentials\n[Credentials](#tag/Credentials) are the core object in the API. They collect all of the data related to a course, training acitivity or achievment and the recipient/participant information.\n\nYou should create a credential for each achievement completion that a recipient has. For example if John Doe finishes the Programming 101 course we should create one credential to represent that. If John Doe achieves something else then he would need a new credential.\n\n## Groups\n\n[Groups](#tag/Groups) represent an achievement such as a course or qualification. They contain information about the achievement and have multiple Credentials attached to them.\n\nFor example you should create a group for the Introduction to Programming course. You'd provide the Course Name, Course Descripion and Course URL. In the future you can pass the name or ID of this group when creating a credential so that the credential is passed all the information relating to the achievement.\n\n## Designs\n\n[Designs](#tag/Designs) provide a visual specification for how a Credential should be rendered. Design can be used accross multiple Groups.\n\nFor example if we have three courses: Intro to Basic Programming, Intro to Advanced Programming and Intro to DevOps each of these may have the same design for their Credentials. When creating or updating their corresponding Groups you would attach the desired design accordingly.\n\n## Departments\n\n[Departments](#tag/Departments), if enabled for your account allow you to manage multiple, independent organization groups. Each Department is entirely separate with it's own Designs, Groups, Branding, etc. You cannot share data between Departments except Billing and Administrators.\n\n## Attributes\n\n[Attributes](#tag/Attributes), are used to merge information with your badge or certificate designs and email templates. Attributes acts as as placeholders for information and can be added to certificate designs and email templates.\n\n# API Keys\n\nAPI keys are used as Authorization tokens in the header in all authenticated API endpoints. These Keys are managed in the [Accredible Dashboard](https://dashboard.accredible.com/). There are two types of API Keys, those that are account wide and work on all assets and those that are related to a specific department. API keys scoped to a specific department can only access the resources (Credentials, Groups, Designs etc.) belonging to that department.\n\n# Single sign-on options\n\n[Single sign-on](#tag/SSO) in addition to the student authentication provided by Accredible, you can also use single sign-on to authenticate your student into Accredible and they can directly sign-in.\n\nSSO is also available via our Integrations and via SAML 2.0.\n\n# Rate Limiting\n\nWe allow up to 2000 requests every 5 minutes from a single IP address, but some higher security endpoints have stricter rate limiting. Requests are counted in 30 second periods.\n\nIf you attempt to make requests more quickly than permitted by these rules, you may receive a `429 Too Many Requests` response from an endpoint.\n\n# Errors\n\nAccredible uses conventional HTTP response codes to indicate the success or failure of an API request. Codes in the 2xx range indicate success in general and codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, a permissions error, etc). Codes in the 5xx range indicate an error with Accredible.\n\nSummary of response codes:\n\n| Response Code | Description |\n| ------------- | ------------- |\n| 200 | The request was successful. |\n| 401 | Invalid API key. |\n| 403 | Permissions error. You do not have access to the requested resource. |\n| 404 | The request used a resource that could not be found. |\n| 429 | Too many requests. Please see the Rate Limiting section. |\n| 500 | Accredible Internal Error. |" }, "servers": [ { "url": "https://api.accredible.com/", "description": "Production environment - US" }, { "url": "https://eu.api.accredible.com/", "description": "Production environment - EU" }, { "url": "https://sandbox.api.accredible.com/", "description": "Sandbox environment - Testing environment" } ], "paths": { "/v1/credentials": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "credential": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "approve": { "type": "boolean" }, "grade": { "nullable": true }, "complete": { "type": "boolean" }, "issued_on": { "type": "string" }, "course_link": { "type": "string" }, "custom_attributes": { "type": "object", "properties": { "Location": { "type": "string" } } }, "expired_on": { "nullable": true }, "group_name": { "type": "string" }, "group_id": { "type": "number" }, "url": { "type": "string" }, "encoded_id": { "type": "string" }, "private": { "type": "boolean" }, "seo_image": { "type": "string" }, "certificate": { "type": "object", "properties": { "image": { "type": "object", "properties": { "preview": { "type": "string" } } } } }, "badge": { "type": "object", "properties": { "image": { "type": "object", "properties": { "preview": { "type": "string" } } } } }, "evidence_items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "number" }, "description": { "type": "string" }, "preview_image_url": { "type": "string", "nullable": true }, "link_url": { "type": "string", "nullable": true }, "type": { "type": "string" }, "string_object": { "type": "object", "properties": { "grade": { "type": "number" } }, "nullable": true }, "supplemental": { "type": "boolean" }, "position": { "type": "number" } }, "required": [ "id", "description", "preview_image_url", "link_url", "type", "string_object", "supplemental", "position" ] } }, "references": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "number" }, "description": { "type": "string" }, "relationship": { "type": "string", "description": "Must be one of: \"taught\", \"managed\", \"mentored\", \"worked\", \"studied\", \"friends\", \"stranger\", \"professor\"." }, "supplemental": { "type": "boolean" }, "approve": { "type": "boolean" }, "referee": { "type": "object", "properties": { "name": { "type": "string" }, "email": { "nullable": true }, "avatar": { "type": "string" } } } } } }, "recipient": { "type": "object", "properties": { "name": { "type": "string" }, "email": { "type": "string" }, "id": { "type": "string" }, "meta_data": { "type": "object", "properties": { "bar": { "type": "string" } } } } }, "issuer": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "nullable": true }, "url": { "type": "string" }, "id": { "type": "number" } } }, "meta_data": { "type": "object", "properties": { "foo": { "type": "string" } } } } } } }, "example": { "credential": { "id": "10000005", "name": "Example Certificate", "description": "This is an example description - you can write anything you want here.\n\nWe recommend describing the achievement.", "approve": true, "grade": null, "complete": true, "issued_on": "2014-08-14", "course_link": "https://www.accredible.com", "custom_attributes": { "Location": "London" }, "expired_on": null, "group_name": "Example Certificate Design", "group_id": 9549, "url": "https://www.credential.net/10000005", "encoded_id": "10000005", "private": false, "seo_image": "https://api.accredible.com/v1/frontend/credential_seo_image/10000005", "certificate": { "image": { "preview": "https://api.accredible.com/v1/frontend/credential_website_embed_image/certificate/10000005" } }, "badge": { "image": { "preview": "https://api.accredible.com/v1/frontend/credential_badge_image/10000005" } }, "evidence_items": [ { "id": 826, "description": "Final Grade", "preview_image_url": null, "link_url": null, "type": "grade", "string_object": { "grade": 80 }, "supplemental": false, "position": 1 }, { "id": 10, "description": "Presentation", "preview_image_url": "https://s3.amazonaws.com/staging_accredible_api_evidence_items/previews/10/medium/open-uri20140316-15300-14jngj.jpg?1408372366", "link_url": "https://s3.amazonaws.com/staging_accredible_api_evidence_items/files/10/original/open-uri20140316-15300-14jngj.pdf", "type": "file", "string_object": null, "supplemental": true, "position": 4 } ], "references": [ { "id": 2, "description": "Although he had difficulty with the course material at first, John learned a lot throughout the course. His final project was one of the best in his class.", "relationship": "mentored", "supplemental": false, "approve": true, "referee": { "name": "Example Person", "email": null, "avatar": "https://s3.amazonaws.com/staging_accredible_api_individuals/images/4/thumb/open-uri20140815-11960-1r0hppg?1408416647" } } ], "recipient": { "name": "Jordan Smith", "email": "jor@dan.org", "id": "ct992", "meta_data": { "bar": "foo" } }, "issuer": { "name": "Example Organization", "description": null, "url": "http://www.accredible.com", "id": 4897 }, "meta_data": { "foo": "bar" } } } } } } }, "summary": "Create a New Credential", "operationId": "Create a New Credential", "description": "You create a Credential with optional EvidenceItems and References using this action. Please make sure that you've created a group on your dashboard before creating a Credential. If you haven't then [create a group in the dashboard](https://dashboard.accredible.com/issuer/dashboard/group/new?edit=information-and-appearance) or use [this API request](#tag/Groups).\n\nThis endpoint requires a JSON object containing a Credential.\n\n**Important:** If you don't have enough credits when attempting to create Credentials with this endpoint, your credentials will still be created in your account, but will not be published. This will save your data and prevent you from having to re-attempt your request later. You will be able to publish the created credentials in your account when you have the required credits\n\n[Creating Credentials - Video Walkthrough](https://www.loom.com/share/c7c47531a46d4a3f85abaf7413d9e636?sid=b3998a3d-dd4a-4289-84fc-db6df40efd5b)", "tags": [ "Credentials" ], "requestBody": { "content": { "application/json": { "example": { "credential": { "recipient": { "name": "John Doe", "email": "person@example.com", "id": "PK-17993", "meta_data": { "credential_batch": "772" } }, "name": "Credential Name", "group_name": "course1234", "group_id": 23, "description": null, "issued_on": "2014-06-14", "evidence_items": [ { "description": "Report card including all grades", "url": "http://www.awesomelearningexample.com/johndoe/reportcard", "category": "url" }, { "description": "Final essay", "file": "https://s3.amazonaws.com/accredible_api_evidence_items/files/12/original/open-uri20140316-15266-1m3by6h.jpeg", "category": "file" } ], "references": [ { "description": "John worked hard on this course and provided exemplary understanding of the core concepts", "referee": { "name": "Jane Doe", "email": "person2@example.com", "avatar": "https://placehold.it/100x100", "url": "https://any-url.com" }, "relationship": "managed" } ], "custom_attributes": { "custom_variables": "some value", "dob": "29 jan 1970" }, "meta_data": { "batch_id": "TK210" } } }, "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The unique ID of the credential. If you supply your own internal ID we'll use this as a reference for the Credential. If not we'll assign an ID." }, "recipient.name": { "type": "string", "description": "The name of the recipient the credential is issued to." }, "recipient.email": { "type": "string", "description": "The recipient's email address." }, "recipient.id": { "type": "string", "description": "The recipient's user ID as defined by your organization. This alllows you to easily map your recipients to their Credentials regardless of changes to their email address." }, "recipient.meta_data": { "type": "object", "properties": {}, "description": "You can use this parameter to attach key-value strings to the object. Meta data is useful for storing additional, structured information on an object." }, "group_id": { "type": "number", "description": "Group Id to which the credential should belong. Legacy field. Group name may be used in place of a Group ID." }, "name": { "type": "string", "description": "The Credential/course name displayed to recipients. This is required if the Group the Credential belongs to doesn't have a Course Name set." }, "description": { "type": "string", "description": "The credential/course description displayed to recipients. This is required if the Group the Credential belongs to doesn't have a Course Description set." }, "custom_attributes": { "type": "object", "properties": {}, "description": "Custom variables to display on the Credential. These should be added to the design using the visual editor. Data should be formatted as a JSON hash where keys are the custom attribute names and the values are the values to be displayed on the Credential." }, "issued_on": { "type": "string", "description": "Date of issue, the default is when the credential is created. Format: YYYY-MM-DD (DD/MM/YYYY also works but is deprecated)" }, "expired_on": { "type": "string", "description": "Date you would like the credential to expire on, null by default. Format: YYYY-MM-DD (DD/MM/YYYY also works but is deprecated)" }, "complete": { "type": "boolean", "description": "Whether the achievement is complete or still in progress, true by default." }, "private": { "type": "boolean", "description": "Whether to make credential private. When it is set to `true`, the Credential will be private and visible only to its recipient who has signed into credential.net. If no value is set, the default value will be automatically assigned based on `Group.generate_private_credential` and `Department.generate_private_credential`. `Department.generate_private_credential` will be used as the default when `Group.generate_private_credential` is set to `null`. `Group.generate_private_credential` will override `Department.generate_private_credential` and be used as the default when it is set to `true` or `false`." }, "approve": { "type": "boolean", "description": "Whether to publish credential at the time of creation. By default this is true but settings at dashboard for sandbox_mode take precendence." }, "allow_supplemental_evidence": { "type": "boolean", "description": "Whether to allow recipients to add their own supplemental evidence to the Credential, true by default." }, "allow_supplemental_references": { "type": "boolean", "description": "Whether to allow recipients to add their own supplemental references to the credential, true by default." }, "evidence_items": { "description": "Evidence to add to this credential, that provide more information about how the recipient met the achievement. See Evidence Items for fields. Typically this would include work samples for a course." }, "references": { "description": "References to add to this Credential, that provide more information about how the recipient met the achievement. See References for fields. Typically this would be a peer, teacher or manager giving their feedback." }, "meta_data": { "type": "object", "properties": {}, "description": "You can use this parameter to attach key-value strings to the object. Meta data is useful for storing additional, structured information on an object." } }, "required": [ "recipient.name", "recipient.email", "group_id" ] } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/credentials/bulk_create": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": {} } }, "summary": "Bulk Create credentials", "operationId": "Bulk Create credentials", "description": "Create multiple Credentials using this action. It requires a JSON object containing credentials in an array.\n\n**Important:** If you don't have enough credits when attempting to create Credentials with this endpoint, your credentials will still be created in your account, but will not be published. This will save your data and prevent you from having to re-attempt your request later. You will be able to publish the created credentials in your account when you have the required credits.\n\n**API Limits:** Each request can accommodate up to 100 credentials. Should you have a larger set of credentials to process, it's recommended to split them into batches of 100 and make successive calls to this API.\n\n[Bulk Creating Credentials - Video Walkthrough](https://www.loom.com/share/df043cb9d2b04140bcc53b633d232147?sid=005848bc-91a9-49cc-8f12-7f31c15245f8)", "tags": [ "Credentials" ], "requestBody": { "content": { "application/json": { "example": { "credentials": [ { "recipient": { "name": "John Doe", "email": "student@example.com" }, "group_id": "22625" }, { "recipient": { "name": "John Doe", "email": "student@example.com" }, "group_id": "62430" } ] }, "schema": { "type": "object", "properties": { "credentials": { "description": "Array of the credentials payload all field applicable which is in create credential endpoint." } }, "required": [ "credentials" ] } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v2/credentials/bulk_create": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": {} }, "207": { "description": "Multi-Status", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "results": { "type": "array", "items": { "type": "object", "properties": { "credential": { "type": "object", "properties": { "id": { "type": "number" }, "approve": { "type": "boolean" }, "recipient": { "type": "object", "properties": { "name": { "type": "string" }, "email": { "type": "string" }, "id": { "type": "number" }, "meta_data": { "nullable": true } } }, "issuer": { "type": "object", "properties": { "name": { "type": "string" }, "url": { "type": "string" }, "description": { "type": "string" } } }, "name": { "type": "string" }, "description": { "type": "string" }, "issued_on": { "type": "string" }, "group_name": { "type": "string" }, "url": { "type": "string" }, "grade": { "nullable": true }, "complete": { "type": "boolean" }, "expired_on": { "nullable": true }, "custom_attibutes": { "nullable": true }, "course_link": { "nullable": true }, "meta_data": { "nullable": true }, "evidence_items": { "type": "array", "items": {} }, "references": { "type": "array", "items": {} } } }, "errors": { "type": "object", "properties": { "code": { "type": "string" }, "message": { "type": "string" } } } } } } } }, "example": { "results": [ { "credential": { "id": 1234, "approve": false, "recipient": { "name": "John Doe", "email": "person2@example.com", "id": 232, "meta_data": null }, "issuer": { "name": "Course Provider", "url": "http://www.awesomelearningexample.com", "description": "Technical courses at an introductory level..." }, "name": "Credential Name", "description": "A detailed description of what the credential is for", "issued_on": "2014-06-14", "group_name": "Test Group", "url": "https://www.example.com/10000005", "grade": null, "complete": true, "expired_on": null, "custom_attibutes": null, "course_link": null, "meta_data": null, "evidence_items": [], "references": [] }, "errors": { "code": "insufficient_credits", "message": "The credential was created but not published." } } ] } } } }, "422": { "description": "Unprocessable Entity", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "results": { "type": "array", "items": { "type": "object", "properties": { "errors": { "type": "object", "properties": { "code": { "type": "string" }, "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "property": { "type": "string" }, "message": { "type": "string" } } } } } } } } } } }, "example": { "results": [ { "errors": { "code": "credential_invalid", "message": "The credential is not valid", "details": [ { "property": "recipient.email", "message": "has already been taken. Your group settings do not allow duplicates of this credential to be sent to the same email." } ] } } ] } } } } }, "summary": "Bulk Create Credentials", "operationId": "Bulk Create Credentials", "description": "**Important:** If you don't have enough credits when attempting to create Credentials with this endpoint, your credentials will still be created in your account, but will not be published.\nIt supports multi-status responses, where partial successes and errors are consolidated into a single structure with `status: 207 Multi-Status`.\nYou will be able to publish the created credentials in your account when you have the required credits.\n\n**API Limits:** Each request can accommodate up to 30 credentials. Should you have a larger set of credentials to process, it's recommended to split them into batches of 30 and make successive calls to this API.", "tags": [ "Credentials" ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "credentials": { "description": "Array of the credentials payload all field applicable which is in create credential endpoint." } }, "required": [ "credentials" ] } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/credentials/{id}": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "credential": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "approve": { "type": "boolean" }, "grade": { "nullable": true }, "complete": { "type": "boolean" }, "issued_on": { "type": "string" }, "course_link": { "type": "string" }, "custom_attributes": { "type": "object", "properties": { "Location": { "type": "string" } } }, "expired_on": { "nullable": true }, "group_name": { "type": "string" }, "group_id": { "type": "number" }, "url": { "type": "string" }, "encoded_id": { "type": "string" }, "private": { "type": "boolean" }, "seo_image": { "type": "string" }, "certificate": { "type": "object", "properties": { "image": { "type": "object", "properties": { "preview": { "type": "string" } } } } }, "badge": { "type": "object", "properties": { "image": { "type": "object", "properties": { "preview": { "type": "string" } } } } }, "evidence_items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "number" }, "description": { "type": "string" }, "preview_image_url": { "type": "string", "nullable": true }, "link_url": { "type": "string", "nullable": true }, "type": { "type": "string" }, "string_object": { "type": "object", "properties": { "grade": { "type": "number" } }, "nullable": true }, "supplemental": { "type": "boolean" }, "position": { "type": "number" } }, "required": [ "id", "description", "preview_image_url", "link_url", "type", "string_object", "supplemental", "position" ] } }, "references": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "number" }, "description": { "type": "string" }, "relationship": { "type": "string" }, "supplemental": { "type": "boolean" }, "approve": { "type": "boolean" }, "referee": { "type": "object", "properties": { "name": { "type": "string" }, "email": { "nullable": true }, "avatar": { "type": "string" } } } } } }, "recipient": { "type": "object", "properties": { "name": { "type": "string" }, "email": { "type": "string" }, "id": { "type": "string" }, "meta_data": { "nullable": true } } }, "issuer": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "nullable": true }, "url": { "type": "string" }, "id": { "type": "number" } } }, "meta_data": { "nullable": true } } } } }, "example": { "credential": { "id": "10000005", "name": "Example Certificate", "description": "This is an example description - you can write anything you want here.\n\nWe recommend describing the achievement.", "approve": true, "grade": null, "complete": true, "issued_on": "2014-08-14", "course_link": "https://www.accredible.com", "custom_attributes": { "Location": "London" }, "expired_on": null, "group_name": "Example Certificate Design", "group_id": 9549, "url": "https://www.credential.net/10000005", "encoded_id": "10000005", "private": false, "seo_image": "https://api.accredible.com/v1/frontend/credential_seo_image/10000005", "certificate": { "image": { "preview": "https://api.accredible.com/v1/frontend/credential_website_embed_image/certificate/10000005" } }, "badge": { "image": { "preview": "https://api.accredible.com/v1/frontend/credential_badge_image/10000005" } }, "evidence_items": [ { "id": 826, "description": "Final Grade", "preview_image_url": null, "link_url": null, "type": "grade", "string_object": { "grade": 80 }, "supplemental": false, "position": 1 }, { "id": 10, "description": "Presentation", "preview_image_url": "https://s3.amazonaws.com/staging_accredible_api_evidence_items/previews/10/medium/open-uri20140316-15300-14jngj.jpg?1408372366", "link_url": "https://s3.amazonaws.com/staging_accredible_api_evidence_items/files/10/original/open-uri20140316-15300-14jngj.pdf", "type": "file", "string_object": null, "supplemental": true, "position": 4 } ], "references": [ { "id": 2, "description": "Although he had difficulty with the course material at first, John learned a lot throughout the course. His final project was one of the best in his class.", "relationship": "mentored", "supplemental": false, "approve": true, "referee": { "name": "Example Person", "email": null, "avatar": "https://s3.amazonaws.com/staging_accredible_api_individuals/images/4/thumb/open-uri20140815-11960-1r0hppg?1408416647" } } ], "recipient": { "name": "Jordan Smith", "email": "jor@dan.org", "id": "dw373", "meta_data": null }, "issuer": { "name": "Example Organization", "description": null, "url": "http://www.accredible.com", "id": 4897 }, "meta_data": null } } } } } }, "summary": "View a Credential", "operationId": "View a Credential", "description": "[View Credentials - Video Walkthrough](https://www.loom.com/share/9724ce5eb0694dfab0c03f5b70d8a3f3?sid=cea2c757-5031-4ff1-b33d-91b361fd0cdf)", "tags": [ "Credentials" ], "parameters": [ { "name": "id", "in": "path", "description": "ID of the Credential in the form of an integer or string for the particular Credential requested.", "required": true, "schema": { "type": "string" } } ], "security": [ { "ApiKeyAuth": [] } ] }, "put": { "responses": { "200": { "description": "OK", "headers": {}, "content": {} } }, "summary": "Update a Credential", "operationId": "Update a Credential", "description": "[Updating Credentials - Video Walkthrough](https://www.loom.com/share/4940d9cf43da43dc870f40ac4dd3831f?sid=ebfe460c-01a1-40a0-b5fe-6e8d13386f54)", "tags": [ "Credentials" ], "parameters": [ { "name": "id", "in": "path", "description": "The unique ID of the credential. If you supply your own internal ID we'll use this as a reference for the Credential. If not we'll assign an ID.", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "credential": { "approve": true } }, "schema": { "type": "object", "properties": { "id": { "type": "string", "description": "The unique ID of the credential. If you supply your own internal ID we'll use this as a reference for the Credential. If not we'll assign an ID." }, "recipient.name": { "type": "string", "description": "The name of the recipient the credential is issued to." }, "recipient.email": { "type": "string", "description": "The recipient's email address." }, "recipient.id": { "type": "string", "description": "The recipient's user ID as defined by your organization. This alllows you to easily map your recipients to their Credentials regardless of changes to their email address." }, "recipient.meta_data": { "type": "object", "properties": {}, "description": "You can use this parameter to attach key-value strings to the object. Meta data is useful for storing additional, structured information on an object." }, "group_id": { "type": "number", "description": "Group Id to which the credential should belong. Legacy field. Group name may be used in place of a Group ID." }, "name": { "type": "string", "description": "The Credential/course name displayed to recipients. This is required if the Group the Credential belongs to doesn't have a Course Name set." }, "description": { "type": "string", "description": "The credential/course description displayed to recipients. This is required if the Group the Credential belongs to doesn't have a Course Description set." }, "custom_attributes": { "type": "object", "properties": {}, "description": "Custom variables to display on the Credential. These should be added to the design using the visual editor. Data should be formatted as a JSON hash where keys are the custom attribute names and the values are the values to be displayed on the Credential." }, "issued_on": { "type": "string", "description": "Date of issue, the default is when the credential is created. Format: YYYY-MM-DD (DD/MM/YYYY also works but is deprecated)" }, "expired_on": { "type": "string", "description": "Date you would like the credential to expire on, null by default. Format: YYYY-MM-DD (DD/MM/YYYY also works but is deprecated)" }, "complete": { "type": "boolean", "description": "Whether the achievement is complete or still in progress, true by default." }, "allow_supplemental_evidence": { "type": "boolean", "description": "Whether to allow recipients to add their own supplemental evidence to the Credential, true by default." }, "allow_supplemental_references": { "type": "boolean", "description": "Whether to allow recipients to add their own supplemental references to the credential, true by default." }, "evidence_items": { "description": "Evidence to add to this credential, that provide more information about how the recipient met the achievement. See Evidence Items for fields. Typically this would include work samples for a course." }, "references": { "description": "References to add to this Credential, that provide more information about how the recipient met the achievement. See References for fields. Typically this would be a peer, teacher or manager giving their feedback." }, "meta_data": { "type": "object", "properties": {}, "description": "You can use this parameter to attach key-value strings to the object. Meta data is useful for storing additional, structured information on an object." } }, "required": [ "recipient.name", "recipient.email", "group_id" ] } } } }, "security": [ { "ApiKeyAuth": [] } ] }, "delete": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "credential": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "approve": { "type": "boolean" }, "grade": { "nullable": true }, "complete": { "type": "boolean" }, "issued_on": { "type": "string" }, "course_link": { "type": "string" }, "custom_attributes": { "type": "object", "properties": { "Location": { "type": "string" } } }, "expired_on": { "nullable": true }, "group_name": { "type": "string" }, "group_id": { "type": "number" }, "url": { "type": "string" }, "encoded_id": { "type": "string" }, "private": { "type": "boolean" }, "seo_image": { "type": "string" }, "certificate": { "type": "object", "properties": { "image": { "type": "object", "properties": { "preview": { "type": "string" } } } } }, "badge": { "type": "object", "properties": { "image": { "type": "object", "properties": { "preview": { "type": "string" } } } } }, "evidence_items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "number" }, "description": { "type": "string" }, "preview_image_url": { "type": "string", "nullable": true }, "link_url": { "type": "string", "nullable": true }, "type": { "type": "string" }, "string_object": { "type": "object", "properties": { "grade": { "type": "number" } }, "nullable": true }, "supplemental": { "type": "boolean" }, "position": { "type": "number" } }, "required": [ "id", "description", "preview_image_url", "link_url", "type", "string_object", "supplemental", "position" ] } }, "references": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "number" }, "description": { "type": "string" }, "relationship": { "type": "string" }, "supplemental": { "type": "boolean" }, "approve": { "type": "boolean" }, "referee": { "type": "object", "properties": { "name": { "type": "string" }, "email": { "nullable": true }, "avatar": { "type": "string" } } } } } }, "recipient": { "type": "object", "properties": { "name": { "type": "string" }, "email": { "type": "string" }, "id": { "type": "string" }, "meta_data": { "nullable": true } } }, "issuer": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "nullable": true }, "url": { "type": "string" }, "id": { "type": "number" } } }, "meta_data": { "nullable": true } } } } }, "example": { "credential": { "id": "10000005", "name": "Example Certificate", "description": "This is an example description - you can write anything you want here.\n\nWe recommend describing the achievement.", "approve": true, "grade": null, "complete": true, "issued_on": "2014-08-14", "course_link": "https://www.accredible.com", "custom_attributes": { "Location": "London" }, "expired_on": null, "group_name": "Example Certificate Design", "group_id": 9549, "url": "https://www.credential.net/10000005", "encoded_id": "10000005", "private": false, "seo_image": "https://api.accredible.com/v1/frontend/credential_seo_image/10000005", "certificate": { "image": { "preview": "https://api.accredible.com/v1/frontend/credential_website_embed_image/certificate/10000005" } }, "badge": { "image": { "preview": "https://api.accredible.com/v1/frontend/credential_badge_image/10000005" } }, "evidence_items": [ { "id": 826, "description": "Final Grade", "preview_image_url": null, "link_url": null, "type": "grade", "string_object": { "grade": 80 }, "supplemental": false, "position": 1 }, { "id": 10, "description": "Presentation", "preview_image_url": "https://s3.amazonaws.com/staging_accredible_api_evidence_items/previews/10/medium/open-uri20140316-15300-14jngj.jpg?1408372366", "link_url": "https://s3.amazonaws.com/staging_accredible_api_evidence_items/files/10/original/open-uri20140316-15300-14jngj.pdf", "type": "file", "string_object": null, "supplemental": true, "position": 4 } ], "references": [ { "id": 2, "description": "Although he had difficulty with the course material at first, John learned a lot throughout the course. His final project was one of the best in his class.", "relationship": "mentored", "supplemental": false, "approve": true, "referee": { "name": "Example Person", "email": null, "avatar": "https://s3.amazonaws.com/staging_accredible_api_individuals/images/4/thumb/open-uri20140815-11960-1r0hppg?1408416647" } } ], "recipient": { "name": "Jordan Smith", "email": "jor@dan.org", "id": "net772", "meta_data": null }, "issuer": { "name": "Example Organization", "description": null, "url": "http://www.accredible.com", "id": 4897 }, "meta_data": null } } } } } }, "summary": "Delete a Credential", "operationId": "Delete a Credential", "description": "[Deleting Credentials - Video Walkthrough](https://www.loom.com/share/5cf48b55e1a74803bb9ad3ce87bdc657?sid=44bb79e9-47ee-4070-9e03-bc6a68957789)", "tags": [ "Credentials" ], "parameters": [ { "name": "id", "in": "path", "description": "ID of the credential for the particular Credential requested.", "required": true, "schema": { "type": "string" } } ], "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/all_credentials": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "credentials": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "description": { "type": "string" }, "grade": { "nullable": true }, "complete": { "type": "boolean" }, "issued_on": { "type": "string" }, "allow_supplemental_references": { "nullable": true }, "allow_supplemental_evidence": { "nullable": true }, "course_link": { "type": "string" }, "custom_attributes": { "nullable": true }, "expired_on": { "nullable": true }, "group_name": { "type": "string" }, "private": { "type": "boolean" }, "recipient": { "type": "object", "properties": { "name": { "type": "string" }, "email": { "type": "string" }, "id": { "type": "number" }, "meta_data": { "type": "object", "properties": { "zip_code": { "type": "string" } }, "nullable": true } } }, "issuer": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "url": { "type": "string" } } }, "meta_data": { "type": "object", "properties": { "foo": { "type": "string" } }, "nullable": true } }, "required": [ "id", "name", "description", "grade", "complete", "issued_on", "allow_supplemental_references", "allow_supplemental_evidence", "course_link", "custom_attributes", "expired_on", "group_name", "private", "recipient", "issuer", "meta_data" ] } }, "meta": { "type": "object", "properties": { "current_page": { "type": "number" }, "next_page": { "type": "number" }, "prev_page": { "nullable": true }, "total_pages": { "type": "number" }, "total_count": { "type": "number" } } } } }, "example": { "credentials": [ { "id": 10250009, "name": "TestCourse", "description": "Test Description", "grade": null, "complete": true, "issued_on": "2015-07-03", "allow_supplemental_references": null, "allow_supplemental_evidence": null, "course_link": "http://example.com", "custom_attributes": null, "expired_on": null, "group_name": "test", "private": false, "recipient": { "name": "John Doe", "email": "person2@example.com", "id": 772, "meta_data": { "zip_code": "10459" } }, "issuer": { "name": "Example Provider", "description": " Best place to manage online learning", "url": "http://www.accredible.com" }, "meta_data": { "foo": "bar" } }, { "id": 10250010, "name": "TestCourse", "description": "Test Description", "grade": null, "complete": true, "issued_on": "2015-07-03", "allow_supplemental_references": null, "allow_supplemental_evidence": null, "course_link": "http://example.com", "custom_attributes": null, "expired_on": null, "group_name": "test", "private": false, "recipient": { "name": "John Doe", "email": "person2@example.com", "id": 883, "meta_data": null }, "issuer": { "name": "Example Provider", "description": " Best place to manage online learning", "url": "http://www.accredible.com" }, "meta_data": null } ], "meta": { "current_page": 1, "next_page": 2, "prev_page": null, "total_pages": 795, "total_count": 1590 } } } } } }, "summary": "View many Credentials", "operationId": "View many Credentials", "description": "[View Many Credentials - Video Walkthrough](https://www.loom.com/share/520347485c3b44c7b64daeb17f1b307b?sid=9deb6be0-e636-4a03-ac2a-3dc831b1e3ad)", "tags": [ "Credentials" ], "parameters": [ { "name": "group_id", "in": "query", "description": "Limit the returned Credentials to a specific group ID.", "schema": { "type": "string" } }, { "name": "email", "in": "query", "description": "Limit the returned Credentials to a specific recipient's email address.", "schema": { "type": "string" } }, { "name": "recipient_id", "in": "query", "description": "Limit the returned Credentials to a specific recipient user identifier (ID) you set whilst creating Credentials.", "schema": { "type": "string" } }, { "name": "license_id", "in": "query", "description": "Limit the returned Credential to a specific credential id you set whilst creating credential.", "schema": { "type": "string" } }, { "name": "start_date", "in": "query", "description": "Date after which credentials issued should be return. Format: YYYY-MM-DD (DD/MM/YYYY also works but is deprecated)", "schema": { "type": "string" } }, { "name": "end_date", "in": "query", "description": "Date before which credetials issued should be return. Format: YYYY-MM-DD (DD/MM/YYYY also works but is deprecated)", "schema": { "type": "string" } }, { "name": "start_updated_date", "in": "query", "description": "Date after which Credentials updated should be returned. Format: YYYY-MM-DD (DD/MM/YYYY also works but is deprecated)", "schema": { "type": "string" } }, { "name": "end_updated_date", "in": "query", "description": "Date before which Credentials updated should be returned. Format: YYYY-MM-DD (DD/MM/YYYY also works but is deprecated)", "schema": { "type": "string" } }, { "name": "page_size", "in": "query", "description": "The pagination response size, default of 50.", "schema": { "type": "number" } }, { "name": "page", "in": "query", "description": "The pagination page.", "schema": { "type": "number" } } ], "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/credentials/search": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "credentials": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "description": { "type": "string" }, "grade": { "nullable": true }, "complete": { "type": "boolean" }, "issued_on": { "type": "string" }, "allow_supplemental_references": { "nullable": true }, "allow_supplemental_evidence": { "nullable": true }, "course_link": { "type": "string" }, "custom_attributes": { "nullable": true }, "expired_on": { "nullable": true }, "group_name": { "type": "string" }, "private": { "type": "boolean" }, "recipient": { "type": "object", "properties": { "name": { "type": "string" }, "email": { "type": "string" }, "id": { "type": "number" }, "meta_data": { "type": "object", "properties": { "zip_code": { "type": "string" } }, "nullable": true } } }, "issuer": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "url": { "type": "string" } } }, "meta_data": { "type": "object", "properties": { "foo": { "type": "string" } }, "nullable": true } }, "required": [ "id", "name", "description", "grade", "complete", "issued_on", "allow_supplemental_references", "allow_supplemental_evidence", "course_link", "custom_attributes", "expired_on", "group_name", "private", "recipient", "issuer", "meta_data" ] } }, "meta": { "type": "object", "properties": { "current_page": { "type": "number" }, "next_page": { "type": "number" }, "prev_page": { "nullable": true }, "total_pages": { "type": "number" }, "total_count": { "type": "number" } } } } }, "example": { "credentials": [ { "id": 10250009, "name": "TestCourse", "description": "Test Description", "grade": null, "complete": true, "issued_on": "2015-07-03", "allow_supplemental_references": null, "allow_supplemental_evidence": null, "course_link": "http://example.com", "custom_attributes": null, "expired_on": null, "group_name": "test", "private": false, "recipient": { "name": "John Doe", "email": "person2@example.com", "id": 772, "meta_data": { "zip_code": "10459" } }, "issuer": { "name": "Example Provider", "description": " Best place to manage online learning", "url": "http://www.accredible.com" }, "meta_data": { "foo": "bar" } }, { "id": 10250010, "name": "TestCourse", "description": "Test Description", "grade": null, "complete": true, "issued_on": "2015-07-03", "allow_supplemental_references": null, "allow_supplemental_evidence": null, "course_link": "http://example.com", "custom_attributes": null, "expired_on": null, "group_name": "test", "private": false, "recipient": { "name": "John Doe", "email": "person2@example.com", "id": 883, "meta_data": null }, "issuer": { "name": "Example Provider", "description": " Best place to manage online learning", "url": "http://www.accredible.com" }, "meta_data": null } ], "meta": { "current_page": 1, "next_page": 2, "prev_page": null, "total_pages": 795, "total_count": 1590 } } } } } }, "summary": "Search for Credentials", "operationId": "Search for Credentials", "description": "", "tags": [ "Credentials" ], "parameters": [ { "name": "group_id", "in": "query", "description": "Limit the returned Credentials to a specific group ID.", "schema": { "type": "string" } }, { "name": "recipient.name", "in": "query", "description": "Limit the returned Credentials to a recipient's name", "schema": { "type": "string" } }, { "name": "recipient.email", "in": "query", "description": "Limit the returned Credentials to a specific recipient's email address.", "schema": { "type": "string" } }, { "name": "recipient.id", "in": "query", "description": "Limit the returned Credentials to a specific recipient user identifier (ID) you set whilst creating Credentials.", "schema": { "type": "string" } }, { "name": "recipient.meta_data", "in": "query", "description": "String key/values for client's own data on recipient", "schema": { "type": "string" } }, { "name": "license_id", "in": "query", "description": "Limit the returned Credential to a specific credential id you set whilst creating credential.", "schema": { "type": "string" } }, { "name": "meta_data", "in": "query", "description": "String key/values for client's own data on credential", "schema": { "type": "string" } }, { "name": "start_date", "in": "query", "description": "Date after which credentials issued should be return. Format: YYYY-MM-DD (DD/MM/YYYY also works but is deprecated)", "schema": { "type": "string" } }, { "name": "end_date", "in": "query", "description": "Date before which credetials issued should be return. Format: YYYY-MM-DD (DD/MM/YYYY also works but is deprecated)", "schema": { "type": "string" } }, { "name": "start_updated_date", "in": "query", "description": "Date after which Credentials updated should be returned. Format: YYYY-MM-DD (DD/MM/YYYY also works but is deprecated)", "schema": { "type": "string" } }, { "name": "end_updated_date", "in": "query", "description": "Date before which Credetials updated should be returned. Format: YYYY-MM-DD (DD/MM/YYYY also works but is deprecated)", "schema": { "type": "string" } }, { "name": "page_size", "in": "query", "description": "The pagination response size, default of 50.", "schema": { "type": "number" } }, { "name": "page", "in": "query", "description": "The pagination page.", "schema": { "type": "number" } } ], "requestBody": { "content": { "application/json": { "example": { "meta_data": { "example": "value" } }, "schema": { "type": "object", "properties": { "meta_data": { "type": "object", "properties": { "example": { "type": "string" } } } } } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v2/credentials/search": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": {} } }, "summary": "Search for Credentials", "operationId": "Search for Credentials", "description": "", "tags": [ "Credentials" ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "query" ], "properties": { "query": { "type": "object", "properties": { "group.id": { "type": "string", "description": "Limit the returned credentials to a specific group ID.\n\nSupported operations - `eq`, `in`" }, "recipient_name": { "type": "string", "description": "Limit the returned credentials to a recipient's name.\n\nSupported operations - `eq`, `in`" }, "approve": { "type": "boolean", "description": "Return only published or unpublished credentials by specifying the desired value (true/false). If not specified, all credentials will be returned.\n\nSupported operations - `eq`" }, "recipient_email": { "type": "string", "description": "Limit the returned credentials to a specific recipient's email address.\n\nSupported operations - `eq`, `in`" }, "recipient_id": { "type": "string", "description": "Limit the returned credentials to a specific recipient user identifier (ID) you set whilst creating credentials.\n\nSupported operations - `eq`, `in`" }, "recipient_meta_data": { "type": "object", "properties": {}, "description": "String key/values for client's own data on the recipient.\n\nSupported operations - none" }, "license_id": { "type": "string", "description": "Limit the returned credentials to a specific credential id you set whilst creating the credential.\n\nSupported operations - `eq`, `in`" }, "meta_data": { "type": "object", "properties": {}, "description": "String key/values for client's own data on the credential.\n\nSupported operations - none" }, "custom_attributes": { "type": "object", "properties": {}, "description": "String key/values for client's own data on the credential.\n\nSupported operations - none" }, "issued_on": { "type": "string", "description": "Date on which the credentials have been issued. Format: YYYY-MM-DD\n\nSupported operations - `eq`, `in`, `lt`, `lte`, `gt`, `gte`" }, "expired_on": { "type": "string", "description": "Date on which the credentials will expire. Format: YYYY-MM-DD\n\nSupported operations - `eq`, `in`, `lt`, `lte`, `gt`, `gte`" }, "updated_at": { "type": "string", "description": "Date on which the credentials have been updated. Format: YYYY-MM-DD\n\nSupported operations - `eq`, `in`, `lt`, `lte`, `gt`, `gte`" }, "created_at": { "type": "string", "description": "Date on which the credentials have been created. Format: YYYY-MM-DD\n\nSupported operations - `eq`, `in`, `lt`, `lte`, `gt`, `gte`" } } }, "sort": { "type": "object", "properties": { "String key/value pair for sorting based on a field and order.": { "type": "string", "description": "Supported keys - `id`, `recipient_name`, `group.name`, `issued_on` and `expired_on`.\nSupported values - `asc`, `desc`" } } }, "page": { "type": "object", "properties": { "from": { "type": "string", "description": "Defines the number of records to skip." }, "size": { "type": "string", "description": "The number of records to be returned. Default is 50" } } } } } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/credentials/generate_pdf": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "file": { "type": "string" } } }, "example": { "file": "https://s3.amazonaws.com/staging_accredible_api_organizations/zip_pdf/a1VzM3lmSi9hUEpWL083RnNOUmF4eWN1aCtNNG1DVUNvVXBJekQwR2VWQT0.zip" } } } } }, "summary": "Generate PDF for credentials", "operationId": "Generate PDF for credentials", "description": "This endpoint takes credential_ids and generate pdfs. The endpoint returns zip file of folder having all pdfs requested.", "tags": [ "Credentials" ], "requestBody": { "content": { "application/json": { "example": { "credential_ids": [ "10000005", "10272642", "10299775" ] }, "schema": { "type": "object", "properties": { "credential_ids": { "description": "ID's of credentials for which PDF need to be generated." } }, "required": [ "credential_ids" ] } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/credentials/generate_single_pdf/{id}": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "file": { "type": "string" } } }, "example": { "file": "https://s3.amazonaws.com/staging-pdf-certificate/10531400.pdf" } } } } }, "summary": "Generate PDF for a single credential", "operationId": "Generate PDF for a single credential", "description": "This endpoint takes id of published credential and generate pdf. The endpoint returns link to PDF requested.\n\n[Generate a PDF of a Credential - Video Walkthrough](https://www.loom.com/share/6e9364c74c3a4bb3aeff2e3f8d7e2f59?sid=7172149f-4b66-4539-ae97-66b5f083d89b)", "tags": [ "Credentials" ], "parameters": [ { "name": "id", "in": "path", "description": "ID of the Credential in the form of an integer or string for the particular Credential requested.", "required": true, "schema": { "type": "string" } } ], "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/issuer/credential_redirect": { "get": { "responses": {}, "summary": "Redirect to the Credential", "operationId": "Redirect to the Credential", "description": "This endpoint redirects to a particular Credential. You can supply your internal credential id of you'd like to redirect to. To make this work, you need to use your internal unique id while creating credential.", "tags": [ "Credentials" ], "requestBody": { "content": { "application/json": { "example": { "issuer_id": 0, "id": "" }, "schema": { "type": "object", "properties": { "issuer_id": { "type": "number", "description": "ID of your issuer account. Ask us to get this or use the endpont view-issuer-details." }, "id": { "type": "string", "description": "Provide the unique Credential Identifier you set whilst creating or updating a Credential." } }, "required": [ "issuer_id", "id" ] } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/credentials/blockchain_data/{id}": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "credential_json_data": { "type": "object", "properties": { "certificate": { "type": "object", "properties": { "name": { "type": "string" }, "issuer": { "type": "object", "properties": { "name": { "type": "string" }, "url": { "type": "string" }, "id": { "type": "string" }, "type": { "type": "string" }, "email": { "type": "string" } } }, "type": { "type": "string" }, "id": { "type": "string" }, "description": { "type": "string" } } }, "verify": { "type": "object", "properties": { "signer": { "type": "string" }, "attribute-signed": { "type": "string" }, "type": { "type": "string" } } }, "assertion": { "type": "object", "properties": { "issuedOn": { "type": "string" }, "type": { "type": "string" }, "uid": { "type": "string" }, "id": { "type": "string" } } }, "type": { "type": "string" }, "@context": { "type": "string" }, "recipient": { "type": "object", "properties": { "familyName": { "type": "string" }, "hashed": { "type": "boolean" }, "type": { "type": "string" }, "identity": { "type": "string" } } } } }, "receipt": { "type": "object", "properties": { "@context": { "type": "string" }, "type": { "type": "string" }, "targetHash": { "type": "string" }, "merkleRoot": { "type": "string" }, "proof": { "type": "array", "items": { "type": "object", "properties": { "left": { "type": "string" }, "right": { "type": "string" } }, "required": [ "left" ] } }, "anchors": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string" }, "sourceId": { "type": "string" } } } } } } } } } }, "example": { "data": { "credential_json_data": { "certificate": { "name": "Example Certificate Title", "issuer": { "name": "Example Organization", "url": "http://www.accredible.com", "id": "https://api.accredible.com/v1/obi/issuer_badge_classes/qOeq", "type": "Issuer", "email": "issuer+4897@accredible.com" }, "type": "Certificate", "id": "https://www.credential.net/10000005", "description": "This is an example description - you can write anything you want here. We recommend describing the achievement." }, "verify": { "signer": "abc", "attribute-signed": "uid", "type": "ECDSA(secp256k1)" }, "assertion": { "issuedOn": "2014-08-14", "type": "Assertion", "uid": "10000005-0000-0000-0000-000000000000", "id": "https://api.accredible.com/v1/obi/badge_assertions/akobz1" }, "type": "CertificateDocument", "@context": "https://w3id.org/blockcerts/v1", "recipient": { "familyName": "Jordan Smith", "hashed": true, "type": "email", "identity": "bUt3VFpyekE5Wmxxa0FRdExUZ3k5WkdVanRWU3JPNmxDVjdVZ2xkckJnVW9MVm5rYmtLSDZ6M3IvS2tMWnA5MS0tN0RwVVdIb1RJUzIyTnBjS20wcVpUdz09--d964109d91c7890715008e1749e0ee990c7ce9cb" } }, "receipt": { "@context": "https://w3id.org/chainpoint/v2", "type": "ChainpointSHA256v2", "targetHash": "726245b5a11b7f94b756ee746f3b3ce18efdc492c615c32678dae1ca76a8667a", "merkleRoot": "e9aaf5d6e0021deb260608991fbb45d1c3ccb4553ea710635975834909bd8314", "proof": [ { "left": "ab4f843e61e1261e832e97807f37d51d851f8aaac3f44216914f67b7588634ad" }, { "left": "91ad43d509dabfc0a6d23167a10707a63e8ab7f9fa949d6c0aca763c64fefdb6" }, { "right": "9047877604cecc72d9bc614375b14ff0ce02b231d51a53fe33ce24e39cf3e6c4" } ], "anchors": [ { "type": "BTCOpReturn", "sourceId": "707f86dc790338c5bddb19188c1c3f46f95a346a7693cc8c772b5e9252099c54" } ] } } } } } } }, "summary": "Verify BlockChain Credential", "operationId": "Verify BlockChain Credential", "description": "This endpoint gives data for a blockchain recorded credential. It will help you verify authenticity of the credential on blockchain.\n\n[Verify Blockchain record of a Credential - Video Walkthrough](https://www.loom.com/share/23621ac848c44a77ac1eda0eeb975d93?sid=c10228b9-6317-477b-b903-20ed78ce6b76)", "tags": [ "Credentials" ], "parameters": [ { "name": "id", "in": "path", "description": "Encoded id or UUID of the credentials. unique id in the credentials url.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": {}, "schema": { "type": "object", "properties": { "key": { "type": "string", "description": "If private credentials provide a key" } } } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v2/credentials/{id}/blockchain_data": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "data": { "type": "object", "properties": { "chain": { "type": "string" }, "credential_json_data": { "type": "object", "properties": { "@context": { "type": "array", "items": { "type": "string" } }, "type": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "issuer": { "type": "string" }, "issuanceDate": { "type": "string" }, "credentialSubject": { "type": "object", "properties": { "name": { "type": "string" }, "claim": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" } } } } }, "display": { "type": "object", "properties": { "contentMediaType": { "type": "string" }, "content": { "type": "string" } } } } }, "receipt": { "type": "object", "properties": { "txn_id": { "type": "string" }, "body": { "type": "object", "properties": { "@context": { "type": "array", "items": { "type": "string" } }, "type": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "issuer": { "type": "string" }, "issuanceDate": { "type": "string" }, "credentialSubject": { "type": "object", "properties": { "name": { "type": "string" }, "claim": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" } } } } }, "display": { "type": "object", "properties": { "contentMediaType": { "type": "string" }, "content": { "type": "string" } } }, "proof": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "cryptosuite": { "type": "string" }, "proofPurpose": { "type": "string" }, "created": { "type": "string" }, "proofValue": { "type": "string" }, "verificationMethod": { "type": "string" } } } } } } } } } } }, { "type": "object", "properties": { "data": { "type": "object", "properties": { "chain": { "type": "string" }, "credential_json_data": { "type": "object", "properties": { "certificate": { "type": "object", "properties": { "name": { "type": "string" }, "issuer": { "type": "object", "properties": { "name": { "type": "string" }, "url": { "type": "string" }, "id": { "type": "string" }, "type": { "type": "string" }, "email": { "type": "string" } } }, "type": { "type": "string" }, "id": { "type": "string" }, "description": { "type": "string" } } }, "verify": { "type": "object", "properties": { "signer": { "type": "string" }, "attribute-signed": { "type": "string" }, "type": { "type": "string" } } }, "assertion": { "type": "object", "properties": { "issuedOn": { "type": "string" }, "type": { "type": "string" }, "uid": { "type": "string" }, "id": { "type": "string" } } }, "type": { "type": "string" }, "@context": { "type": "string" }, "recipient": { "type": "object", "properties": { "familyName": { "type": "string" }, "hashed": { "type": "boolean" }, "type": { "type": "string" }, "identity": { "type": "string" } } } } }, "receipt": { "type": "object", "properties": { "@context": { "type": "string" }, "type": { "type": "string" }, "targetHash": { "type": "string" }, "merkleRoot": { "type": "string" }, "proof": { "type": "array", "items": { "type": "object", "properties": { "left": { "type": "string" }, "right": { "type": "string" } }, "required": [ "left" ] } }, "anchors": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string" }, "sourceId": { "type": "string" } } } } } } } } } } ] }, "examples": { "example1": { "value": { "data": { "chain": "Ethereum", "credential_json_data": { "@context": [ "https://www.w3.org/2018/credentials/v1", "https://w3id.org/blockcerts/v3" ], "type": [ "VerifiableCredential", "BlockcertsCredential" ], "id": "https://www.credential.net/dbe99696-2cb3-4dc4-aef8-d6e6c2840140", "issuer": "https://api.accredible.com/v1/blockcerts/issuer/f942", "issuanceDate": "2022-10-07T00:00:00+00:00", "credentialSubject": { "name": "Jewell White Esq.", "claim": { "name": "Accounting", "description": "Business-focused responsive interface" } }, "display": { "contentMediaType": "text/html", "content": "
" } }, "receipt": { "txn_id": "0xb534249bc297aa4f8e038c1a6633ab77fef968c54e375ee5a84055f1875305a7", "body": { "@context": [ "https://www.w3.org/2018/credentials/v1", "https://w3id.org/security/data-integrity/v2", "https://w3id.org/blockcerts/v3.1" ], "type": [ "VerifiableCredential", "BlockcertsCredential" ], "id": "https://www.credential.net/dbe99696-2cb3-4dc4-aef8-d6e6c2840140", "issuer": "https://api.accredible.com/v1/blockcerts/issuer/f942", "issuanceDate": "2022-10-07T00:00:00+00:00", "credentialSubject": { "name": "Jewell White Esq.", "claim": { "name": "Accounting", "description": "Business-focused responsive interface" } }, "display": { "contentMediaType": "text/html", "content": " \n

Jewell White Esq.

\n

--------------------------------

\n

Accounting

\n

Business-focused responsive interface

\n

--------------------------------

\n

Issued By

\n

Muller, Walsh and Lockman

\n

--------------------------------

\n

Issued On

\n

October 7th, 2022

\n

--------------------------------

\n

Expires On

\n

-

\n

--------------------------------

\n \n" }, "proof": { "id": "urn:uuid:384b94ec-335f-4d42-a2c3-74d296f711da", "type": "MerkleProof2019", "cryptosuite": "merkle-proof-2019", "proofPurpose": "assertionMethod", "created": "2024-03-13T11:07:25.181722", "proofValue": "z8VhG6bxbkqU4L14xLgVfh1ctX985BaKbuHNwKECdsCLLgNgPBizqk5a9FwLE1XnP8QGTNoSfuXLPzAo2ARQ27icJ2CcekHcP71EkFd3wvRrWHdveP2ynYgyPFDS2Dpg2euzUWeMdbMoFHiQw31rfMvfbkyVhFv3bCxHmMj1sHa3S1eRPVvPzVeftU2DvuEPry3YfUYahZbWmc184G2ojWB2K4egND7yRhuFDumaQikVFSXmsKVXcYqpf6a6VWCRU9q4DmuPPxYhWXPtKb5FJVQjXeN7NWR7uJ5SUciewepf2Yo64CVPR8j2BcYMHSvSBBTgCh1wkUisvH947WKYS5z68R4fMS86DeLeBe1WuBiBHaYQV2hM7rt5Fb95dEAMAHAQNmACEFgy1BiK2V8prT18k8jPNDfKiifz1FRwrC5WXpsdJydJwnzJyuYV4TUWGFdVAB4T6hrP8wkkcy9UEjWBRJycNCCERRVPN7VCHH2bYqK1poYtKxncpCmByULodY8BwoX3xzAmJhvLTuEtpvipkF4sMySNrPMXHMZc1Lago8YofAWtswA9H7k4hWSdkzyuuF4HCNLoFjoepcz649PCiTgNhBxq8ynJtKmDESY4GWvtJTwmyfeEV1LvoQZmKgNZH8qe4WYJ3UeL96n3qjnVSbCqUFhEoxcDDofshhtz7YWTQUzS8ihnZc45gnXT2EeXeqE1Hyx6M98ig4TnAoXkzwDJ3KFoc25MqoRfovHdzAzFYjTp9Aa5ybT1iCC6nrUuSwqS1AHaKV4T88KxK5oxkMMQdeEvVcEtEMaVgSVXMhHuULb7dztBzonQRhem6s3v6AYYWHPH23nSVdDopTAAYGQqwZpaiBvXZnxTY85njJa3aT3tmfE7YutjjFmLAwC9cEMEM1dUSEW2NbaHyGVooc6kZnDjXxWZKWBBSx5ujoDPLiRgQrGbgN5aEFRRdYdEvYeCod6zJCgdzQ67coYFgKpkZC2RyYsYXuEwT4uve9M5vk6jDbj2nnXPFkAQhP6295k4UnT6oNZUJaWeBEmNm1BsDSPU7RFx45Js2p4hNG6N72oPHJDdKQn7hpCZt98MJWqtRzyx7XUZNmwPHjpYwFB3t1N7oa9NvA4EV2ahPUJHRP1tm7Xg4xafDRtRABSV5nxpbfnJAGZKjWUGGUCtz2NjLboc3vBP8g48MBbwRxZqvGTMF51eZ9F4D1VaEExAEcPLa3SdMxCby3XdfEbd9uqdEs2gr7qoMBFSHNQQAWGcxuVzd4h2mEwrerpbfFaTi5tq9dpJb6pKX2crAMyyWr8xfSZJvtq9dsuD1z2ZfKo3zwkciftwGzMsHxyF6Zm4XvJdCUG4fQntr6qTo91", "verificationMethod": "https://accredible.com" } } } } } }, "example2": { "value": { "data": { "chain": "Bitcoin", "credential_json_data": { "certificate": { "name": "Example Certificate Title", "issuer": { "name": "Example Organization", "url": "http://www.accredible.com", "id": "https://api.accredible.com/v1/obi/issuer_badge_classes/qOeq", "type": "Issuer", "email": "issuer+4897@accredible.com" }, "type": "Certificate", "id": "https://www.credential.net/10000005", "description": "This is an example description - you can write anything you want here. We recommend describing the achievement." }, "verify": { "signer": "abc", "attribute-signed": "uid", "type": "ECDSA(secp256k1)" }, "assertion": { "issuedOn": "2014-08-14", "type": "Assertion", "uid": "10000005-0000-0000-0000-000000000000", "id": "https://api.accredible.com/v1/obi/badge_assertions/akobz1" }, "type": "CertificateDocument", "@context": "https://w3id.org/blockcerts/v1", "recipient": { "familyName": "Jordan Smith", "hashed": true, "type": "email", "identity": "bUt3VFpyekE5Wmxxa0FRdExUZ3k5WkdVanRWU3JPNmxDVjdVZ2xkckJnVW9MVm5rYmtLSDZ6M3IvS2tMWnA5MS0tN0RwVVdIb1RJUzIyTnBjS20wcVpUdz09--d964109d91c7890715008e1749e0ee990c7ce9cb" } }, "receipt": { "@context": "https://w3id.org/chainpoint/v2", "type": "ChainpointSHA256v2", "targetHash": "726245b5a11b7f94b756ee746f3b3ce18efdc492c615c32678dae1ca76a8667a", "merkleRoot": "e9aaf5d6e0021deb260608991fbb45d1c3ccb4553ea710635975834909bd8314", "proof": [ { "left": "ab4f843e61e1261e832e97807f37d51d851f8aaac3f44216914f67b7588634ad" }, { "left": "91ad43d509dabfc0a6d23167a10707a63e8ab7f9fa949d6c0aca763c64fefdb6" }, { "right": "9047877604cecc72d9bc614375b14ff0ce02b231d51a53fe33ce24e39cf3e6c4" } ], "anchors": [ { "type": "BTCOpReturn", "sourceId": "707f86dc790338c5bddb19188c1c3f46f95a346a7693cc8c772b5e9252099c54" } ] } } } } } } } } }, "summary": "Verify BlockChain Credential", "operationId": "Verify BlockChain Credential", "description": "This endpoint gives data for a blockchain recorded credential.\nIt will help you verify authenticity of the credential on blockchain.\nThis endpoint would return different responses based on the Blockchain (*Bitcoin* or *Ethereum*) that it's issued in.\n\n[Verify Blockchain record of a Credential - Video Walkthrough](https://www.loom.com/share/23621ac848c44a77ac1eda0eeb975d93?sid=c10228b9-6317-477b-b903-20ed78ce6b76)", "tags": [ "Credentials" ], "parameters": [ { "name": "id", "in": "path", "description": "Encoded id or UUID of the credentials. unique id in the credentials url.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": {}, "schema": { "type": "object", "properties": { "key": { "type": "string", "description": "If private credentials provide a key" } } } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/credentials/analytics/{id}": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "analytics": { "type": "array", "items": { "type": "object", "properties": { "credential_id": { "type": "number" }, "event": { "type": "string" }, "created_at": { "type": "string" } }, "required": [ "credential_id", "event", "created_at" ] } } } }, "example": { "analytics": [ { "credential_id": 10533900, "event": "privacy_updated", "created_at": "2018-02-13T07:00:00.000Z" }, { "credential_id": 10533900, "event": "recipient_view_certificate", "created_at": "2018-02-13T07:00:00.000Z" }, { "credential_id": 10533900, "event": "credential_user_verified", "created_at": "2018-02-13T07:00:00.000Z" } ] } } } } }, "summary": "View Credential Analytics", "operationId": "View Credential Analytics", "description": "", "tags": [ "Credentials" ], "parameters": [ { "name": "id", "in": "path", "description": "Id of the credential.", "required": true, "schema": { "type": "string" } } ], "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/issuer/groups": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "group": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "course_description": { "type": "string" }, "course_name": { "type": "string" }, "learning_outcomes": { "type": "array", "items": { "type": "string" } }, "attach_pdf": { "type": "boolean" }, "course_link": { "type": "string" }, "language": { "type": "string" }, "design_name": { "type": "string" }, "updated_at": { "type": "string" }, "created_at": { "type": "string" }, "design_id": { "type": "number" }, "blockchain": { "type": "boolean" }, "certificate_design_id": { "nullable": true }, "badge_design_id": { "nullable": true }, "primary_design_id": { "nullable": true }, "department_id": { "type": "number" }, "meta_data": { "type": "object", "properties": { "foo": { "type": "string" } } }, "generate_private_credential": { "type": "boolean" }, "auto_expiry": { "type": "number" }, "signup_url_show": { "type": "boolean" }, "signup_url": { "type": "string" }, "course_link_show": { "type": "boolean" }, "organization_link_show": { "type": "boolean" }, "skill_category": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" } } }, "collections": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "description": { "type": "string", "nullable": true } }, "required": [ "id", "name", "description" ] } } } } } }, "example": { "group": { "id": 12472, "name": "new group", "course_description": "Desscription of course", "course_name": "Intro to Programming", "learning_outcomes": [ "Skill One", "Skill Two" ], "attach_pdf": true, "course_link": "http://www.example.com", "language": "en", "design_name": "test", "updated_at": "2016-08-29T07:03:25.000Z", "created_at": "2016-08-29T06:14:18.000Z", "design_id": 23, "blockchain": false, "certificate_design_id": null, "badge_design_id": null, "primary_design_id": null, "department_id": 123, "meta_data": { "foo": "bar" }, "generate_private_credential": false, "auto_expiry": 1, "signup_url_show": false, "signup_url": "http://www.example.com", "course_link_show": false, "organization_link_show": false, "skill_category": { "id": 1, "name": "Example Category" }, "collections": [ { "id": 1, "name": "one", "description": null }, { "id": 2, "name": "two", "description": "description example" } ] } } } } } }, "summary": "Create a Group", "operationId": "Create a Group", "description": "", "tags": [ "Groups" ], "requestBody": { "content": { "application/json": { "example": { "group": { "name": "new group", "course_name": "Intro to Prgramming", "course_description": "Description of course", "course_link": "http://www.example.com", "language": "en", "attach_pdf": true, "design_id": null, "blockchain": false, "certificate_design_id": null, "badge_design_id": null, "primary_design_id": null, "department_id": 123, "meta_data": { "batch_id": "271" }, "learning_outcomes": [ "Reading Books", "Writing Essays" ], "generate_private_credential": false, "auto_expiry": 1, "signup_url_show": false, "signup_url": "http://www.example.com", "course_link_show": false, "organization_link_show": false, "skill_category_id": 1, "collections": [ { "id": 1 }, { "id": 2 } ] } }, "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the group (for your reference and never shown to the recipient)." }, "course_name": { "type": "string", "description": "Name of the course or achievement. This is visible to the recipient." }, "course_description": { "type": "string", "description": "Description of the course or achievement. This is visible to the recipient." }, "course_link": { "type": "string", "description": "Link to the web page with information related to this Credential. Typically this is a course information or event information page." }, "language": { "type": "string", "description": "Language for the group. Currently we support \"en\", \"es\", \"vi\", \"pt\", \"ja\", \"fr\", \"da\", \"nl\", \"fi\", \"no\", \"nb\", \"ro\", \"sv\", \"th\", \"tw\", \"zh\", \"tr\", \"ar\", \"he\", \"ms\" and \"de\". Default language is en." }, "attach_pdf": { "type": "boolean", "description": "PDF of the Credential should be attached to email when recipient is informed. Default is false." }, "blockchain": { "type": "boolean", "description": "Enable or disable recording of these Credentials on a Blockchain." }, "design_id": { "type": "number", "description": "DEPRECATED. Certificate Design which the Group will use to display Credentials." }, "certificate_design_id": { "type": "number", "description": "Certificate Design which the Group will use to display Credentials." }, "badge_design_id": { "type": "number", "description": "Badge Design which the Group will use to display Credentials." }, "primary_design_id": { "type": "number", "description": "Primary Design which the Group will use to display Credentials." }, "department_id": { "type": "number", "description": "Department that the group belongs to. If not defined the group will be assigned to the organizations default department." }, "meta_data": { "type": "object", "properties": {}, "description": "You can use this parameter to attach key-value strings to the object. Meta data is useful for storing additional, structured information on an object." }, "learning_outcomes": { "description": "Searchable keywords identifying skills credential-holders need to demonstrate (or have learned) in the process of earning this credential." }, "generate_private_credential": { "type": "boolean", "description": "The default value of `Credential.private` for the Group. The supported values are `true`, `false`, and `null`. When this is set to `true` or `false`, it will override `Department.generate_private_credential` and be used as the default of `Credential.private` when creating a new `Credential`. When this is set to `null`, it won't override `Department.generate_private_credential` which will be used for the default of `Credential.private` instead." }, "auto_expiry": { "type": "number", "description": "Specifies the number of years from the issue date after which the credential will automatically expire. If the specified value is less than or equal to 0, it will be ignored." }, "signup_url": { "type": "string", "description": "This provides a direct path for credential viewers to enroll in your course." }, "signup_url_show": { "type": "boolean", "description": "Show or hide the sign up url. The supported values are `true`, `false` and `null`." }, "course_link_show": { "type": "boolean", "description": "This links the credential data record to your information about the credential on your website. The supported values are `true`, `false` and `null`." }, "organization_link_show": { "type": "boolean", "description": "Show or hide the link to your website homepage. The supported values are `true`, `false` and `null`." }, "allow_duplicate_credentials": { "type": "boolean", "description": "An email address can receive more than one credential. The supported values are `true` & `false`. Defaults to `false`." }, "skill_category_id": { "type": "number", "description": "ID of the skill category to associate with this group." }, "collections": { "description": "Full list of collections to associate to this group" } }, "required": [ "name", "course_name", "course_description" ] } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/issuer/groups/{group_id}": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "group": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "course_description": { "type": "string" }, "course_name": { "type": "string" }, "learning_outcomes": { "nullable": true }, "attach_pdf": { "type": "boolean" }, "course_link": { "type": "string" }, "language": { "type": "string" }, "design_name": { "type": "string" }, "updated_at": { "type": "string" }, "created_at": { "type": "string" }, "design_id": { "type": "number" }, "blockchain": { "type": "boolean" }, "certificate_design_id": { "nullable": true }, "badge_design_id": { "nullable": true }, "primary_design_id": { "nullable": true }, "department_id": { "type": "number" }, "meta_data": { "nullable": true }, "generate_private_credential": { "type": "boolean" }, "auto_expiry": { "type": "number" }, "signup_url_show": { "type": "boolean" }, "signup_url": { "type": "string" }, "course_link_show": { "type": "boolean" }, "organization_link_show": { "type": "boolean" }, "skill_category": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" } } }, "collections": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "description": { "type": "string", "nullable": true } }, "required": [ "id", "name", "description" ] } } } } } }, "example": { "group": { "id": 12472, "name": "new group", "course_description": "Desscription of course", "course_name": "Intro to Programming", "learning_outcomes": null, "attach_pdf": true, "course_link": "http://www.example.com", "language": "en", "design_name": "test", "updated_at": "2016-08-29T07:03:25.000Z", "created_at": "2016-08-29T06:14:18.000Z", "design_id": 23, "blockchain": false, "certificate_design_id": null, "badge_design_id": null, "primary_design_id": null, "department_id": 123, "meta_data": null, "generate_private_credential": false, "auto_expiry": 1, "signup_url_show": false, "signup_url": "http://www.example.com", "course_link_show": false, "organization_link_show": false, "skill_category": { "id": 1, "name": "Example Category" }, "collections": [ { "id": 1, "name": "one", "description": null }, { "id": 2, "name": "two", "description": "description example" } ] } } } } } }, "summary": "View a Group", "operationId": "View a Group", "description": "", "tags": [ "Groups" ], "parameters": [ { "name": "group_id", "in": "path", "description": "ID of the group in the form of an integer for the particular group requested. You can obtain the group ID from the all groups request.", "required": true, "schema": { "type": "number" } } ], "security": [ { "ApiKeyAuth": [] } ] }, "put": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "group": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "course_description": { "type": "string" }, "course_name": { "type": "string" }, "learning_outcomes": { "nullable": true }, "attach_pdf": { "type": "boolean" }, "course_link": { "type": "string" }, "language": { "type": "string" }, "design_name": { "type": "string" }, "updated_at": { "type": "string" }, "created_at": { "type": "string" }, "design_id": { "type": "number" }, "blockchain": { "type": "boolean" }, "certificate_design_id": { "nullable": true }, "badge_design_id": { "nullable": true }, "primary_design_id": { "nullable": true }, "department_id": { "type": "number" }, "meta_data": { "type": "object", "properties": { "foo": { "type": "string" } } }, "generate_private_credential": { "type": "boolean" }, "auto_expiry": { "type": "number" }, "signup_url_show": { "type": "boolean" }, "signup_url": { "type": "string" }, "course_link_show": { "type": "boolean" }, "organization_link_show": { "type": "boolean" }, "skill_category": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" } } }, "collections": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "description": { "type": "string", "nullable": true } }, "required": [ "id", "name", "description" ] } } } } } }, "example": { "group": { "id": 12472, "name": "updated new group", "course_description": "Desscription of course", "course_name": "updated course name", "learning_outcomes": null, "attach_pdf": true, "course_link": "http://www.example.com", "language": "en", "design_name": "test", "updated_at": "2016-08-29T07:03:25.000Z", "created_at": "2016-08-29T06:14:18.000Z", "design_id": 23, "blockchain": false, "certificate_design_id": null, "badge_design_id": null, "primary_design_id": null, "department_id": 123, "meta_data": { "foo": "bar" }, "generate_private_credential": false, "auto_expiry": 1, "signup_url_show": false, "signup_url": "http://www.example.com", "course_link_show": false, "organization_link_show": false, "skill_category": { "id": 1, "name": "Example Category" }, "collections": [ { "id": 1, "name": "one", "description": null }, { "id": 2, "name": "two", "description": "description example" } ] } } } } } }, "summary": "Update a Group", "operationId": "Update a Group", "description": "", "tags": [ "Groups" ], "parameters": [ { "name": "group_id", "in": "path", "description": "ID of the group in the form of an integer for the particular group requested. You can obtain the group ID from the all groups request.", "required": true, "schema": { "type": "number" } } ], "requestBody": { "content": { "application/json": { "example": { "group": { "name": "updated new group", "course_name": "updated course name", "skill_category_id": 1, "collections": [ { "id": 1 }, { "id": 2 } ] } }, "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the group (for your reference and never shown to the recipient)." }, "course_name": { "type": "string", "description": "Name of the course or achievement. This is visible to the recipient." }, "course_description": { "type": "string", "description": "Description of the course or achievement. This is visible to the recipient." }, "course_link": { "type": "string", "description": "Link to the web page with information related to this Credential. Typically this is a course information or event information page." }, "langauge": { "type": "string", "description": "Language for the group. Currently we support \"en\", \"es\", \"vi\", \"pt\", \"ja\", \"fr\", \"da\", \"nl\", \"fi\", \"no\", \"nb\", \"ro\", \"sv\", \"th\", \"tw\", \"zh\", \"tr\", \"ar\", \"he\", \"ms\" and \"de\". Default language is en." }, "attach_pdf": { "type": "boolean", "description": "PDF of the Credential should be attached to email when recipient is informed. Default is false." }, "blockchain": { "type": "boolean", "description": "Enable or disable recording of these Credentials on a Blockchain." }, "design_id": { "type": "number", "description": "DEPRECATED. Certificate Design which the Group will use to display Credentials." }, "certificate_design_id": { "type": "number", "description": "Certificate Design which the Group will use to display Credentials." }, "badge_design_id": { "type": "number", "description": "Badge Design which the Group will use to display Credentials." }, "primary_design_id": { "type": "number", "description": "Primary Design which the Group will use to display Credentials." }, "department_id": { "type": "number", "description": "Department that the group belongs to. If not defined the group will be assigned to the organizations default department." }, "meta_data": { "type": "object", "properties": {}, "description": "You can use this parameter to attach key-value strings to the object. Meta data is useful for storing additional, structured information on an object." }, "learning_outcomes": { "description": "Searchable keywords identifying skills credential-holders need to demonstrate (or have learned) in the process of earning this credential." }, "generate_private_credential": { "type": "boolean", "description": "The default value of `Credential.private` for the Group. The supported values are `true`, `false`, and `null`. When this is set to `true` or `false`, it will override `Department.generate_private_credential` and be used as the default of `Credential.private` when creating a new `Credential`. When this is set to `null`, it won't override `Department.generate_private_credential` which will be used for the default of `Credential.private` instead." }, "auto_expiry": { "type": "number", "description": "Specifies the number of years from the issue date after which the credential will automatically expire. If the specified value is less than or equal to 0, it will be ignored." }, "signup_url": { "type": "string", "description": "This provides a direct path for credential viewers to enroll in your course." }, "signup_url_show": { "type": "boolean", "description": "Show or hide the sign up url. The supported values are `true`, `false` and `null`." }, "course_link_show": { "type": "boolean", "description": "This links the credential data record to your information about the credential on your website. The supported values are `true`, `false` and `null`." }, "organization_link_show": { "type": "boolean", "description": "Show or hide the link to your website homepage. The supported values are `true`, `false` and `null`." }, "allow_duplicate_credentials": { "type": "boolean", "description": "An email address can receive more than one credential. The supported values are `true` & `false`. Defaults to `false`." }, "skill_category_id": { "type": "number", "description": "ID of the skill category to associate with this group." }, "collections": { "description": "Full list of collections to associate to this group" } }, "required": [ "name", "course_name", "course_description" ] } } } }, "security": [ { "ApiKeyAuth": [] } ] }, "delete": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "group": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "course_description": { "type": "string" }, "course_name": { "type": "string" }, "learning_outcomes": { "nullable": true }, "attach_pdf": { "type": "boolean" }, "course_link": { "type": "string" }, "language": { "type": "string" }, "design_name": { "type": "string" }, "updated_at": { "type": "string" }, "created_at": { "type": "string" }, "design_id": { "type": "number" }, "blockchain": { "type": "boolean" }, "certificate_design_id": { "nullable": true }, "badge_design_id": { "nullable": true }, "primary_design_id": { "nullable": true }, "department_id": { "type": "number" }, "meta_data": { "nullable": true }, "generate_private_credential": { "type": "boolean" }, "auto_expiry": { "type": "number" }, "signup_url_show": { "type": "boolean" }, "signup_url": { "type": "string" }, "course_link_show": { "type": "boolean" }, "organization_link_show": { "type": "boolean" }, "skill_category": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" } } } } } } }, "example": { "group": { "id": 12472, "name": "new group", "course_description": "Desscription of course", "course_name": "Intro to Programming", "learning_outcomes": null, "attach_pdf": true, "course_link": "http://www.example.com", "language": "en", "design_name": "test", "updated_at": "2016-08-29T07:03:25.000Z", "created_at": "2016-08-29T06:14:18.000Z", "design_id": 23, "blockchain": false, "certificate_design_id": null, "badge_design_id": null, "primary_design_id": null, "department_id": 123, "meta_data": null, "generate_private_credential": false, "auto_expiry": 1, "signup_url_show": false, "signup_url": "http://www.example.com", "course_link_show": false, "organization_link_show": false, "skill_category": { "id": 1, "name": "Example Category" } } } } } } }, "summary": "Delete a Group", "operationId": "Delete a Group", "description": "", "tags": [ "Groups" ], "parameters": [ { "name": "group_id", "in": "path", "description": "ID of the Group in the form of an integer for the particular Group requested. You can obtain the Group ID from the all groups request.", "required": true, "schema": { "type": "number" } } ], "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/issuer/groups/{group_id}/clone": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "group": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "course_description": { "type": "string" }, "course_name": { "type": "string" }, "learning_outcomes": { "type": "array", "items": { "type": "string" } }, "attach_pdf": { "type": "boolean" }, "course_link": { "type": "string" }, "language": { "type": "string" }, "design_name": { "type": "string" }, "updated_at": { "type": "string" }, "created_at": { "type": "string" }, "design_id": { "type": "number" }, "blockchain": { "type": "boolean" }, "certificate_design_id": { "nullable": true }, "badge_design_id": { "nullable": true }, "primary_design_id": { "nullable": true }, "department_id": { "type": "number" }, "meta_data": { "type": "object", "properties": { "foo": { "type": "string" } } }, "generate_private_credential": { "type": "boolean" }, "auto_expiry": { "type": "number" }, "signup_url_show": { "type": "boolean" }, "signup_url": { "type": "string" }, "course_link_show": { "type": "boolean" }, "organization_link_show": { "type": "boolean" }, "skill_category": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" } } }, "collections": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "description": { "type": "string", "nullable": true } }, "required": [ "id", "name", "description" ] } } } } } }, "example": { "group": { "id": 12345, "name": "new group copy", "course_description": "Desscription of course", "course_name": "Intro to Programming", "learning_outcomes": [ "Skill One", "Skill Two" ], "attach_pdf": true, "course_link": "http://www.example.com", "language": "en", "design_name": "test", "updated_at": "2016-08-29T07:03:25.000Z", "created_at": "2016-08-29T06:14:18.000Z", "design_id": 23, "blockchain": false, "certificate_design_id": null, "badge_design_id": null, "primary_design_id": null, "department_id": 123, "meta_data": { "foo": "bar" }, "generate_private_credential": false, "auto_expiry": 1, "signup_url_show": false, "signup_url": "http://www.example.com", "course_link_show": false, "organization_link_show": false, "skill_category": { "id": 1, "name": "Skill Category" }, "collections": [ { "id": 1, "name": "one", "description": null }, { "id": 2, "name": "two", "description": "description example" } ] } } } } } }, "summary": "Clone a Group", "operationId": "Clone a Group", "description": "You can clone a group using this action. Add attributes to override cloned values. Cloning a group only works when certificate or badge designs are within the same department as the original group.", "tags": [ "Groups" ], "requestBody": { "content": { "application/json": { "example": { "group": { "name": "new group copy", "course_name": "Intro to Prgramming", "course_description": "Description of course", "course_link": "http://www.example.com", "language": "en", "attach_pdf": true, "blockchain": false, "certificate_design_id": null, "badge_design_id": null, "primary_design_id": null, "meta_data": { "batch_id": "271" }, "learning_outcomes": [ "Reading Books", "Writing Essays" ], "generate_private_credential": false, "auto_expiry": 1, "signup_url_show": false, "signup_url": "http://www.example.com", "course_link_show": false, "organization_link_show": false, "skill_category_id": 1 } }, "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the group (for your reference and never shown to the recipient). `Copy` will be added to the beginning of name of the new cloned group when a new name is not provided." }, "course_name": { "type": "string", "description": "Name of the course or achievement. This is visible to the recipient." }, "course_description": { "type": "string", "description": "Description of the course or achievement. This is visible to the recipient." }, "course_link": { "type": "string", "description": "Link to the web page with information related to this Credential. Typically this is a course information or event information page." }, "language": { "type": "string", "description": "Language for the group. Currently we support \"en\", \"es\", \"vi\", \"pt\", \"ja\", \"fr\", \"da\", \"nl\", \"fi\", \"no\", \"nb\", \"ro\", \"sv\", \"th\", \"tw\", \"zh\", \"tr\", \"ar\", \"he\", \"ms\" and \"de\". Default language is en." }, "attach_pdf": { "type": "boolean", "description": "PDF of the Credential should be attached to email when recipient is informed. Default is false." }, "blockchain": { "type": "boolean", "description": "Enable or disable recording of these Credentials on a Blockchain." }, "certificate_design_id": { "type": "number", "description": "Certificate Design which the Group will use to display Credentials. Certificate design needs to exist in the newly cloned space." }, "badge_design_id": { "type": "number", "description": "Badge Design which the Group will use to display Credentials. Badge design needs to exist in the newly cloned space." }, "primary_design_id": { "type": "number", "description": "Primary Design which the Group will use to display Credentials." }, "meta_data": { "type": "object", "properties": {}, "description": "You can use this parameter to attach key-value strings to the object. Meta data is useful for storing additional, structured information on an object." }, "learning_outcomes": { "description": "Searchable keywords identifying skills credential-holders need to demonstrate (or have learned) in the process of earning this credential." }, "generate_private_credential": { "type": "boolean", "description": "The default value of `Credential.private` for the Group. The supported values are `true`, `false`, and `null`. When this is set to `true` or `false`, it will override `Department.generate_private_credential` and be used as the default of `Credential.private` when creating a new `Credential`. When this is set to `null`, it won't override `Department.generate_private_credential` which will be used for the default of `Credential.private` instead." }, "auto_expiry": { "type": "number", "description": "Specifies the number of years from the issue date after which the credential will automatically expire. If the specified value is less than or equal to 0, it will be ignored." }, "signup_url": { "type": "string", "description": "This provides a direct path for credential viewers to enroll in your course." }, "signup_url_show": { "type": "boolean", "description": "Show or hide the sign up url. The supported values are `true`, `false` and `null`." }, "course_link_show": { "type": "boolean", "description": "This links the credential data record to your information about the credential on your website. The supported values are `true`, `false` and `null`." }, "organization_link_show": { "type": "boolean", "description": "Show or hide the link to your website homepage. The supported values are `true`, `false` and `null`." }, "allow_duplicate_credentials": { "type": "boolean", "description": "An email address can receive more than one credential. The supported values are `true` & `false`. Defaults to `false`." }, "skill_category_id": { "type": "number", "description": "ID of the skill category to associate with the cloned group." } } } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/issuer/all_groups": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "groups": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "course_description": { "type": "string" }, "course_name": { "type": "string" }, "learning_outcomes": { "nullable": true }, "attach_pdf": { "type": "boolean" }, "course_link": { "type": "string" }, "language": { "type": "string" }, "design_name": { "type": "string" }, "updated_at": { "type": "string" }, "created_at": { "type": "string" }, "design_id": { "type": "number", "nullable": true }, "blockchain": { "type": "boolean" }, "certificate_design_id": { "type": "number", "nullable": true }, "badge_design_id": { "type": "number", "nullable": true }, "primary_design_id": { "type": "number", "nullable": true }, "department_id": { "type": "number" }, "meta_data": { "type": "object", "properties": { "course_id": { "type": "string" } } }, "generate_private_credential": { "type": "boolean" }, "auto_expiry": { "type": "number" }, "signup_url_show": { "type": "boolean" }, "signup_url": { "type": "string" }, "course_link_show": { "type": "boolean" }, "organization_link_show": { "type": "boolean" }, "skill_category": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" } } } }, "required": [ "id", "name", "course_description", "course_name", "learning_outcomes", "attach_pdf", "course_link", "language", "design_name", "updated_at", "created_at", "blockchain", "design_id", "certificate_design_id", "badge_design_id", "primary_design_id", "department_id", "meta_data", "generate_private_credential", "auto_expiry", "signup_url_show", "signup_url", "course_link_show", "organization_link_show", "skill_category" ] } }, "meta": { "type": "object", "properties": { "current_page": { "type": "number" }, "next_page": { "type": "number" }, "prev_page": { "nullable": true }, "total_pages": { "type": "number" }, "total_count": { "type": "number" } } } } }, "example": { "groups": [ { "id": 12472, "name": "new group", "course_description": "Desscription of course", "course_name": "Intro to Programming", "learning_outcomes": null, "attach_pdf": true, "course_link": "http://www.example.com", "language": "en", "design_name": "test", "updated_at": "2016-08-29T07:03:25.000Z", "created_at": "2016-08-29T06:14:18.000Z", "design_id": 23, "blockchain": false, "certificate_design_id": 23, "badge_design_id": null, "primary_design_id": 23, "department_id": 123, "meta_data": { "course_id": "TK764" }, "generate_private_credential": false, "auto_expiry": 1, "signup_url_show": false, "signup_url": "http://www.example.com", "course_link_show": false, "organization_link_show": false, "skill_category": { "id": 1, "name": "Example Category" } }, { "id": 12473, "name": "new group", "course_description": "Desscription of course", "course_name": "Intro to Programming", "learning_outcomes": null, "attach_pdf": false, "course_link": "http://www.example.com", "language": "en", "design_name": "test", "updated_at": "2016-08-29T07:03:25.000Z", "created_at": "2016-08-29T06:14:18.000Z", "blockchain": true, "design_id": null, "certificate_design_id": null, "badge_design_id": 345, "primary_design_id": null, "department_id": 123, "meta_data": { "course_id": "TK765" }, "generate_private_credential": false, "auto_expiry": 1, "signup_url_show": false, "signup_url": "http://www.example.com", "course_link_show": false, "organization_link_show": false, "skill_category": { "id": 1, "name": "Example Category" } } ], "meta": { "current_page": 1, "next_page": 2, "prev_page": null, "total_pages": 119, "total_count": 238 } } } } } }, "summary": "View all Groups", "operationId": "View all Groups", "description": "", "tags": [ "Groups" ], "parameters": [ { "name": "name", "in": "query", "description": "Limit the list of Groups to those named with the given string.", "schema": { "type": "string" } }, { "name": "page_size", "in": "query", "description": "The pagination response size, defualt is 50.", "schema": { "type": "number" } }, { "name": "page", "in": "query", "description": "The pagination page.", "schema": { "type": "number" } } ], "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/issuer/groups/search": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "groups": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "course_description": { "type": "string" }, "course_name": { "type": "string" }, "learning_outcomes": { "type": "array", "items": { "type": "string" } }, "attach_pdf": { "type": "boolean" }, "course_link": { "type": "string" }, "language": { "type": "string" }, "design_name": { "type": "string" }, "updated_at": { "type": "string" }, "created_at": { "type": "string" }, "design_id": { "type": "number", "nullable": true }, "blockchain": { "type": "boolean" }, "certificate_design_id": { "type": "number", "nullable": true }, "badge_design_id": { "type": "number", "nullable": true }, "primary_design_id": { "type": "number", "nullable": true }, "department_id": { "type": "number" }, "meta_data": { "type": "object", "properties": { "course_id": { "type": "string" } } }, "generate_private_credential": { "type": "boolean" }, "auto_expiry": { "type": "number" }, "signup_url_show": { "type": "boolean" }, "signup_url": { "type": "string" }, "course_link_show": { "type": "boolean" }, "organization_link_show": { "type": "boolean" }, "skill_category": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" } } }, "collections": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "description": { "type": "string", "nullable": true } }, "required": [ "id", "name", "description" ] } } }, "required": [ "id", "name", "course_description", "course_name", "learning_outcomes", "attach_pdf", "course_link", "language", "design_name", "updated_at", "created_at", "blockchain", "design_id", "certificate_design_id", "badge_design_id", "primary_design_id", "department_id", "meta_data", "generate_private_credential", "auto_expiry", "signup_url_show", "signup_url", "course_link_show", "organization_link_show", "skill_category", "collections" ] } }, "meta": { "type": "object", "properties": { "current_page": { "type": "number" }, "next_page": { "type": "number" }, "prev_page": { "nullable": true }, "total_pages": { "type": "number" }, "total_count": { "type": "number" } } } } }, "example": { "groups": [ { "id": 12472, "name": "new group", "course_description": "Desscription of course", "course_name": "Intro to Programming", "learning_outcomes": null, "attach_pdf": true, "course_link": "http://www.example.com", "language": "en", "design_name": "test", "updated_at": "2016-08-29T07:03:25.000Z", "created_at": "2016-08-29T06:14:18.000Z", "design_id": 23, "blockchain": false, "certificate_design_id": 23, "badge_design_id": null, "primary_design_id": 23, "department_id": 123, "meta_data": { "course_id": "TK764" }, "generate_private_credential": false, "auto_expiry": 1, "signup_url_show": false, "signup_url": "http://www.example.com", "course_link_show": false, "organization_link_show": false, "skill_category": { "id": 1, "name": "Example Category" }, "collections": [ { "id": 1, "name": "one", "description": null } ] }, { "id": 12473, "name": "new group", "course_description": "Desscription of course", "course_name": "Intro to Programming", "learning_outcomes": [ "skill one", "skill two" ], "attach_pdf": false, "course_link": "http://www.example.com", "language": "en", "design_name": "test", "updated_at": "2016-08-29T07:03:25.000Z", "created_at": "2016-08-29T06:14:18.000Z", "blockchain": true, "design_id": null, "certificate_design_id": null, "badge_design_id": 345, "primary_design_id": null, "department_id": 123, "meta_data": { "course_id": "TK765" }, "generate_private_credential": false, "auto_expiry": 1, "signup_url_show": false, "signup_url": "http://www.example.com", "course_link_show": false, "organization_link_show": false, "skill_category": { "id": 1, "name": "Example Category" }, "collections": [ { "id": 1, "name": "one", "description": null }, { "id": 2, "name": "two", "description": "description example" } ] } ], "meta": { "current_page": 1, "next_page": 2, "prev_page": null, "total_pages": 119, "total_count": 238 } } } } } }, "summary": "Search for Groups", "operationId": "Search for Groups", "description": "", "tags": [ "Groups" ], "parameters": [ { "name": "ids", "in": "query", "description": "Limit the list of Groups to those id match the given array.", "schema": { "type": "array" } }, { "name": "name", "in": "query", "description": "Limit the list of Groups to those named with the given string.", "schema": { "type": "string" } }, { "name": "meta_data", "in": "query", "description": "String key/values for client's own data on group", "schema": { "type": "string" } }, { "name": "start_updated_date", "in": "query", "description": "Date after which Groups which have been updated should be returned. Format: YYYY-MM-DD (DD/MM/YYYY also works but is deprecated)", "schema": { "type": "string" } }, { "name": "end_updated_date", "in": "query", "description": "Date before which Groups which have been updated should be returned. Format: YYYY-MM-DD (DD/MM/YYYY also works but is deprecated)", "schema": { "type": "string" } }, { "name": "page_size", "in": "query", "description": "The pagination response size, default of 50.", "schema": { "type": "number" } }, { "name": "page", "in": "query", "description": "The pagination page.", "schema": { "type": "number" } } ], "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/skill_categories": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": {} } }, "summary": "View all Skill Categories", "operationId": "View all Skill Categories", "description": "", "tags": [ "Groups" ], "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/collections": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": {} } }, "summary": "Create a Collection", "operationId": "Create a Collection", "description": "", "tags": [ "Collections" ], "requestBody": { "content": { "application/json": { "example": { "collection": { "name": "Collection name", "description": "DESCRIPTION", "public": true, "organization_id": 1, "groups_count": 0, "groups": [] } }, "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the Collection." }, "description": { "type": "string", "description": "Description of the collection." }, "public": { "type": "boolean", "description": "A boolean to indicate if a collection will be public or not." } }, "required": [ "name" ] } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/collections/{collection_id}": { "put": { "responses": { "200": { "description": "OK", "headers": {}, "content": {} } }, "summary": "Update a Collection", "operationId": "Update a Collection", "description": "", "tags": [ "Collections" ], "parameters": [ { "name": "collection_id", "in": "path", "description": "ID of the collection in the form of an integer for the particular collection requested.", "required": true, "schema": { "type": "number" } } ], "requestBody": { "content": { "application/json": { "example": { "collection": { "name": "Collection name", "description": "DESCRIPTION", "public": true, "organization_id": 1, "groups_count": 22, "groups": [ { "id": 1 }, { "id": 2 }, { "id": 3 } ] } }, "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the Collection." }, "description": { "type": "string", "description": "Description of the collection." }, "public": { "type": "boolean", "description": "A boolean to indicate if a collection will be public or not." }, "groups": { "description": "Full List of groups to associate with the collection" } }, "required": [ "name" ] } } } }, "security": [ { "ApiKeyAuth": [] } ] }, "delete": { "responses": { "200": { "description": "OK", "headers": {}, "content": {} } }, "summary": "Delete a Collection", "operationId": "Delete a Collection", "description": "", "tags": [ "Collections" ], "parameters": [ { "name": "collection_id", "in": "path", "description": "ID of the Collection in the form of an integer for the particular Collection requested.", "required": true, "schema": { "type": "number" } } ], "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/collections/search": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "collections": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "description": { "nullable": true }, "organization_id": { "type": "number" }, "public": { "type": "boolean" }, "groups_count": { "type": "number" }, "groups": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "number" } }, "required": [ "id" ] } } }, "required": [ "id", "name", "description", "organization_id", "public", "groups_count", "groups" ] } }, "meta": { "type": "object", "properties": { "current_page": { "type": "number" }, "next_page": { "type": "number" }, "prev_page": { "type": "number" }, "total_pages": { "type": "number" }, "total_count": { "type": "number" }, "page_size": { "type": "number" } } } } }, "example": { "collections": [ { "id": "809fxsq0-fx89-11ef-8c4a-b7d12b7poib3", "name": "abc", "description": null, "organization_id": 231, "public": true, "groups_count": 1, "groups": [ { "id": 1 } ] }, { "id": "666fxsq2-fx00-11cf-8c4a-11112b7poib3", "name": "abc", "description": null, "organization_id": 231, "public": true, "groups_count": 1, "groups": [ { "id": 12 } ] } ], "meta": { "current_page": 10, "next_page": 11, "prev_page": 9, "total_pages": 119, "total_count": 238, "page_size": 99 } } } } } }, "summary": "Search for Collections", "operationId": "Search for Collections", "description": "", "tags": [ "Collections" ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "query" ], "properties": { "query": { "type": "object", "properties": { "ids": { "type": "array", "items": {}, "description": "Limit the returned collections to specific collections IDs." }, "name": { "type": "string", "description": "Search collections by name (substring search)" }, "public": { "type": "boolean", "description": "Limit the returned collections to public or not public collections." }, "exclusion_list": { "type": "array", "items": {}, "description": "Exclude specific collections IDs from the search results." } } }, "sort": { "type": "object", "properties": { "String key/value pair for sorting based on a field and order.": { "type": "string", "description": "Supported keys - `name`, `groups_count` and `public`\nSupported values - `asc`, `desc`" } } }, "page": { "type": "object", "properties": { "page_number": { "type": "string", "description": "Defines the number of page wanted" }, "per_page": { "type": "string", "description": "The number of records to be returned" } } } } } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/designs": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": {} } }, "summary": "Create a Design", "operationId": "Create a Design", "description": "", "tags": [ "Designs" ], "requestBody": { "content": { "application/json": { "example": { "design": { "name": "new design", "kind": "certificate", "encoded_content": "31884284f406b9e481038c86ca81031031884284f406b9e481038c86ca810310", "background_bleeds": true, "orientation": "landscape", "size": "a4", "department_id": 123 } }, "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the Design (for your reference and never shown to the recipient)." }, "kind": { "type": "string", "description": "Must be \"certificate\" or \"badge\" to specify the Design type." }, "encoded_content": { "type": "string", "description": "The encoded content of the design." }, "background_bleeds": { "type": "boolean", "description": "Specifies if the design should allow print bleeding." }, "orientation": { "type": "string", "description": "Must be \"landscape\" or \"portrait\" to specify a design's paper orientation." }, "size": { "type": "string", "description": "Must be \"us-letter\" or \"a4\" to specify a design's paper size." }, "department_id": { "type": "number", "description": "Department that the Design belongs to. If not defined the Design will be assigned to the organizations default department." }, "meta_data": { "type": "object", "properties": {}, "description": "You can use this parameter to attach key-value strings to the object. Meta data is useful for storing additional, structured information on an object." } }, "required": [ "name", "kind", "encoded_content" ] } } } }, "security": [ { "ApiKeyAuth": [] } ] }, "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": {} } }, "summary": "View all Designs DEPRECATED", "operationId": "View all Designs DEPRECATED", "description": "", "tags": [ "Designs" ], "parameters": [ { "name": "kind", "in": "query", "description": "Limit results to just \"certificates\" or \"badges\".", "schema": { "type": "string" } }, { "name": "department_id", "in": "query", "description": "Limit results to a particular Department.", "schema": { "type": "number" } } ], "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/designs/{design_id}": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": {} } }, "summary": "View a Design", "operationId": "View a Design", "description": "", "tags": [ "Designs" ], "parameters": [ { "name": "design_id", "in": "path", "description": "ID of the Design in the form of an integer for the particular Design requested.", "required": true, "schema": { "type": "number" } } ], "security": [ { "ApiKeyAuth": [] } ] }, "put": { "responses": { "200": { "description": "OK", "headers": {}, "content": {} } }, "summary": "Update a Design", "operationId": "Update a Design", "description": "", "tags": [ "Designs" ], "parameters": [ { "name": "design_id", "in": "path", "description": "ID of the Design in the form of an integer for the particular Design requested.", "required": true, "schema": { "type": "number" } } ], "requestBody": { "content": { "application/json": { "example": { "design": { "name": "updated new design" } }, "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the Design (for your reference and never shown to the recipient)." }, "kind": { "type": "string", "description": "Must be \"certificate\" or \"badge\" to specify the Design type." }, "encoded_content": { "type": "string", "description": "The encoded content of the design." }, "background_bleeds": { "type": "boolean", "description": "Specifies if the design should allow print bleeding." }, "orientation": { "type": "string", "description": "Must be \"landscape\" or \"portrait\" to specify a design's paper orientation." }, "size": { "type": "string", "description": "Must be \"us-letter\" or \"a4\" to specify a design's paper size." }, "meta_data": { "type": "object", "properties": {}, "description": "You can use this parameter to attach key-value strings to the object. Meta data is useful for storing additional, structured information on an object." } }, "required": [ "name", "kind", "encoded_content" ] } } } }, "security": [ { "ApiKeyAuth": [] } ] }, "delete": { "responses": { "200": { "description": "OK", "headers": {}, "content": {} } }, "summary": "Delete a Design", "operationId": "Delete a Design", "description": "", "tags": [ "Designs" ], "parameters": [ { "name": "design_id", "in": "path", "description": "ID of the Design in the form of an integer for the particular Design requested.", "required": true, "schema": { "type": "number" } } ], "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/designs/{design_id}/copy": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": {} } }, "summary": "Copy a Design", "operationId": "Copy a Design", "description": "", "tags": [ "Designs" ], "parameters": [ { "name": "design_id", "in": "path", "description": "ID of the Design in the form of an integer for the particular Design requested.", "required": true, "schema": { "type": "number" } } ], "requestBody": { "content": { "application/json": { "example": { "design": { "department_id": 12345 } }, "schema": { "type": "object", "properties": { "department_id": { "type": "number", "description": "Department that the Design belongs to. If not defined the Design will be assigned to the organizations default department." } } } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/designs/search": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": {} } }, "summary": "Search for Designs", "operationId": "Search for Designs", "description": "", "tags": [ "Designs" ], "parameters": [ { "name": "kind", "in": "query", "description": "Limit results to just \"certificates\" or \"badges\".", "schema": { "type": "string" } }, { "name": "department_id", "in": "query", "description": "Limit results to a particular Department.", "schema": { "type": "string" } }, { "name": "meta_data", "in": "query", "description": "String key/values you attached to the object.", "schema": { "type": "string" } }, { "name": "page_size", "in": "query", "description": "The pagination response size, default of 50.", "schema": { "type": "number" } }, { "name": "page", "in": "query", "description": "The pagination page.", "schema": { "type": "number" } } ], "requestBody": { "content": { "application/json": { "example": { "kind": "certificate", "meta_data": { "example": "value" } }, "schema": { "type": "object", "properties": { "kind": { "type": "string" }, "meta_data": { "type": "object", "properties": { "example": { "type": "string" } } } } } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/designs/{design_id}/preview": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "link": { "type": "string" } } }, "example": { "link": "https://example.api.accredible.com/design/image?env=red&design=f1a53a79-baeb-43fb-a19e-045af89eb206&data=e30:7a2f83ba4880d6d73f0a9d826ed82661108d8c8825984f3a77812704911e2142" } } } } }, "summary": "Preview a Design", "operationId": "Preview a Design", "description": "", "tags": [ "Designs" ], "parameters": [ { "name": "design_id", "in": "path", "description": "ID of the Design in the form of an integer for the particular Design requested.", "required": true, "schema": { "type": "number" } } ], "requestBody": { "content": { "application/json": { "example": { "recipient.name": "example name", "group.course_name": "My Example Course", "custom.example": "Data for a custom attribute." }, "schema": { "type": "object", "properties": { "recipient.name": { "type": "string", "description": "Add any parameter that you wish to preview data for in your design." }, "group.course_name": { "type": "string", "description": "Add any parameter that you wish to preview data for in your design." }, "custom.example": { "type": "string", "description": "Add any parameter that you wish to preview data for in your design." } } } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/designers/badge/initialize": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "token": { "type": "string" }, "design_id": { "type": "number" } } }, "example": { "token": "abc123:xyz456", "design_id": 12345 } } } } }, "summary": "Initialize Embedded Badge Designer", "operationId": "Initialize Embedded Badge Designer", "description": "", "tags": [ "Designs" ], "requestBody": { "content": { "application/json": { "example": { "design_id": 12345, "department_id": 123 }, "schema": { "type": "object", "properties": { "design_id": { "type": "number", "description": "ID of the Design in the form of an integer for a Design to be edited. Omitting the ID will result in a newly created design." }, "department_id": { "type": "number", "description": "ID of the Department which the Design should belong to." } } } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/designers/certificate/initialize": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "token": { "type": "string" }, "design_id": { "type": "number" } } }, "example": { "token": "abc123:xyz456", "design_id": 12345 } } } } }, "summary": "Initialize Embedded Certificate Designer", "operationId": "Initialize Embedded Certificate Designer", "description": "", "tags": [ "Designs" ], "requestBody": { "content": { "application/json": { "example": { "design_id": 12345, "department_id": 123 }, "schema": { "type": "object", "properties": { "design_id": { "type": "number", "description": "ID of the Design in the form of an integer for a Design to be edited. Omitting the ID will result in a newly created design." }, "department_id": { "type": "number", "description": "ID of the Department which the Design should belong to." } } } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/departments": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "department": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "description": { "type": "string" }, "url": { "type": "string" }, "logo": { "type": "string" }, "page_banner": { "type": "string" }, "whitelabel_logo": { "type": "string" }, "linkedin_company_id": { "type": "string" }, "meta_data": { "type": "object", "properties": { "internal_id": { "type": "string" }, "faculty": { "type": "string" } } }, "generate_private_credential": { "type": "boolean" } } } } }, "example": { "department": { "id": 1234, "name": "New Department", "description": "Example description text.", "url": "https://www.example.com", "logo": "https://images.credential.net/example/department_logo.png", "page_banner": "https://images.credential.net/example/banner_image.png", "whitelabel_logo": "https://images.credential.net/example/whitelabel_logo.png", "linkedin_company_id": "5098253", "meta_data": { "internal_id": "R12", "faculty": "physics" }, "generate_private_credential": false } } } } } }, "summary": "Create a New Department", "operationId": "Create a New Department", "description": "You may create a Department using this action. It takes a JSON object containing a Department.", "tags": [ "Departments" ], "requestBody": { "content": { "application/json": { "example": { "department": { "name": "New Department", "description": "Example description text.", "url": "https://www.example.com", "logo": "https://www.website.com/example-logo.png", "page_banner": "https://www.website.com/example-banner.png", "whitelabel_logo": "https://www.website.com/example-whitelabel-logo.png", "linkedin_company_id": "5098253", "meta_data": { "internal_id": "R12", "faculty": "physics" }, "generate_private_credential": false } }, "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "A name for the Department. This may be displayed publicly on Credentials." }, "description": { "type": "string", "description": "A description for the Department. This may be displayed publicly." }, "url": { "type": "string", "description": "URL for directing users to the website for the given Department. This may be used publicly." }, "logo": { "type": "string", "description": "URL of an image representing the Department logo. Accredible will copy the given image and store the logo within it's own platform. Images should be square, at least 120px wide by 120px tall. PNG format preferred." }, "page_banner": { "type": "string", "description": "URL of an image to display as the Department Banner. Accredible will copy the given image and store the logo within it's own platform. The image should be at least 1920px wide by 300px tall. PNG format preferred." }, "whitelabel_logo": { "type": "string", "description": "URL of an image to display in the header and footer of the white-labeled recipient website. The image should be at least 208px wide by 32px tall. PNG format preferred." }, "linkedin_company_id": { "type": "string", "description": "The LinkedIn company ID for the given Department." }, "meta_data": { "type": "object", "properties": {}, "description": "You can use this parameter to attach key-value strings to the object. Meta data is useful for storing additional, structured information on an object." }, "generate_private_credential": { "type": "boolean", "description": "This boolean value will be used as the default of `Credential.private` when creating a new Credential unless it's overridden by `Group.generate_private_credential` that is set to `true` or `false`." } }, "required": [ "name", "url", "logo" ] } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/departments/{department_id}": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "department": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "description": { "type": "string" }, "url": { "type": "string" }, "logo": { "type": "string" }, "page_banner": { "type": "string" }, "whitelabel_logo": { "type": "string" }, "linkedin_company_id": { "type": "string" }, "meta_data": { "type": "object", "properties": { "internal_id": { "type": "string" }, "faculty": { "type": "string" } } }, "generate_private_credential": { "type": "boolean" } } } } }, "example": { "department": { "id": 1234, "name": "New Department", "description": "Example description text.", "url": "https://www.example.com", "logo": "https://images.credential.net/example/department_logo.png", "page_banner": "https://images.credential.net/example/banner_image.png", "whitelabel_logo": "https://images.credential.net/example/whitelabel_logo.png", "linkedin_company_id": "5098253", "meta_data": { "internal_id": "R12", "faculty": "physics" }, "generate_private_credential": false } } } } } }, "summary": "View a Department", "operationId": "View a Department", "description": "", "tags": [ "Departments" ], "security": [ { "ApiKeyAuth": [] } ] }, "put": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "department": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "description": { "type": "string" }, "url": { "type": "string" }, "logo": { "type": "string" }, "page_banner": { "type": "string" }, "whitelabel_logo": { "type": "string" }, "linkedin_company_id": { "type": "string" }, "meta_data": { "type": "object", "properties": { "internal_id": { "type": "string" }, "faculty": { "type": "string" } } }, "generate_private_credential": { "type": "boolean" } } } } }, "example": { "department": { "id": 1234, "name": "New Department Name", "description": "Example description text.", "url": "https://www.example.com", "logo": "https://images.credential.net/example/department_logo.png", "page_banner": "https://images.credential.net/example/banner_image.png", "whitelabel_logo": "https://images.credential.net/example/whitelabel_logo.png", "linkedin_company_id": "5098253", "meta_data": { "internal_id": "R12", "faculty": "physics" }, "generate_private_credential": false } } } } } }, "summary": "Update a Department", "operationId": "Update a Department", "description": "", "tags": [ "Departments" ], "parameters": [ { "name": "department_id", "in": "path", "description": "ID of the Department in the form of an integer for the particular Department requested.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "department": { "name": "New Department Name" } }, "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "A name for the Department. This may be displayed publicly on Credentials." }, "description": { "type": "string", "description": "A description for the Department. This may be displayed publicly." }, "url": { "type": "string", "description": "URL for directing users to the website for the given Department. This may be used publicly." }, "logo": { "type": "string", "description": "URL of an image representing the Department logo. Accredible will copy the given image and store the logo within it's own platform. Images should be square, at least 120px wide by 120px tall. PNG format preferred." }, "page_banner": { "type": "string", "description": "URL of an image to display as the Department Banner. Accredible will copy the given image and store the logo within it's own platform. The image should be at least 1920px wide by 300px tall. PNG format preferred." }, "whitelabel_logo": { "type": "string", "description": "URL of an image to display in the header and footer of the white-labeled recipient website. The image should be at least 208px wide by 32px tall. PNG format preferred." }, "linkedin_company_id": { "type": "string", "description": "The LinkedIn company ID for the given Department." }, "meta_data": { "type": "object", "properties": {}, "description": "You can use this parameter to attach key-value strings to the object. Meta data is useful for storing additional, structured information on an object." }, "generate_private_credential": { "type": "boolean", "description": "This boolean value will be used as the default of `Credential.private` when creating a new Credential unless it's overridden by `Group.generate_private_credential` that is set to `true` or `false`." } } } } } }, "security": [ { "ApiKeyAuth": [] } ] }, "delete": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "department": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "description": { "type": "string" }, "url": { "type": "string" }, "logo": { "type": "string" }, "page_banner": { "type": "string" }, "whitelabel_logo": { "type": "string" }, "linkedin_company_id": { "type": "string" }, "meta_data": { "type": "object", "properties": { "internal_id": { "type": "string" }, "faculty": { "type": "string" } } }, "generate_private_credential": { "type": "boolean" } } } } }, "example": { "department": { "id": 1234, "name": "New Department Name", "description": "Example description text.", "url": "https://www.example.com", "logo": "https://images.credential.net/example/department_logo.png", "page_banner": "https://images.credential.net/example/banner_image.png", "whitelabel_logo": "https://images.credential.net/example/whitelabel_logo.png", "linkedin_company_id": "5098253", "meta_data": { "internal_id": "R12", "faculty": "physics" }, "generate_private_credential": false } } } } } }, "summary": "Delete a Department", "operationId": "Delete a Department", "description": "", "tags": [ "Departments" ], "parameters": [ { "name": "department_id", "in": "path", "description": "ID of the Department in the form of an integer for the particular Department requested.", "required": true, "schema": { "type": "string" } } ], "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/departments/search": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "departments": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "description": { "type": "string" }, "url": { "type": "string" }, "logo": { "type": "string" }, "page_banner": { "type": "string" }, "whitelabel_logo": { "type": "string" }, "linkedin_company_id": { "type": "string" }, "meta_data": { "type": "object", "properties": { "internal_id": { "type": "string" }, "faculty": { "type": "string" } } }, "generate_private_credential": { "type": "boolean" } } } } }, "example": { "departments": { "id": 1234, "name": "New Department Name", "description": "Example description text.", "url": "https://www.example.com", "logo": "https://images.credential.net/example/department_logo.png", "page_banner": "https://images.credential.net/example/banner_image.png", "whitelabel_logo": "https://images.credential.net/example/whitelabel_logo.png", "linkedin_company_id": "5098253", "meta_data": { "internal_id": "R12", "faculty": "physics" }, "generate_private_credential": false } } } } } }, "summary": "Search for Departments", "operationId": "Search for Departments", "description": "You can search for departments by various search criteria.", "tags": [ "Departments" ], "parameters": [ { "name": "meta_data", "in": "query", "description": "String key/values you attached to the object.", "schema": { "type": "string" } }, { "name": "page_size", "in": "query", "description": "The pagination response size, default of 50.", "schema": { "type": "number" } }, { "name": "page", "in": "query", "description": "The pagination page.", "schema": { "type": "number" } } ], "requestBody": { "content": { "application/json": { "example": { "meta_data": { "faculty": "physics" } }, "schema": { "type": "object", "properties": { "meta_data": { "type": "object", "properties": { "faculty": { "type": "string" } } } } } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/attribute_keys": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "attribute_key": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "kind": { "type": "string" }, "department_id": { "type": "number" } } } } }, "example": { "attribute_key": { "id": 1234, "name": "New Custom Attribute Key", "kind": "text", "department_id": 123 } } } } } }, "summary": "Create a New Custom Attribute Key", "operationId": "Create a New Custom Attribute Key", "description": "You may create a Custom Attribute Key using this action. It takes a JSON object containing the name and kind of the attribute key.", "tags": [ "Attributes" ], "requestBody": { "content": { "application/json": { "example": { "attribute_key": { "name": "New Custom Attribute Key", "kind": "text", "department_id": 123 } }, "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "A name for the custom attribute key." }, "kind": { "type": "string", "description": "The kind of custom attribute key. Must be one of the following - [text, date, email, image]" }, "department_id": { "type": "number", "description": "Department the custom attribute key should belong to." } }, "required": [ "name", "kind", "department_id" ] } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/attribute_keys/search": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "attribute_keys": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "kind": { "type": "string" }, "department_id": { "type": "number" } } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "number" }, "next_page": { "nullable": true }, "prev_page": { "nullable": true }, "total_pages": { "type": "number" }, "total_count": { "type": "number" } } } } }, "example": { "attribute_keys": [ { "id": 1234, "name": "New Custom Attribute Key", "kind": "text", "department_id": 123 } ], "meta": { "current_page": 1, "next_page": null, "prev_page": null, "total_pages": 1, "total_count": 1 } } } } } }, "summary": "Search for Attribute Keys", "operationId": "Search for Attribute Keys", "description": "You can search for Attribute Keys by various search criteria.", "tags": [ "Attributes" ], "parameters": [ { "name": "name", "in": "query", "description": "A name for the custom attribute key.", "schema": { "type": "string" } }, { "name": "kind", "in": "query", "description": "The kind of custom attribute key. Must be one of the following - [text, date, email, image]", "schema": { "type": "string" } }, { "name": "department_id", "in": "query", "description": "Only return custom attribute keys of the given Department.", "schema": { "type": "number" } }, { "name": "page_size", "in": "query", "description": "The pagination response size, default of 50.", "schema": { "type": "number" } }, { "name": "page", "in": "query", "description": "The pagination page.", "schema": { "type": "number" } } ], "requestBody": { "content": { "application/json": { "example": { "name": "attribute", "kind": "text", "department_id": 123 }, "schema": { "type": "object", "properties": { "name": { "type": "string" }, "kind": { "type": "string" }, "department_id": { "type": "number" } } } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/credentials/{credential_id}/evidence_items": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "evidence_item": { "type": "object", "properties": { "id": { "type": "number" }, "description": { "type": "string" }, "link_url": { "type": "string" }, "preview_image_url": { "type": "string" }, "type": { "type": "string" }, "supplemental": { "type": "boolean" }, "string_object": { "nullable": true }, "position": { "type": "number" } } } } }, "example": { "evidence_item": { "id": 1234, "description": "updated description", "link_url": "https://s3.amazonaws.com/accredible_api_evidence_items/files/44/original/1410743692307_Hours_Tracking.pdf", "preview_image_url": "https://www.example.com/1234/reportcard.png", "type": "url", "supplemental": false, "string_object": null, "position": 1 } } } } } }, "summary": "Create a New Evidence Item", "operationId": "Create a New Evidence Item", "description": "You create EvidenceItems using this action. It takes a JSON object containing an Evidence Item.", "tags": [ "Evidence Items" ], "parameters": [ { "name": "credential_id", "in": "path", "description": "Global ID of the credential in the form of an integer or string for the particular Credential requested.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "evidence_item": { "description": "Example file", "file": "https://s3.amazonaws.com/accredible_api_evidence_items/files/44/original/1410743692307_Hours_Tracking.pdf", "category": "file" } }, "schema": { "type": "object", "properties": { "description": { "type": "string", "description": "Title text for the evidence item. This is displayed on a Credential." }, "category": { "type": "string", "description": "Type of Evidence Item added, must be one of [file, url, video, grade, transcript]. The type dictates how the item is displayed on the certificate." }, "url": { "type": "string", "description": "If the category is url or video, this should be the URL of Evidence Item." }, "file": { "type": "string", "description": "If the category is file, this should be the file's URL." }, "string_object": { "type": "string", "description": "If the category is grade or transcipt then use it. For grade it will be just string 83." }, "preview": { "type": "string", "description": "By default if you add a URL category EvidenceItem, we take a screenshot to set the preview of this URL on Credential. You can overwrite this default behaviour by setting this preview field to be the URL of the desired image." }, "position": { "type": "number", "description": "The numeric position of the evidence item on the credential. 0 is displayed first in the list." }, "custom_insight": { "type": "string", "description": "The insights which will appear below Evidence Item, if not given it will be generated automatically based on data." } }, "required": [ "description", "category" ] } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/credentials/{credential_id}/evidence_items/{evidence_item_id}": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "evidence_item": { "type": "object", "properties": { "id": { "type": "number" }, "description": { "type": "string" }, "link_url": { "type": "string" }, "preview_image_url": { "type": "string" }, "type": { "type": "string" }, "supplemental": { "type": "boolean" }, "string_object": { "nullable": true }, "position": { "type": "number" } } } } }, "example": { "evidence_item": { "id": 1234, "description": "updated description", "link_url": "https://s3.amazonaws.com/accredible_api_evidence_items/files/44/original/1410743692307_Hours_Tracking.pdf", "preview_image_url": "https://www.example.com/1234/reportcard.png", "type": "url", "supplemental": false, "string_object": null, "position": 1 } } } } } }, "summary": "View a Evidence Item", "operationId": "View a Evidence Item", "description": "", "tags": [ "Evidence Items" ], "parameters": [ { "name": "credential_id", "in": "path", "description": "ID of the Credential in the form of an integer or string for the particular Credential requested.", "required": true, "schema": { "type": "string" } }, { "name": "evidence_item_id", "in": "path", "description": "ID of the EvidenceItem in the form of an integer.", "required": true, "schema": { "type": "number" } } ], "security": [ { "ApiKeyAuth": [] } ] }, "put": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "evidence_item": { "type": "object", "properties": { "id": { "type": "number" }, "description": { "type": "string" }, "link_url": { "type": "string" }, "preview_image_url": { "type": "string" }, "type": { "type": "string" }, "supplemental": { "type": "boolean" }, "string_object": { "nullable": true }, "position": { "type": "number" } } } } }, "example": { "evidence_item": { "id": 1234, "description": "updated description", "link_url": "https://s3.amazonaws.com/accredible_api_evidence_items/files/44/original/1410743692307_Hours_Tracking.pdf", "preview_image_url": "https://www.example.com/1234/reportcard.png", "type": "url", "supplemental": false, "string_object": null, "position": 1 } } } } } }, "summary": "Update a Evidence Item", "operationId": "Update a Evidence Item", "description": "", "tags": [ "Evidence Items" ], "parameters": [ { "name": "credential_id", "in": "path", "description": "ID of the Credential in the form of a string or integer for the particular Credential requested.", "required": true, "schema": { "type": "string" } }, { "name": "evidence_item_id", "in": "path", "description": "ID of the Evidence Item in the form of an integer.", "required": true, "schema": { "type": "number" } } ], "requestBody": { "content": { "application/json": { "example": { "evidence_item": { "description": "updated description" } }, "schema": { "type": "object", "properties": { "description": { "type": "string", "description": "Title text for the evidence item. This is displayed on a Credential." }, "category": { "type": "string", "description": "Type of Evidence Item added, must be one of [file, url, video, grade, transcript]. The type dictates how the item is displayed on the Credential." }, "url": { "type": "string", "description": "If the category is url or video, this should be the URL of Evidence Item." }, "file": { "type": "string", "description": "If the category is file, this should be the file's URL." }, "string_object": { "type": "string", "description": "If the category is grade or transcipt then use it. For grade it will be just string 83." }, "preview": { "type": "string", "description": "By default if you add a URL category EvidenceItem, we take a screenshot to set the preview of this URL on Credentials. You can overwrite this default behaviour by setting this preview field to be the URL of the desired image." }, "position": { "type": "number", "description": "The numeric position of the evidence item on the credential. 0 is displayed first in the list." }, "custom_insight": { "type": "string", "description": "The insights which will appear below Evidence Item, if not given it will be generated automatically based on data." } }, "required": [ "description", "category" ] } } } }, "security": [ { "ApiKeyAuth": [] } ] }, "delete": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "evidence_item": { "type": "object", "properties": { "id": { "type": "number" }, "description": { "type": "string" } } } } }, "example": { "evidence_item": { "id": 1234, "description": "Report card including all grades" } } } } } }, "summary": "Delete a Evidence Item", "operationId": "Delete a Evidence Item", "description": "", "tags": [ "Evidence Items" ], "parameters": [ { "name": "credential_id", "in": "path", "description": "ID of the Credential in the form of a string or integer for the particular Credential requested.", "required": true, "schema": { "type": "string" } }, { "name": "evidence_item_id", "in": "path", "description": "ID of the EvidenceItem in the form of an integer.", "required": true, "schema": { "type": "number" } } ], "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/credentials/{credential_id}/references": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "reference": { "type": "object", "properties": { "id": { "type": "number" }, "description": { "type": "string" }, "referee": { "type": "object", "properties": { "name": { "type": "string" }, "email": { "type": "string" }, "avatar": { "type": "string" } } }, "supplemental": { "type": "boolean" }, "relationship": { "type": "string" } } } } }, "example": { "reference": { "id": 1234, "description": "John worked hard on this course and provided exemplary understanding of the core concepts", "referee": { "name": "Jane Doe", "email": "jdoe@example.com", "avatar": "https://www.example.com/avatars/janedoe.png" }, "supplemental": false, "relationship": "managed" } } } } } }, "summary": "Create a New Reference", "operationId": "Create a New Reference", "description": "You may create a Reference using this action. It takes a JSON object containing a Reference.", "tags": [ "References" ], "parameters": [ { "name": "credential_id", "in": "path", "description": "ID of the Credential in the form of a string integer for the particular Credential requested.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "example": { "reference": { "description": "John worked hard on this course and provided exemplary understanding of the core concepts", "referee": { "name": "Jane Doe", "email": "person@example.com", "avatar": "https://placehold.it/100x100" }, "relationship": "managed" } }, "schema": { "type": "object", "properties": { "description": { "type": "string", "description": "The reference comments / text." }, "relationship": { "type": "string", "description": "Must be one of: \"taught\", \"managed\", \"mentored\", \"worked\", \"studied\", \"friends\", \"stranger\", \"professor\"." }, "referee.name": { "type": "string", "description": "Name of the person providing the reference." }, "referee.email": { "type": "string", "description": "Email of the person providing the reference." }, "referee.avatar": { "type": "string", "description": "URL of image of the person providing the reference." }, "referee.url": { "type": "string", "description": "URL of a social profile such as LinkedIn that would allow a viewer to learn more about the referee." }, "position": { "type": "number", "description": "The numeric position of the evidence item on the credential. 0 is displayed first in the list." } }, "required": [ "description", "relationship" ] } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/credentials/{credential_id}/references/{reference_id}": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "reference": { "type": "object", "properties": { "id": { "type": "number" }, "description": { "type": "string" }, "referee": { "type": "object", "properties": { "name": { "type": "string" }, "email": { "type": "string" }, "avatar": { "type": "string" } } }, "supplemental": { "type": "boolean" }, "relationship": { "type": "string" } } } } }, "example": { "reference": { "id": 1234, "description": "John worked hard on this course and provided exemplary understanding of the core concepts", "referee": { "name": "Jane Doe", "email": "jdoe@example.com", "avatar": "https://www.example.com/avatars/janedoe.png" }, "supplemental": false, "relationship": "managed" } } } } } }, "summary": "View a Reference", "operationId": "View a Reference", "description": "", "tags": [ "References" ], "parameters": [ { "name": "credential_id", "in": "path", "description": "ID of the Credential in the form of a string or integer for the particular Credential requested.", "required": true, "schema": { "type": "string" } }, { "name": "reference_id", "in": "path", "description": "ID of the Reference in the form of an integer.", "required": true, "schema": { "type": "number" } } ], "security": [ { "ApiKeyAuth": [] } ] }, "put": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "reference": { "type": "object", "properties": { "id": { "type": "number" }, "description": { "type": "string" }, "referee": { "type": "object", "properties": { "name": { "type": "string" }, "email": { "type": "string" }, "avatar": { "type": "string" } } }, "supplemental": { "type": "boolean" }, "relationship": { "type": "string" } } } } }, "example": { "reference": { "id": 1234, "description": "John worked hard on this course and provided exemplary understanding of the core concepts", "referee": { "name": "Jane Doe", "email": "jdoe@example.com", "avatar": "https://www.example.com/avatars/janedoe.png" }, "supplemental": false, "relationship": "managed" } } } } } }, "summary": "Update a Reference", "operationId": "Update a Reference", "description": "", "tags": [ "References" ], "parameters": [ { "name": "credential_id", "in": "path", "description": "ID of the Credential in the form of a string or integer for the particular Credential requested.", "required": true, "schema": { "type": "string" } }, { "name": "reference_id", "in": "path", "description": "ID of the Reference in the form of an integer.", "required": true, "schema": { "type": "number" } } ], "requestBody": { "content": { "application/json": { "example": { "reference": { "description": "my new reference text" } }, "schema": { "type": "object", "properties": { "description": { "type": "string", "description": "The reference comments / text." }, "relationship": { "type": "string", "description": "Must be one of: \u201ctaught\u201d, \u201cmanaged\u201d, \u201cmentored\u201d, \u201cworked\u201d, \u201cstudied\u201d, \u201cfriends\u201d, \u201cstranger\u201d, \u201cprofessor\u201d." }, "position": { "type": "number", "description": "The numeric position of the evidence item on the credential. 0 is displayed first in the list." } }, "required": [ "description", "relationship" ] } } } }, "security": [ { "ApiKeyAuth": [] } ] }, "delete": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "reference": { "type": "object", "properties": { "id": { "type": "number" }, "description": { "type": "string" }, "referee": { "type": "object", "properties": { "name": { "type": "string" }, "email": { "type": "string" }, "avatar": { "type": "string" } } }, "supplemental": { "type": "boolean" }, "relationship": { "type": "string" } } } } }, "example": { "reference": { "id": 1234, "description": "John worked hard on this course and provided exemplary understanding of the core concepts", "referee": { "name": "Jane Doe", "email": "jdoe@example.com", "avatar": "https://www.example.com/avatars/janedoe.png" }, "supplemental": false, "relationship": "managed" } } } } } }, "summary": "DELETE a Reference", "operationId": "DELETE a Reference", "description": "", "tags": [ "References" ], "parameters": [ { "name": "credential_id", "in": "path", "description": "ID of the Credential in the form of a string or integer for the particular Credential requested.", "required": true, "schema": { "type": "string" } }, { "name": "reference_id", "in": "path", "description": "ID of the Reference in the form of an integer.", "required": true, "schema": { "type": "number" } } ], "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/analytics": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": {} } }, "summary": "Index Analytics", "operationId": "Index Analytics", "description": "", "tags": [ "Analytics" ], "parameters": [ { "name": "start_date", "in": "query", "description": "Only return Credential analytic events recoreded after the given start date. Format: YYYY-MM-DD (YYYY/MM/DD also works but is deprecated)", "schema": { "type": "string" } }, { "name": "end_date", "in": "query", "description": "Only return Credential analytic events recoreded before the given end date. Format: YYYY-MM-DD (YYYY/MM/DD also works but is deprecated)", "schema": { "type": "string" } }, { "name": "group_id", "in": "query", "description": "Only return Credential analytic events relating to Credentials within the given Group.", "schema": { "type": "integer" } }, { "name": "department_id", "in": "query", "description": "Only return Credential analytic events relating to Credentials within the given Department.", "schema": { "type": "integer" } }, { "name": "page_size", "in": "query", "description": "The pagination response size, default of 100.", "schema": { "type": "number" } }, { "name": "page", "in": "query", "description": "The pagination page.", "schema": { "type": "number" } } ], "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/data_exports": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "data_exports": { "type": "array", "items": { "type": "object", "properties": { "department_id": { "type": "number", "description": "The department ID where resources are exported from, it should be accessible via the given API_KEY." }, "status": { "type": "string", "description": "It can be:\n\n- scheduled: Data export is not yet started\n\n- processing: Data is being exported\n\n- completed: Data has been exported\n\n- errored: Something went wrong while exporting the data." }, "urls": { "type": "array", "items": { "type": "object", "properties": { "status": { "type": "string", "description": "It is always completed" }, "year": { "type": "number", "description": "the year at which the data in the file is created" }, "url": { "type": "string", "description": "the url to the file" } } }, "description": "List of urls to the exported files. It'll be available only if the data_export is \"completed\", otherwise, it will be empty." } } } } }, "required": [ "data_exports" ] } } } } }, "summary": "View All Data Exports", "operationId": "View All Data Exports", "description": "Returns list of data exports of departments accessible via the used API_KEY.", "tags": [ "Data Exports" ], "security": [ { "ApiKeyAuth": [] } ] }, "post": { "responses": { "201": { "description": "Created", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "department_id": { "type": "number", "description": "The department ID where resources are exported from, it should be accessible via the given API_KEY." }, "status": { "type": "string", "description": "It can be:\n\n- scheduled: Data export is not yet started\n\n- processing: Data is being exported\n\n- completed: Data has been exported\n\n- errored: Something went wrong while exporting the data." }, "urls": { "type": "array", "items": { "type": "object", "properties": { "status": { "type": "string", "description": "It is always completed" }, "year": { "type": "number", "description": "the year at which the data in the file is created" }, "url": { "type": "string", "description": "the url to the file" } } }, "description": "List of urls to the exported files. It'll be available only if the data_export is \"completed\", otherwise, it will be empty." } } }, "example": { "data_export": { "id": 2, "department_id": 2, "status": "scheduled", "created_at": "2022-09-16T07:00:00.000Z", "urls": [] } } } } } }, "summary": "Create New Data Export", "operationId": "Create New Data Export", "description": "Creates a new data export for the provided department, if it's accessible via the used API_KEY.", "tags": [ "Data Exports" ], "requestBody": { "content": { "application/json": { "example": { "data_export": { "entity": "credentials", "department_id": 34 } }, "schema": { "type": "object", "properties": { "entity": { "type": "string", "description": "The resource to be exported, it can only one of these values (organizations, credentials, credential_analytics, groups, designs)." }, "department_id": { "type": "number", "description": "The department ID where resources are exported from, it should be accessible via the given API_KEY." } }, "required": [ "entity", "department_id" ] } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/data_exports/{id}": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "department_id": { "type": "number", "description": "The department ID where resources are exported from, it should be accessible via the given API_KEY." }, "status": { "type": "string", "description": "It can be:\n\n- scheduled: Data export is not yet started\n\n- processing: Data is being exported\n\n- completed: Data has been exported\n\n- errored: Something went wrong while exporting the data." }, "urls": { "type": "array", "items": { "type": "object", "properties": { "status": { "type": "string", "description": "It is always completed" }, "year": { "type": "number", "description": "the year at which the data in the file is created" }, "url": { "type": "string", "description": "the url to the file" } } }, "description": "List of urls to the exported files. It'll be available only if the data_export is \"completed\", otherwise, it will be empty." } } } } } } }, "summary": "View a Data Export", "operationId": "View a Data Export", "description": "", "tags": [ "Data Exports" ], "parameters": [ { "name": "id", "in": "path", "description": "\nData Export ID\n", "required": true, "schema": { "type": "number" } } ], "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/team_members": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "team_member": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "email": { "type": "string" }, "department_permissions": { "type": "array", "items": { "type": "object", "properties": { "department_id": { "type": "number" }, "permissions": { "type": "object", "properties": { "designs": { "type": "boolean" }, "emails": { "type": "boolean" }, "credential_attributes": { "type": "boolean" }, "analytics": { "type": "boolean" }, "settings": { "type": "boolean" }, "role": { "type": "string" }, "groups": { "type": "array", "items": { "type": "number" }, "nullable": true } } } }, "required": [ "department_id", "permissions" ] } } } } } }, "example": { "team_member": { "id": 12345, "name": "John Doe", "email": "person@example.com", "department_permissions": [ { "department_id": 34, "permissions": { "designs": true, "emails": true, "credential_attributes": true, "analytics": true, "settings": true, "role": "editor", "groups": [ 1, 2, 3 ] } }, { "department_id": 35, "permissions": { "designs": false, "emails": false, "credential_attributes": false, "analytics": false, "settings": false, "role": "viewer", "groups": null } } ] } } } } } }, "summary": "Create a Team Member", "operationId": "Create a Team Member", "description": "Create a TeamMember using this action. It requires a JSON object containing an TeamMember.", "tags": [ "Team Members" ], "requestBody": { "content": { "application/json": { "example": { "team_member": { "name": "John Doe", "email": "person@example.com", "department_permissions": [ { "department_id": 34, "permissions": { "designs": true, "emails": true, "credential_attributes": true, "analytics": true, "settings": true, "role": "editor", "groups": [ 1, 2, 3 ] } }, { "department_id": 35, "permissions": { "designs": false, "emails": false, "credential_attributes": false, "analytics": false, "settings": false, "role": "viewer", "groups": null } } ] } }, "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the TeamMember user." }, "email": { "type": "string", "description": "The email address of the TeamMember user." }, "department_permissions": { "type": "array", "items": { "type": "object", "properties": { "department_id": { "type": "number", "description": "Department that the TeamMember should have the given permissions for." }, "permissions": { "type": "object", "properties": { "designs": { "type": "boolean", "description": "Should the TeamMember have access to Designs for the given Department?" }, "emails": { "type": "boolean", "description": "Should the TeamMember have access to Email Settings and Email Templates for the given Department?" }, "credential_attributes": { "type": "boolean", "description": "Should the TeamMember have access to Attributes for the given Department?" }, "analytics": { "type": "boolean", "description": "Should the TeamMember have access to Analytics for the given Department?" }, "settings": { "type": "boolean", "description": "Should the TeamMember have access to Settings for the given Department?" }, "role": { "type": "string", "description": "\"editor\" or \"viewer\" access to Credential data in the Department." }, "groups": { "description": "Limit the TeamMember access to specific Groups in the Department." } }, "required": [ "designs", "emails", "credential_attributes", "analytics", "settings", "role" ] } }, "required": [ "department_id", "permissions" ] } } }, "required": [ "name", "email", "department_permissions" ] } } } }, "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/team_members/{id}": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "team_member": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "email": { "type": "string" }, "department_permissions": { "type": "array", "items": { "type": "object", "properties": { "department_id": { "type": "number" }, "permissions": { "type": "object", "properties": { "designs": { "type": "boolean" }, "emails": { "type": "boolean" }, "credential_attributes": { "type": "boolean" }, "analytics": { "type": "boolean" }, "settings": { "type": "boolean" }, "role": { "type": "string" }, "groups": { "type": "array", "items": { "type": "number" }, "nullable": true } } } }, "required": [ "department_id", "permissions" ] } } } } } }, "example": { "team_member": { "id": 12345, "name": "John Doe", "email": "person@example.com", "department_permissions": [ { "department_id": 34, "permissions": { "designs": true, "emails": true, "credential_attributes": true, "analytics": true, "settings": true, "role": "editor", "groups": [ 1, 2, 3 ] } }, { "department_id": 35, "permissions": { "designs": false, "emails": false, "credential_attributes": false, "analytics": false, "settings": false, "role": "viewer", "groups": null } } ] } } } } } }, "summary": "View a Team Member", "operationId": "View a Team Member", "description": "", "tags": [ "Team Members" ], "security": [ { "ApiKeyAuth": [] } ] }, "put": { "responses": { "200": { "description": "OK", "headers": {}, "content": {} } }, "summary": "Update a Team Member", "operationId": "Update a Team Member", "description": "Update a TeamMember using this action. It requires a JSON object containing an TeamMember.", "tags": [ "Team Members" ], "requestBody": { "content": { "application/json": { "example": { "team_member": { "department_permissions": [ { "department_id": 34, "permissions": { "designs": false, "emails": false, "credential_attributes": true, "analytics": true, "settings": true, "role": "editor", "groups": [ 1, 2, 3 ] } }, { "department_id": 35, "permissions": { "designs": false, "emails": false, "credential_attributes": false, "analytics": false, "settings": false, "role": "viewer", "groups": null } } ] } }, "schema": { "type": "object", "properties": { "id": { "type": "number", "description": "The ID of the TeamMember to update." }, "name": { "type": "string", "description": "The name of the TeamMember user." }, "email": { "type": "string", "description": "The email address of the TeamMember user." }, "department_permissions": { "type": "array", "items": { "type": "object", "properties": { "department_id": { "type": "number", "description": "Department that the TeamMember should have the given permissions for." }, "permissions": { "type": "object", "properties": { "designs": { "type": "boolean", "description": "Should the TeamMember have access to Designs for the given Department?" }, "emails": { "type": "boolean", "description": "Should the TeamMember have access to Email Settings and Email Templates for the given Department?" }, "credential_attributes": { "type": "boolean", "description": "Should the TeamMember have access to Attributes for the given Department?" }, "analytics": { "type": "boolean", "description": "Should the TeamMember have access to Analytics for the given Department?" }, "settings": { "type": "boolean", "description": "Should the TeamMember have access to Settings for the given Department?" }, "role": { "type": "string", "description": "\"editor\" or \"viewer\" access to Credential data in the Department." }, "groups": { "description": "Limit the TeamMember access to specific Groups in the Department." } }, "required": [ "designs", "emails", "credential_attributes", "analytics", "settings", "role" ] } }, "required": [ "department_id", "permissions" ] }, "description": "This parameter will override any existing permissions, not append to them." } }, "required": [ "id" ] } } } }, "security": [ { "ApiKeyAuth": [] } ] }, "delete": { "responses": { "200": { "description": "OK", "headers": {}, "content": {} } }, "summary": "Delete a Team Member", "operationId": "Delete a Team Member", "description": "", "tags": [ "Team Members" ], "parameters": [ { "name": "id", "in": "path", "description": "ID of the TeamMember in the form of an integer.", "required": true, "schema": { "type": "string" } } ], "security": [ { "ApiKeyAuth": [] } ] } }, "/v1/issuer/details": { "get": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "issuer": { "type": "object", "properties": { "id": { "type": "number" }, "name": { "type": "string" }, "email": { "type": "string" }, "certificate_left": { "type": "number" }, "language": { "type": "string" }, "url": { "type": "string" }, "spiderable": { "type": "boolean" }, "whitelisted_domain": { "type": "string" }, "linkedin_company_id": { "nullable": true }, "linkedin_school_id": { "nullable": true } } } } }, "example": { "issuer": { "id": 1, "name": "Example Provider", "email": "dev@accredible.com", "certificate_left": 100, "language": "en", "url": "http://www.accredible.com", "spiderable": true, "whitelisted_domain": "http://www.accredible.com/", "linkedin_company_id": null, "linkedin_school_id": null } } } } } }, "summary": "View an Issuer", "operationId": "View an Issuer", "description": "", "tags": [ "Issuers" ], "security": [ { "ApiKeyAuth": [] } ], "x-code-samples": { "curl": { "lang": "cURL", "label": "cURL", "source": "curl -X GET \"https://api.accredible.com/v1/issuer/details\" \\\n -H \"Authorization: Token token=YOUR_API_KEY\"" } } } }, "/v1/sso/generate_link": { "post": { "responses": { "200": { "description": "OK", "headers": {}, "content": { "application/json": { "schema": { "type": "object", "properties": { "link": { "type": "string" } } }, "example": { "link": "http://www.credential.net/10000005/sso?code=1330" } } } } }, "summary": "Generate SSO Link", "operationId": "Generate SSO Link", "description": "This endpoint generates a single sign on link that authorizes the recipient on their credential.\n\nThe code expires after used once.", "tags": [ "SSO" ], "security": [ { "ApiKeyAuth": [] } ], "requestBody": { "content": { "application/json": { "example": { "credential_id": "12345" }, "schema": { "type": "object", "properties": { "credential_id": { "type": "string", "description": "The unique ID of the credential. If you supply your own internal ID as a license_id, you should use that." }, "recipient_id": { "type": "string", "description": "The recipient's user ID as defined by your organization. If more than one credential exists for your organization for this student, we give the link to their last (most recent) credential." }, "recipient_email": { "type": "string", "description": "The recipient's email address. If more than one credential exists in your organization for this student, we give a link to their last (most recent) credential." }, "wallet_view": { "type": "boolean", "description": "If multiple credentials belonging to the recipient requested for this organization and the wallet view flag is set true, we provide a link to the recipients credential wallet." }, "group_id": { "type": "string", "description": "The group that a credential belongs to. If more than one credential exists for your group for this student, we give the link to their last (most recent) credential." }, "redirect_to": { "type": "string", "description": "If the code is wrong, we will redirect student back to this link by default we use your registered url." }, "embed": { "type": "boolean", "description": "If the embed flag is set to true, we provide a link to the recipient's credential wallet embed page. This is only supported with wallet view." } } } } } }, "x-codeSamples": [ { "lang": "cURL", "label": "cURL", "source": "curl -X POST https://api.accredible.com/v1/sso/generate_link \\\n -H \"Authorization: Token token=YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"credential_id\": \"12345\"}'" } ] } } }, "components": { "schemas": {}, "securitySchemes": { "ApiKeyAuth": { "type": "apiKey", "in": "header", "name": "Authorization", "description": "Use the format: Token token=YOUR_API_KEY" } } }, "tags": [ { "name": "Credentials", "description": "Credentials are the core object in Accredible. They collect all of the data related to a course/training/achievment and a recipient.\n\nYou should create a credential for each achievement completion that a recipient has. For example if John Doe finishes the Programming 101 course we should create one credential to represent that. If John Doe achieves something else then he would need a new credential.\n\nBy default a Group doesn't allow duplicate credentials to be issued to the same recipient. You can update this setting if you would like to do so: https://help.accredible.com/can-i-allow-duplicate-credentials-in-a-group" }, { "name": "Groups", "description": "Groups are similar to a course or a folder of Credentials. They contain information about the achievement and have multiple Credentials attached to them.\n\nFor example you should create a group for the Introduction to Programming course. You'd provide the Course Name, Course Descripion and Course URL. In the future you can pass the name or ID of this group when creating a credential so that the credential is passed all the information relating to the achievement." }, { "name": "Collections", "description": "A Collection is a curated set of groups.\n\nTo create one, you'll need to provide a collection name, a description, and indicate whether it should be public or private. Once created, you can assign groups to the collection using the Groups APIs." }, { "name": "Designs" }, { "name": "Departments", "description": "Resources related to Departments. If enabled for your account, Departments allow you to manage multiple independent organization groups. Each Department is entirely separate with it's own Designs, Groups, Branding, etc. You cannot share data between Departments excepting Billing and Administrators." }, { "name": "Attributes", "description": "Attributes provide a way to add information to certificates/emails. A full guide on Attributes can be found here: https://help.accredible.com/a-quick-guide-to-attributes" }, { "name": "Evidence Items", "description": "Resources related to EvidenceItems. EvidenceItems provide more information about how the recipient met the achievement. Typically this would include work samples for a course." }, { "name": "References", "description": "Resources related to References. References provide more information about how the recipient met an achievement. Typically this would be a peer, teacher or manager giving their feedback." }, { "name": "Analytics", "description": "Events relating to Credential activity such as views, shares and other engagements. A full list of events can be found here: https://help.accredible.com/credential-analytic-events. By default, the API returns the events for all Departments within your Organization." }, { "name": "Data Exports", "description": "The following endpoints require the `data_exports` feature to be switched on, which is based on your pricing plan." }, { "name": "Team Members" }, { "name": "Issuers" }, { "name": "SSO", "description": "Accredible offers single sign-on solutions for recipients and issuers. Email support@accredible.com for a full list of options and to receive development assistance. SSO is also available via our Integrations and via SAML 2.0." } ] }