{
  "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://us06web.zoom.us/clips/share/_p4jjy0LQ-WOaQPviLor1A)\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 activity or achievement 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 Description 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. Designs can be used across 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 its 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 act as placeholders for information and can be added to certificate designs and email templates.\n\n## Skills Frameworks\n\n[Skills Frameworks](#tag/Skills-Frameworks) are structured taxonomies of skills — Accredible-maintained ones such as O*NET, ESCO and NACE, plus any your organization uploads itself. Tagging a Group against a framework version replaces the Group's free-text `learning_outcomes` with skills that carry a stable identifier and a known position in a recognized taxonomy.\n\nFor example, instead of listing `\"Reading Books\"` on your Introduction to Programming group, you can attach the O*NET skill `Reading Comprehension` together with the trail it sits on — Worker Requirements → Basic Skills → Content.\n\nFrameworks are read-only over the API: you discover the frameworks enabled for a department, search their skills, then select those skills when creating or updating a Group. Uploading and managing frameworks is done in the Accredible Dashboard.\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. Most error response formats are consistent across API versions, with some differences in bulk operations.\n\n## HTTP Status Codes\n\n| Status Code | Description |\n| ----------- | ----------- |\n| **2xx** | Success |\n| 200 | OK - The request was successful |\n| 207 | Multi-Status - Partial success. Returned by v2 bulk operations, and by Group create/update/clone when skills frameworks are involved |\n| **4xx** | Client Error |\n| 400 | Bad Request - Invalid request parameters |\n| 401 | Unauthorized - Invalid or missing API key |\n| 403 | Forbidden - Insufficient permissions |\n| 404 | Not Found - Resource not found |\n| 422 | Unprocessable Entity - Validation errors |\n| 429 | Too Many Requests - Rate limit exceeded |\n| **5xx** | Server Error |\n| 500 | Internal Server Error |\n\n## Common Error Formats\n\nMost API endpoints use these standard error formats:\n\n**Search Query Errors (400)**\n```json\n{\n  \"code\": 400,\n  \"message\": \"Sort order increasing is not supported\",\n  \"status\": \"invalid_search_query\",\n  \"errors\": {}\n}\n```\n\n**Unauthorized (401):**\n```\nHTTP Token: Access denied.\n```\n\n```json\n{\n  \"success\": false,\n  \"data\": \"Not enough or too many segments\"\n}\n```\n\n```json\n{\n  \"success\": false,\n  \"data\": \"Sorry, You are not authorized, visit accredible.com for this\"\n}\n```\n\n**Forbidden (403):**\n```json\n{\n  \"errors\": \"Private Certificate, use key\"\n}\n```\n\n**Not Found (404):**\n```json\n{\n  \"errors\": \"Doesn't exist\"\n}\n```\n\n```json\n{\n  \"error\": \"Not found\"\n}\n```\n\n```json\n{\n  \"success\": false,\n  \"data\": \"Group does not exist\"\n}\n```\n\n**Unprocessable Entity (422):**\n```json\n{\n  \"errors\": \"Invalid Group\"\n}\n```\n\n```json\n{\n  \"errors\": \"Can not create credential without recipient data\"\n}\n```\n\n```json\n{\n  \"errors\": {\n    \"course_name\": [\n      \"can't be blank\"\n    ],\n    \"course_description\": [\n      \"can't be blank\"\n    ]\n  }\n}\n```\n\nEndpoints that validate each item in a batch separately return one entry per failed item. `POST /v1/credentials/bulk_create` returns an array with no row index, so entries cannot be mapped back to the Credentials you sent:\n\n```json\n{\n  \"errors\": [\n    {\n      \"user\": [\n        \"Could not assign user to the credential\",\n        \"must exist\"\n      ]\n    }\n  ]\n}\n```\n\n**Internal Server Error (500):**\n```json\n{\n  \"errors\": \"Internal server error\"\n}\n```\n\n## Bulk Operations Error Handling\n\n### V2 Bulk Create (Mixed Results Supported)\n\n**All Successful (200):**\n```json\n{\n  \"results\": [\n    {\n      \"credential\": { /* credential object */ }\n    },\n    {\n      \"credential\": { /* credential object */ }\n    }\n  ]\n}\n```\n\n**Mixed Success/Failure (207 Multi-Status):**\n```json\n{\n  \"results\": [\n    {\n      \"credential\": { /* successful credential */ }\n    },\n    {\n      \"error\": {\n        \"code\": \"credential_invalid\",\n        \"message\": \"The credential is not valid\",\n        \"details\": [\n          {\n            \"property\": \"recipient_name\",\n            \"reason\": \"blank\"\n          }\n        ]\n      }\n    },\n    {\n      \"credential\": { /* successful but unpublished */ },\n      \"error\": {\n        \"code\": \"insufficient_credits\",\n        \"message\": \"The credential was created but not published\"\n      }\n    }\n  ]\n}\n```\n\n**All Failed (422):**\n```json\n{\n  \"results\": [\n    {\n      \"error\": {\n        \"code\": \"credential_invalid\",\n        \"message\": \"The credential is not valid\",\n        \"details\": [\n          {\n            \"property\": \"course_name\",\n            \"reason\": \"blank\"\n          }\n        ]\n      }\n    }\n  ]\n}\n```\n\n## Skills Frameworks Error Handling\n\n### Framework Endpoints (401, 403, 400, 404)\n\n`GET /v1/skill_frameworks` and `GET /v1/skill_frameworks/{id}/versions/{version_id}/skills` use the standard error format, with a machine-readable `status`:\n\n```json\n{\n  \"code\": 403,\n  \"message\": \"Your plan does not include access to skills frameworks\",\n  \"status\": \"plan_not_entitled\",\n  \"errors\": {}\n}\n```\n\n| Code | `status` | `message` | Cause |\n| ---- | -------- | --------- | ----- |\n| 401 | — | — | Missing or invalid API key. Authentication runs before the framework checks, so the body is the API's standard plain-text `HTTP Token: Access denied.` rather than the JSON shape above. |\n| 403 | `plan_not_entitled` | Your plan does not include access to skills frameworks | Your plan does not include the skills frameworks feature. |\n| 400 | `missing_department_id` | department_id is required | `department_id` was not supplied to the framework list endpoint. |\n| 403 | `invalid_department` | Invalid Department ID | The `department_id` is not a Department your API key can access. |\n| 404 | `not_found` | Skills framework not found | The framework does not exist, or it is a custom framework belonging to another organization. |\n| 400 | `invalid_version` | This version does not belong to the specified framework | The version id belongs to a different framework, or the version is not published. |\n| 400 | `invalid_query` | Query must be at least 2 characters | The skills search `query` was missing or shorter than 2 characters. |\n\nChecks run in that order, so a request that is both unentitled and missing `department_id` returns the 403.\n\n### Group Writes — Partial Success (207 Multi-Status)\n\nSkills framework problems do not fail a Group write, with one exception — a Group that is already framework-backed on a plan that no longer includes skills frameworks, covered under **Plan Downgrade (403)** below. Otherwise `POST /v1/issuer/groups`, `PUT /v1/issuer/groups/{group_id}` and `POST /v1/issuer/groups/{group_id}/clone` still create, update or clone the Group, attach every skill that was valid, and return `207` with the problems itemized:\n\n```json\n{\n  \"group\": { /* the group as it was saved */ },\n  \"errors\": [\n    {\n      \"code\": \"skills_not_attached\",\n      \"message\": \"One or more framework skills were not attached — they do not belong to framework version 512 or are not taggable: 999999991\"\n    }\n  ]\n}\n```\n\nAlways read `group.skill_framework` and `group.skills` from a 207 response to see what was actually saved. More than one error can be returned: input-shape errors come first, then `skills_not_attached`, then `breadcrumb_ids_invalid`.\n\n| `code` | Meaning |\n| ------ | ------- |\n| `framework_params_incomplete` | Only one of `skill_framework_version_id` / `framework_skills` was sent, or `framework_skills` was empty alongside a version. Send both, with at least one skill. |\n| `plan_not_entitled` | Your plan does not include skills frameworks, so no skills were attached. |\n| `version_not_found` | There is no published framework version with that id. Draft versions are not visible to the API. |\n| `framework_not_available` | The version's framework is not enabled for this Group's Department. |\n| `version_retired` | The target version has been retired — use the framework's `active` version instead. On clone, it means the source Group's skills could not be copied: either its version is retired, or its framework is mid-retirement for that Department, in which case the version itself still reads as `active`. |\n| `framework_skills_malformed` | An entry in `framework_skills` is not shaped like `{ id, breadcrumb_ids }`. The message names the offending index and field. |\n| `skills_not_attached` | The listed skill ids do not belong to the given framework version, or they are structural nodes that cannot be tagged. |\n| `breadcrumb_ids_invalid` | The listed skills' `breadcrumb_ids` are not a real trail in that version — unknown ids, a broken parent chain, a repeated node, or an empty trail for a skill that has a parent. |\n\n### Plan Downgrade (403)\n\nIf your plan does not include access to skills frameworks and you send framework parameters for a Group that is **already** framework-backed, `PUT /v1/issuer/groups/{group_id}` fails outright and nothing in the request is saved:\n\n```json\n{\n  \"success\": false,\n  \"data\": \"Your plan no longer supports this framework. Contact support to upgrade.\"\n}\n```\n\nThe Group's framework and skills stay saved and are still returned when you read it, and you can always move it back to free-text skills by sending `\"framework_skills\": null`."
  },
  "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"
                            },
                            "phone_number": {
                              "type": "string",
                              "nullable": true
                            },
                            "id": {
                              "type": "string"
                            },
                            "linked_identity_id": {
                              "type": "string",
                              "format": "uuid",
                              "nullable": true,
                              "description": "Identifies the person who holds this credential within your organization. All of your credentials held by the same person share this value, including credentials issued to different email addresses that the person has linked to their Accredible account. It is a randomly generated UUID, different for each organization. `null` for unpublished credentials. The value can change when the person links another email address, so store it per credential `id` and always overwrite it with the latest value."
                            },
                            "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"
                            }
                          }
                        },
                        "skills": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              },
                              "identifier": {
                                "type": "string",
                                "nullable": true
                              },
                              "description": {
                                "type": "string",
                                "nullable": true
                              },
                              "url": {
                                "type": "string",
                                "nullable": true
                              },
                              "breadcrumbs": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "number"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "identifier": {
                                      "type": "string",
                                      "nullable": true
                                    }
                                  },
                                  "required": [
                                    "id",
                                    "name",
                                    "identifier"
                                  ]
                                }
                              }
                            },
                            "required": [
                              "id",
                              "name",
                              "identifier",
                              "description",
                              "url",
                              "breadcrumbs"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "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",
                      "phone_number": "+14155552671",
                      "id": "ct992",
                      "linked_identity_id": "3f2b8c1e-9a4d-4e7b-b1c2-5d6e7f8a9b0c",
                      "meta_data": {
                        "bar": "foo"
                      }
                    },
                    "issuer": {
                      "name": "Example Organization",
                      "description": null,
                      "url": "http://www.accredible.com",
                      "id": 4897
                    },
                    "meta_data": {
                      "foo": "bar"
                    },
                    "skills": [
                      {
                        "id": 59302,
                        "name": "Active Listening",
                        "identifier": "2.A.1.b",
                        "description": "Giving full attention to what other people are saying, taking time to understand the points being made.",
                        "url": "https://www.onetonline.org/find/descriptor/result/2.A.1.b",
                        "breadcrumbs": [
                          {
                            "id": 59298,
                            "name": "Worker Requirements",
                            "identifier": "2"
                          },
                          {
                            "id": 59299,
                            "name": "Basic Skills",
                            "identifier": "2.A"
                          },
                          {
                            "id": 59300,
                            "name": "Content",
                            "identifier": "2.A.1"
                          }
                        ]
                      },
                      {
                        "id": 59301,
                        "name": "Reading Comprehension",
                        "identifier": "2.A.1.a",
                        "description": "Understanding written sentences and paragraphs in work related documents.",
                        "url": "https://www.onetonline.org/find/descriptor/result/2.A.1.a",
                        "breadcrumbs": [
                          {
                            "id": 59298,
                            "name": "Worker Requirements",
                            "identifier": "2"
                          },
                          {
                            "id": 59299,
                            "name": "Basic Skills",
                            "identifier": "2.A"
                          },
                          {
                            "id": 59300,
                            "name": "Content",
                            "identifier": "2.A.1"
                          }
                        ]
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "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",
                    "phone_number": "+14155552671",
                    "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.phone_number": {
                    "type": "string",
                    "description": "The recipient's phone number in E.164 format (e.g., +14155552671). This field is optional and available as part of the Growth plan. Phone numbers are used for SMS campaigns and are associated with the credential."
                  },
                  "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."
                  },
                  "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/credentials\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"credential\": {\n    \"recipient\": {\n      \"name\": \"John Doe\",\n      \"email\": \"person@example.com\",\n      \"phone_number\": \"+14155552671\",\n      \"id\": \"PK-17993\",\n      \"meta_data\": {\n        \"credential_batch\": \"772\"\n      }\n    },\n    \"name\": \"Credential Name\",\n    \"group_name\": \"course1234\",\n    \"group_id\": 23,\n    \"description\": null,\n    \"issued_on\": \"2014-06-14\",\n    \"evidence_items\": [\n      {\n        \"description\": \"Report card including all grades\",\n        \"url\": \"http://www.awesomelearningexample.com/johndoe/reportcard\",\n        \"category\": \"url\"\n      },\n      {\n        \"description\": \"Final essay\",\n        \"file\": \"https://s3.amazonaws.com/accredible_api_evidence_items/files/12/original/open-uri20140316-15266-1m3by6h.jpeg\",\n        \"category\": \"file\"\n      }\n    ],\n    \"references\": [\n      {\n        \"description\": \"John worked hard on this course and provided exemplary understanding of the core concepts\",\n        \"referee\": {\n          \"name\": \"Jane Doe\",\n          \"email\": \"person2@example.com\",\n          \"avatar\": \"https://placehold.it/100x100\",\n          \"url\": \"https://any-url.com\"\n        },\n        \"relationship\": \"managed\"\n      }\n    ],\n    \"custom_attributes\": {\n      \"custom_variables\": \"some value\",\n      \"dob\": \"29 jan 1970\"\n    },\n    \"meta_data\": {\n      \"batch_id\": \"TK210\"\n    }\n  }\n}'"
          }
        ]
      }
    },
    "/v1/credentials/bulk_create": {
      "post": {
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {}
          },
          "422": {
            "description": "Unprocessable Entity - at least one Credential in the batch failed validation.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errors": {
                      "oneOf": [
                        {
                          "type": "array",
                          "description": "One entry per Credential that failed, each keyed by the attribute that failed.",
                          "items": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        {
                          "type": "string",
                          "description": "A single message describing why the request could not be processed."
                        }
                      ]
                    }
                  }
                },
                "example": {
                  "errors": [
                    {
                      "user": [
                        "Could not assign user to the credential",
                        "must exist"
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "summary": "Bulk Create credentials (v1)",
        "operationId": "Bulk Create credentials (v1)",
        "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**Note:** When department credits are enabled, requests made with the account-wide API key always deduct from the default department irrespective of which department the credential is being issued into. To deduct from a department, use a department-specific API key instead.\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",
                      "phone_number": "+14155552671"
                    },
                    "group_id": 22625
                  },
                  {
                    "recipient": {
                      "name": "Jane Smith",
                      "email": "jane@example.com",
                      "phone_number": "+14155552672"
                    },
                    "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/credentials/bulk_create\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"credentials\": [\n    {\n      \"recipient\": {\n        \"name\": \"John Doe\",\n        \"email\": \"student@example.com\",\n        \"phone_number\": \"+14155552671\"\n      },\n      \"group_id\": 22625\n    },\n    {\n      \"recipient\": {\n        \"name\": \"Jane Smith\",\n        \"email\": \"jane@example.com\",\n        \"phone_number\": \"+14155552672\"\n      },\n      \"group_id\": 62430\n    }\n  ]\n}'"
          }
        ]
      }
    },
    "/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"
                                  },
                                  "phone_number": {
                                    "type": "string",
                                    "nullable": true
                                  },
                                  "id": {
                                    "type": "number"
                                  },
                                  "linked_identity_id": {
                                    "type": "string",
                                    "format": "uuid",
                                    "nullable": true,
                                    "description": "Identifies the person who holds this credential within your organization. All of your credentials held by the same person share this value, including credentials issued to different email addresses that the person has linked to their Accredible account. It is a randomly generated UUID, different for each organization. `null` for unpublished credentials. The value can change when the person links another email address, so store it per credential `id` and always overwrite it with the latest value."
                                  },
                                  "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": {}
                              },
                              "skills": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "number"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "identifier": {
                                      "type": "string",
                                      "nullable": true
                                    },
                                    "description": {
                                      "type": "string",
                                      "nullable": true
                                    },
                                    "url": {
                                      "type": "string",
                                      "nullable": true
                                    },
                                    "breadcrumbs": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "id": {
                                            "type": "number"
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "identifier": {
                                            "type": "string",
                                            "nullable": true
                                          }
                                        },
                                        "required": [
                                          "id",
                                          "name",
                                          "identifier"
                                        ]
                                      }
                                    }
                                  },
                                  "required": [
                                    "id",
                                    "name",
                                    "identifier",
                                    "description",
                                    "url",
                                    "breadcrumbs"
                                  ]
                                }
                              }
                            }
                          },
                          "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",
                          "phone_number": "+14155552671",
                          "id": 232,
                          "linked_identity_id": "7c1d2e4f-3b5a-4c6d-8e9f-0a1b2c3d4e5f",
                          "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": [],
                        "skills": [
                          {
                            "id": 59302,
                            "name": "Active Listening",
                            "identifier": "2.A.1.b",
                            "description": "Giving full attention to what other people are saying, taking time to understand the points being made.",
                            "url": "https://www.onetonline.org/find/descriptor/result/2.A.1.b",
                            "breadcrumbs": [
                              {
                                "id": 59298,
                                "name": "Worker Requirements",
                                "identifier": "2"
                              },
                              {
                                "id": 59299,
                                "name": "Basic Skills",
                                "identifier": "2.A"
                              },
                              {
                                "id": 59300,
                                "name": "Content",
                                "identifier": "2.A.1"
                              }
                            ]
                          },
                          {
                            "id": 59301,
                            "name": "Reading Comprehension",
                            "identifier": "2.A.1.a",
                            "description": "Understanding written sentences and paragraphs in work related documents.",
                            "url": "https://www.onetonline.org/find/descriptor/result/2.A.1.a",
                            "breadcrumbs": [
                              {
                                "id": 59298,
                                "name": "Worker Requirements",
                                "identifier": "2"
                              },
                              {
                                "id": 59299,
                                "name": "Basic Skills",
                                "identifier": "2.A"
                              },
                              {
                                "id": 59300,
                                "name": "Content",
                                "identifier": "2.A.1"
                              }
                            ]
                          }
                        ]
                      },
                      "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 (v2)",
        "operationId": "Bulk Create Credentials (v2)",
        "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**Note:** When department credits are enabled, requests made with the account-wide API key always deduct from the default department irrespective of which department the credential is being issued into. To deduct from a department, use a department-specific API key instead.\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"
                ]
              },
              "example": {
                "credentials": [
                  {
                    "recipient": {
                      "name": "John Doe",
                      "email": "student@example.com",
                      "phone_number": "+14155552671"
                    },
                    "group_id": 22625
                  },
                  {
                    "recipient": {
                      "name": "Jane Smith",
                      "email": "jane@example.com",
                      "phone_number": "+14155552672"
                    },
                    "group_id": 62430
                  }
                ]
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v2/credentials/bulk_create\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"credentials\": [\n    {\n      \"recipient\": {\n        \"name\": \"John Doe\",\n        \"email\": \"student@example.com\",\n        \"phone_number\": \"+14155552671\"\n      },\n      \"group_id\": 22625\n    },\n    {\n      \"recipient\": {\n        \"name\": \"Jane Smith\",\n        \"email\": \"jane@example.com\",\n        \"phone_number\": \"+14155552672\"\n      },\n      \"group_id\": 62430\n    }\n  ]\n}'"
          }
        ]
      }
    },
    "/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"
                            },
                            "phone_number": {
                              "type": "string",
                              "nullable": true
                            },
                            "id": {
                              "type": "string"
                            },
                            "linked_identity_id": {
                              "type": "string",
                              "format": "uuid",
                              "nullable": true,
                              "description": "Identifies the person who holds this credential within your organization. All of your credentials held by the same person share this value, including credentials issued to different email addresses that the person has linked to their Accredible account. It is a randomly generated UUID, different for each organization. `null` for unpublished credentials. The value can change when the person links another email address, so store it per credential `id` and always overwrite it with the latest value."
                            },
                            "meta_data": {
                              "nullable": true
                            }
                          }
                        },
                        "issuer": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "description": {
                              "nullable": true
                            },
                            "url": {
                              "type": "string"
                            },
                            "id": {
                              "type": "number"
                            }
                          }
                        },
                        "meta_data": {
                          "nullable": true
                        },
                        "skills": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              },
                              "identifier": {
                                "type": "string",
                                "nullable": true
                              },
                              "description": {
                                "type": "string",
                                "nullable": true
                              },
                              "url": {
                                "type": "string",
                                "nullable": true
                              },
                              "breadcrumbs": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "number"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "identifier": {
                                      "type": "string",
                                      "nullable": true
                                    }
                                  },
                                  "required": [
                                    "id",
                                    "name",
                                    "identifier"
                                  ]
                                }
                              }
                            },
                            "required": [
                              "id",
                              "name",
                              "identifier",
                              "description",
                              "url",
                              "breadcrumbs"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "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",
                      "phone_number": "+14155552671",
                      "id": "dw373",
                      "linked_identity_id": "3f2b8c1e-9a4d-4e7b-b1c2-5d6e7f8a9b0c",
                      "meta_data": null
                    },
                    "issuer": {
                      "name": "Example Organization",
                      "description": null,
                      "url": "http://www.accredible.com",
                      "id": 4897
                    },
                    "meta_data": null,
                    "skills": [
                      {
                        "id": 59302,
                        "name": "Active Listening",
                        "identifier": "2.A.1.b",
                        "description": "Giving full attention to what other people are saying, taking time to understand the points being made.",
                        "url": "https://www.onetonline.org/find/descriptor/result/2.A.1.b",
                        "breadcrumbs": [
                          {
                            "id": 59298,
                            "name": "Worker Requirements",
                            "identifier": "2"
                          },
                          {
                            "id": 59299,
                            "name": "Basic Skills",
                            "identifier": "2.A"
                          },
                          {
                            "id": 59300,
                            "name": "Content",
                            "identifier": "2.A.1"
                          }
                        ]
                      },
                      {
                        "id": 59301,
                        "name": "Reading Comprehension",
                        "identifier": "2.A.1.a",
                        "description": "Understanding written sentences and paragraphs in work related documents.",
                        "url": "https://www.onetonline.org/find/descriptor/result/2.A.1.a",
                        "breadcrumbs": [
                          {
                            "id": 59298,
                            "name": "Worker Requirements",
                            "identifier": "2"
                          },
                          {
                            "id": 59299,
                            "name": "Basic Skills",
                            "identifier": "2.A"
                          },
                          {
                            "id": 59300,
                            "name": "Content",
                            "identifier": "2.A.1"
                          }
                        ]
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X GET \\\n  \"https://api.accredible.com/v1/credentials/12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      },
      "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.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "credential": {
                  "approve": true,
                  "recipient": {
                    "phone_number": "+14155552671"
                  }
                }
              },
              "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.phone_number": {
                    "type": "string",
                    "description": "The recipient's phone number in E.164 format (e.g., +14155552671). This field is optional and available as part of the Growth plan. Phone numbers are used for SMS campaigns and are associated with the credential."
                  },
                  "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."
                  },
                  "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."
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X PUT \\\n  \"https://api.accredible.com/v1/credentials/12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"credential\": {\n    \"approve\": true,\n    \"recipient\": {\n      \"phone_number\": \"+14155552671\"\n    }\n  }\n}'"
          }
        ]
      },
      "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"
                            },
                            "phone_number": {
                              "type": "string",
                              "nullable": true
                            },
                            "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X DELETE \\\n  \"https://api.accredible.com/v1/credentials/12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      }
    },
    "/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"
                              },
                              "phone_number": {
                                "type": "string",
                                "nullable": true
                              },
                              "id": {
                                "type": "number"
                              },
                              "linked_identity_id": {
                                "type": "string",
                                "format": "uuid",
                                "nullable": true,
                                "description": "Identifies the person who holds this credential within your organization. All of your credentials held by the same person share this value, including credentials issued to different email addresses that the person has linked to their Accredible account. It is a randomly generated UUID, different for each organization. `null` for unpublished credentials. The value can change when the person links another email address, so store it per credential `id` and always overwrite it with the latest value."
                              },
                              "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,
                        "linked_identity_id": "3f2b8c1e-9a4d-4e7b-b1c2-5d6e7f8a9b0c",
                        "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,
                        "linked_identity_id": "9a41b7d2-6c3e-4f15-a8b9-2d7e1f0c4b63",
                        "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": "**DEPRECATED:** This endpoint is deprecated.\n\n[View Many Credentials - Video Walkthrough](https://www.loom.com/share/520347485c3b44c7b64daeb17f1b307b?sid=9deb6be0-e636-4a03-ac2a-3dc831b1e3ad)",
        "deprecated": true,
        "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X GET \\\n  \"https://api.accredible.com/v1/all_credentials\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      }
    },
    "/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"
                          },
                          "seo_image": {
                            "type": "string"
                          },
                          "encoded_id": {
                            "type": "string"
                          },
                          "recipient": {
                            "type": "object",
                            "properties": {
                              "name": {
                                "type": "string"
                              },
                              "email": {
                                "type": "string"
                              },
                              "phone_number": {
                                "type": "string",
                                "nullable": true
                              },
                              "id": {
                                "type": "number"
                              },
                              "linked_identity_id": {
                                "type": "string",
                                "format": "uuid",
                                "nullable": true,
                                "description": "Identifies the person who holds this credential within your organization. All of your credentials held by the same person share this value, including credentials issued to different email addresses that the person has linked to their Accredible account. It is a randomly generated UUID, different for each organization. `null` for unpublished credentials. The value can change when the person links another email address, so store it per credential `id` and always overwrite it with the latest value."
                              },
                              "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
                          },
                          "skills": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "number"
                                },
                                "name": {
                                  "type": "string"
                                },
                                "identifier": {
                                  "type": "string",
                                  "nullable": true
                                },
                                "description": {
                                  "type": "string",
                                  "nullable": true
                                },
                                "url": {
                                  "type": "string",
                                  "nullable": true
                                },
                                "breadcrumbs": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "number"
                                      },
                                      "name": {
                                        "type": "string"
                                      },
                                      "identifier": {
                                        "type": "string",
                                        "nullable": true
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "name",
                                      "identifier"
                                    ]
                                  }
                                }
                              },
                              "required": [
                                "id",
                                "name",
                                "identifier",
                                "description",
                                "url",
                                "breadcrumbs"
                              ]
                            }
                          }
                        },
                        "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",
                          "skills"
                        ]
                      }
                    },
                    "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,
                      "seo_image": "https://api.accredible.com/v1/frontend/credential_seo_image/10250009",
                      "encoded_id": "gqm1e46g",
                      "recipient": {
                        "name": "John Doe",
                        "email": "person2@example.com",
                        "id": 772,
                        "linked_identity_id": "3f2b8c1e-9a4d-4e7b-b1c2-5d6e7f8a9b0c",
                        "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"
                      },
                      "skills": [
                        {
                          "id": 59302,
                          "name": "Active Listening",
                          "identifier": "2.A.1.b",
                          "description": "Giving full attention to what other people are saying, taking time to understand the points being made.",
                          "url": "https://www.onetonline.org/find/descriptor/result/2.A.1.b",
                          "breadcrumbs": [
                            {
                              "id": 59298,
                              "name": "Worker Requirements",
                              "identifier": "2"
                            },
                            {
                              "id": 59299,
                              "name": "Basic Skills",
                              "identifier": "2.A"
                            },
                            {
                              "id": 59300,
                              "name": "Content",
                              "identifier": "2.A.1"
                            }
                          ]
                        },
                        {
                          "id": 59301,
                          "name": "Reading Comprehension",
                          "identifier": "2.A.1.a",
                          "description": "Understanding written sentences and paragraphs in work related documents.",
                          "url": "https://www.onetonline.org/find/descriptor/result/2.A.1.a",
                          "breadcrumbs": [
                            {
                              "id": 59298,
                              "name": "Worker Requirements",
                              "identifier": "2"
                            },
                            {
                              "id": 59299,
                              "name": "Basic Skills",
                              "identifier": "2.A"
                            },
                            {
                              "id": 59300,
                              "name": "Content",
                              "identifier": "2.A.1"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "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,
                      "seo_image": "https://api.accredible.com/v1/frontend/credential_seo_image/10250010",
                      "encoded_id": "gqm1e36g",
                      "recipient": {
                        "name": "John Doe",
                        "email": "person2@example.com",
                        "id": 883,
                        "linked_identity_id": "9a41b7d2-6c3e-4f15-a8b9-2d7e1f0c4b63",
                        "meta_data": null
                      },
                      "issuer": {
                        "name": "Example Provider",
                        "description": " Best place to manage online learning",
                        "url": "http://www.accredible.com"
                      },
                      "meta_data": null,
                      "skills": []
                    }
                  ],
                  "meta": {
                    "current_page": 1,
                    "next_page": 2,
                    "prev_page": null,
                    "total_pages": 795,
                    "total_count": 1590
                  }
                }
              }
            }
          }
        },
        "summary": "Search for Credentials (v1)",
        "operationId": "Search for Credentials (v1)",
        "description": "**DEPRECATED:** This is a deprecated API. Please consider switching to the updated v2 Search API for better performance and support.\n\n**Rate Limiting:** For this deprecated endpoint, there is a strict rate limit of 100 requests per 60 seconds, per IP address.",
        "deprecated": true,
        "tags": [
          "Credentials"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "group_id": "example",
                "recipient.name": "John Doe",
                "recipient.email": "person@example.com",
                "recipient.id": "example",
                "recipient.meta_data": {
                  "zip_code": "10459"
                },
                "license_id": "example",
                "meta_data": {
                  "example": "value"
                },
                "start_date": "2022-01-01",
                "end_date": "2022-12-31",
                "start_updated_date": "2022-01-01",
                "end_updated_date": "2022-12-31",
                "page_size": 50,
                "page": 1
              },
              "schema": {
                "type": "object",
                "properties": {
                  "group_id": {
                    "type": "string",
                    "description": "Limit the returned Credentials to a specific group ID."
                  },
                  "recipient.name": {
                    "type": "string",
                    "description": "Limit the returned Credentials to a recipient's name"
                  },
                  "recipient.email": {
                    "type": "string",
                    "description": "Limit the returned Credentials to a specific recipient's email address."
                  },
                  "recipient.id": {
                    "type": "string",
                    "description": "Limit the returned Credentials to a specific recipient user identifier (ID) you set whilst creating Credentials."
                  },
                  "recipient.meta_data": {
                    "type": "object",
                    "properties": {
                      "zip_code": {
                        "type": "string"
                      }
                    },
                    "description": "String key/values for client's own data on recipient"
                  },
                  "license_id": {
                    "type": "string",
                    "description": "Limit the returned Credential to a specific credential id you set whilst creating credential."
                  },
                  "meta_data": {
                    "type": "object",
                    "properties": {
                      "example": {
                        "type": "string"
                      }
                    },
                    "description": "String key/values for client's own data on credential"
                  },
                  "start_date": {
                    "type": "string",
                    "description": "Date after which credentials issued should be return. Format: YYYY-MM-DD (DD/MM/YYYY also works but is deprecated)"
                  },
                  "end_date": {
                    "type": "string",
                    "description": "Date before which credetials issued should be return. Format: YYYY-MM-DD (DD/MM/YYYY also works but is deprecated)"
                  },
                  "start_updated_date": {
                    "type": "string",
                    "description": "Date after which Credentials updated should be returned. Format: YYYY-MM-DD (DD/MM/YYYY also works but is deprecated)"
                  },
                  "end_updated_date": {
                    "type": "string",
                    "description": "Date before which Credetials updated should be returned. Format: YYYY-MM-DD (DD/MM/YYYY also works but is deprecated)"
                  },
                  "page_size": {
                    "type": "number",
                    "description": "The pagination response size, default of 50."
                  },
                  "page": {
                    "type": "number",
                    "description": "The pagination page."
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/credentials/search\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"group_id\": \"example\",\n  \"recipient.name\": \"John Doe\",\n  \"recipient.email\": \"person@example.com\",\n  \"recipient.id\": \"example\",\n  \"recipient.meta_data\": {\n    \"zip_code\": \"10459\"\n  },\n  \"license_id\": \"example\",\n  \"meta_data\": {\n    \"example\": \"value\"\n  },\n  \"start_date\": \"2022-01-01\",\n  \"end_date\": \"2022-12-31\",\n  \"start_updated_date\": \"2022-01-01\",\n  \"end_updated_date\": \"2022-12-31\",\n  \"page_size\": 50,\n  \"page\": 1\n}'"
          }
        ]
      }
    },
    "/v2/credentials/search": {
      "post": {
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "credentials": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "encoded_id": {
                            "type": "string"
                          },
                          "private": {
                            "type": "boolean"
                          },
                          "recipient_opened": {
                            "type": "boolean"
                          },
                          "seo_image": {
                            "type": "string"
                          },
                          "published_on": {
                            "type": "string",
                            "nullable": true
                          },
                          "recipient_email": {
                            "type": "string"
                          },
                          "created_at": {
                            "type": "string"
                          },
                          "recipient_engaged": {
                            "type": "boolean"
                          },
                          "uuid": {
                            "type": "string"
                          },
                          "custom_attributes": {
                            "type": "object",
                            "nullable": true
                          },
                          "issuer_id": {
                            "type": "number"
                          },
                          "recipient_meta_data": {
                            "type": "object",
                            "nullable": true
                          },
                          "updated_at": {
                            "type": "string"
                          },
                          "approve": {
                            "type": "boolean"
                          },
                          "license_id": {
                            "type": "string",
                            "nullable": true
                          },
                          "grade": {
                            "nullable": true
                          },
                          "meta_data": {
                            "type": "object",
                            "nullable": true
                          },
                          "name": {
                            "type": "string"
                          },
                          "issued_on": {
                            "type": "string"
                          },
                          "id": {
                            "type": "number"
                          },
                          "recipient_name": {
                            "type": "string"
                          },
                          "group": {
                            "type": "object",
                            "properties": {
                              "course_name": {
                                "type": "string"
                              },
                              "badge_design_id": {
                                "type": "number",
                                "nullable": true
                              },
                              "certificate_design_id": {
                                "type": "number",
                                "nullable": true
                              },
                              "name": {
                                "type": "string"
                              },
                              "phone_number": {
                                "type": "string",
                                "nullable": true
                              },
                              "id": {
                                "type": "number"
                              }
                            }
                          },
                          "expired_on": {
                            "type": "string",
                            "nullable": true
                          },
                          "recipient_id": {
                            "type": "string",
                            "nullable": true
                          }
                        }
                      }
                    },
                    "meta": {
                      "type": "object",
                      "properties": {
                        "count": {
                          "type": "number"
                        },
                        "from": {
                          "type": "number"
                        },
                        "size": {
                          "type": "number"
                        },
                        "cursor": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "credentials": [
                    {
                      "encoded_id": "qwerty123",
                      "private": false,
                      "recipient_opened": false,
                      "seo_image": "https://api.accredible.com/v1/frontend/credential_seo_image/1234",
                      "published_on": "2025-10-31",
                      "recipient_email": "john.doe@mailinator.test",
                      "created_at": "2025-10-31T08:11:16.390Z",
                      "recipient_engaged": false,
                      "uuid": "a8307173-e4e6-4eb4-991c-56ebe80g4623",
                      "custom_attributes": {},
                      "issuer_id": 1234,
                      "recipient_meta_data": {},
                      "updated_at": "2025-10-31T08:11:16.390Z",
                      "approve": true,
                      "license_id": null,
                      "grade": null,
                      "meta_data": {},
                      "name": "Group / Course Name",
                      "issued_on": "2025-10-31",
                      "id": 12345678,
                      "recipient_name": "John Doe",
                      "group": {
                        "course_name": "Group / Course Name",
                        "badge_design_id": null,
                        "certificate_design_id": 1234,
                        "name": "COURSE_NAME",
                        "id": 12345
                      },
                      "expired_on": null,
                      "recipient_id": null
                    }
                  ],
                  "meta": {
                    "count": 1000,
                    "from": 0,
                    "size": 50,
                    "cursor": "WzEsMC4wXQ=="
                  }
                }
              }
            }
          }
        },
        "summary": "Search for Credentials (v2)",
        "operationId": "Search for Credentials (v2)",
        "description": "This is a faster alternative to the v1 Search API. It also supports operations on the query fields which can allow you to form more complex queries.\n\nFollowing operations are **supported based on the field**. You can also combine operations on multiple fields:\n\n| Operation | Description | Example |\n|-----------|-------------|----------|\n| `eq` | Exact match (default, if nothing specified). | `{\"group.id[eq]\": 1}` or `{\"group.id\": 1}` - Both yield the same result. |\n| `in` | Allows an array of values. | `{\"group.id[in]\": [1, 2]}` |\n| `lt` | Less than. | `{\"issued_on[lt]\": \"2023-12-31\"}` |\n| `gt` | Greater than. | `{\"issued_on[gt]\": \"2023-01-01\"}` |\n| `lte` | Less than equal to. | `{\"expired_on[lte]\": \"2023-12-31\"}` |\n| `gte` | Greater than equal to. | `{\"expired_on[gte]\": \"2023-01-01\"}` |\n\n**Note:** Offset-based pagination using `page.from` + `page.size` supports a maximum of 10,000 results. To retrieve results beyond this limit, use cursor-based pagination with `page.cursor` and `page.size`.\n\n**Note:** Results from this endpoint do **not** carry the `skills` field that the other credential endpoints return. To read a credential's framework skills, fetch it with [View a Credential](#operation/View%20a%20Credential).",
        "tags": [
          "Credentials"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "examples": {
                "Offset-based pagination": {
                  "value": {
                    "query": {
                      "group.id[in]": [1, 2],
                      "recipient_name": "John Doe",
                      "approve": true,
                      "recipient_email": "person@example.com",
                      "recipient_id": "example",
                      "recipient_meta_data": {"example": "value"},
                      "license_id": "example",
                      "meta_data": {"example": "value"},
                      "custom_attributes": {"example": "value"},
                      "issued_on[gte]": "2023-01-01",
                      "issued_on[lt]": "2024-01-01",
                      "updated_at[gte]": "2023-01-01",
                      "created_at[gte]": "2023-01-01"
                    },
                    "sort": {
                      "issued_on": "desc"
                    },
                    "page": {
                      "from": 0,
                      "size": 50
                    }
                  }
                },
                "Cursor-based pagination": {
                  "value": {
                    "query": {
                      "group.id[in]": [1, 2],
                      "recipient_name": "John Doe",
                      "approve": true,
                      "recipient_email": "person@example.com",
                      "recipient_id": "example",
                      "recipient_meta_data": {"example": "value"},
                      "license_id": "example",
                      "meta_data": {"example": "value"},
                      "custom_attributes": {"example": "value"},
                      "issued_on[gte]": "2023-01-01",
                      "issued_on[lt]": "2024-01-01",
                      "updated_at[gte]": "2023-01-01",
                      "created_at[gte]": "2023-01-01"
                    },
                    "sort": {
                      "issued_on": "desc"
                    },
                    "page": {
                      "cursor": "WzEsMC4wXQ==",
                      "size": 50
                    }
                  }
                }
              },
              "schema": {
                "type": "object",
                "required": [
                  "query"
                ],
                "properties": {
                  "query": {
                    "type": "object",
                    "properties": {
                      "uuid": {
                        "type": "string",
                        "description": "Limit the returned credentials to a specific UUID.\n\nSupported operations - `eq`, `in`"
                      },
                      "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": "integer",
                        "description": "Number of records to skip (offset-based pagination). Limited to the first 10,000 results. Cannot be used together with `cursor`."
                      },
                      "size": {
                        "type": "integer",
                        "description": "The number of records to be returned. Default is 50"
                      },
                      "cursor": {
                        "type": "string",
                        "description": "An opaque pagination token returned by a previous response. Use this to retrieve the next page of results. Cannot be used together with `from`."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v2/credentials/search\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"query\": {\n    \"group.id[in]\": [1, 2],\n    \"recipient_name\": \"John Doe\",\n    \"approve\": true,\n    \"recipient_email\": \"person@example.com\",\n    \"recipient_id\": \"example\",\n    \"recipient_meta_data\": {},\n    \"license_id\": \"example\",\n    \"meta_data\": { \"example\": \"value\" },\n    \"custom_attributes\": { \"example\": \"value\" },\n    \"issued_on[gte]\": \"2023-01-01\",\n    \"issued_on[lt]\": \"2024-01-01\",\n    \"updated_at[gte]\": \"2023-01-01\",\n    \"created_at[gte]\": \"2023-01-01\"\n  },\n  \"sort\": {\n    \"issued_on\": \"desc\"\n  },\n  \"page\": {\n    \"from\": 0,\n    \"size\": 50\n  }\n}'"
          }
        ]
      }
    },
    "/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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/credentials/generate_pdf\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"credential_ids\": [\n    \"10000005\",\n    \"10272642\",\n    \"10299775\"\n  ]\n}'"
          }
        ]
      }
    },
    "/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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/credentials/generate_single_pdf/12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\""
          }
        ]
      }
    },
    "/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"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "ID of the Credential in the form of an integer or string for the particular Credential requested.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "issuer_id",
            "in": "query",
            "description": "ID of your issuer account. Ask us to get this or use the endpont view-issuer-details.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X GET \\\n  \"https://api.accredible.com/v1/issuer/credential_redirect?id=12345&issuer_id=12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      }
    },
    "/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 (v1)",
        "operationId": "Verify BlockChain Credential (v1)",
        "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"
            }
          },
          {
            "name": "key",
            "in": "query",
            "description": "If private credentials provide a key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X GET \\\n  \"https://api.accredible.com/v1/credentials/blockchain_data/12345?key=12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      }
    },
    "/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": "<div></div>"
                          }
                        },
                        "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": "        <div\n          style=\"\n            background-color:transparent;\n            padding:6px;\n            display:inline-flex;\n            align-items:center;\n            flex-direction:column;\n            font-family: sans-serif, Helvetica, Arial;\n          \"\n        >\n          <h1>Jewell White Esq.</h1>\n          <p>--------------------------------</p>\n          <h3>Accounting</h3>\n          <p>Business-focused responsive interface</p>\n          <p>--------------------------------</p>\n          <p>Issued By</p>\n          <p>Muller, Walsh and Lockman</p>\n          <p>--------------------------------</p>\n          <p>Issued On</p>\n          <p>October 7th, 2022</p>\n          <p>--------------------------------</p>\n          <p>Expires On</p>\n          <p>-</p>\n          <p>--------------------------------</p>\n        </div>\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 (v2)",
        "operationId": "Verify BlockChain Credential (v2)",
        "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"
                }
              },
              {
                "name": "key",
                "in": "query",
                "description": "If private credentials provide a key",
                "required": false,
                "schema": {
                  "type": "string"
                }
              }
        ],
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X GET \\\n  \"https://api.accredible.com/v2/credentials/12345/blockchain_data?key=12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      }
    },
    "/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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/credentials/analytics/12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\""
          }
        ]
      }
    },
    "/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",
        "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": {
                  "evidence_item": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string",
                        "description": "Title text for the evidence item. This is displayed on a Credential."
                      },
                      "category": {
                        "type": "string",
                        "enum": ["file", "url", "video", "grade", "transcript"],
                        "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 transcript 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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/credentials/12345/evidence_items\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"evidence_item\": {\n    \"description\": \"Example file\",\n    \"file\": \"https://s3.amazonaws.com/accredible_api_evidence_items/files/44/original/1410743692307_Hours_Tracking.pdf\",\n    \"category\": \"file\"\n  }\n}'"
          }
        ]
      }
    },
    "/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 an Evidence Item",
        "operationId": "View an Evidence Item",
        "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X GET \\\n  \"https://api.accredible.com/v1/credentials/12345/evidence_items/1234\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      },
      "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 an Evidence Item",
        "operationId": "Update an Evidence Item",
        
        "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": {
                  "evidence_item": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string",
                        "description": "Title text for the evidence item. This is displayed on a Credential."
                      },
                      "category": {
                        "type": "string",
                        "enum": ["file", "url", "video", "grade", "transcript"],
                        "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 transcript 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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X PUT \\\n  \"https://api.accredible.com/v1/credentials/12345/evidence_items/1234\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"evidence_item\": {\n    \"description\": \"updated description\"\n  }\n}'"
          }
        ]
      },
      "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 an Evidence Item",
        "operationId": "Delete an Evidence Item",
        
        "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X DELETE \\\n  \"https://api.accredible.com/v1/credentials/12345/evidence_items/1234\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      }
    },
    "/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"
                  },
                  "relationship": "managed"
                }
              },
              "schema": {
                "type": "object",
                "properties": {
                  "reference": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string",
                        "description": "The reference comments / text."
                      },
                      "relationship": {
                        "type": "string",
                        "enum": ["taught", "managed", "mentored", "worked", "studied", "friends", "stranger", "professor"],
                        "description": "Must be one of: \"taught\", \"managed\", \"mentored\", \"worked\", \"studied\", \"friends\", \"stranger\", \"professor\"."
                      },
                      "referee": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string",
                            "description": "Name of the person providing the reference."
                          },
                          "email": {
                            "type": "string",
                            "description": "Email of the person providing the reference."
                          },
                          "avatar": {
                            "type": "string",
                            "description": "URL of image of the person providing the reference."
                          },
                          "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/credentials/12345/references\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"reference\": {\n    \"description\": \"John worked hard on this course and provided exemplary understanding of the core concepts\",\n    \"referee\": {\n      \"name\": \"Jane Doe\",\n      \"email\": \"person@example.com\"\n    },\n    \"relationship\": \"managed\"\n  }\n}'"
          }
        ]
      }
    },
    "/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",
        "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X GET \\\n  \"https://api.accredible.com/v1/credentials/12345/references/1234\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      },
      "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",
        "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": {
                  "reference": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string",
                        "description": "The reference comments / text."
                      },
                      "relationship": {
                        "type": "string",
                        "enum": ["taught", "managed", "mentored", "worked", "studied", "friends", "stranger", "professor"],
                        "description": "Must be one of: \"taught\", \"managed\", \"mentored\", \"worked\", \"studied\", \"friends\", \"stranger\", \"professor\"."
                      },
                      "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X PUT \\\n  \"https://api.accredible.com/v1/credentials/12345/references/1234\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"reference\": {\n    \"description\": \"my new reference text\"\n  }\n}'"
          }
        ]
      },
      "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",
        "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X DELETE \\\n  \"https://api.accredible.com/v1/credentials/12345/references/1234\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      }
    },
    "/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"
                        },
                        "auto_expiry_unit": {
                          "type": "string",
                          "enum": ["years", "months"]
                        },
                        "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"
                            }
                          }
                        },
                        "achievement_type": {
                          "type": "string"
                        },
                        "collections": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              },
                              "description": {
                                "type": "string",
                                "nullable": true
                              }
                            },
                            "required": [
                              "id",
                              "name",
                              "description"
                            ]
                          }
                        },
                        "earning_criteria": {
                          "type": "array",
                          "description": "Criteria the recipient must satisfy to earn this credential, ordered by `position`.",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "kind": {
                                "type": "string",
                                "enum": [
                                  "achievement",
                                  "certificate",
                                  "competency",
                                  "completion",
                                  "course",
                                  "degree",
                                  "exam",
                                  "experience",
                                  "knowledge",
                                  "license",
                                  "participation",
                                  "reading",
                                  "skill",
                                  "specialization",
                                  "other"
                                ]
                              },
                              "text": {
                                "type": "string"
                              },
                              "required": {
                                "type": "boolean"
                              },
                              "position": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "id",
                              "kind",
                              "text",
                              "required",
                              "position"
                            ]
                          }
                        },
                        "skill_framework": {
                          "type": "object",
                          "description": "The Skill Framework this Group's skills come from, with the version pinned on the Group nested under it.\n\n`null` when the Group uses free-text `learning_outcomes` instead. Present whenever the Group has a framework version pinned — **including a Group that has a framework but no skills attached**, so an object here does not imply that `skills` is non-empty.\n\n`skill_framework.version.id` is the only place a response reports the Group's pinned version id, and it is the value to send back as `skill_framework_version_id` when you write. Retiring a version does not move a Group off it; the version changes only when the Group is explicitly migrated to a newly published one, and that applies retroactively to every credential already issued from the Group. See the [Skills Frameworks](#tag/Skills-Frameworks) endpoints.",
                          "nullable": true,
                          "properties": {
                            "id": {
                              "type": "number"
                            },
                            "name": {
                              "type": "string"
                            },
                            "source_type": {
                              "type": "string",
                              "description": "`external` for a framework maintained by Accredible, `custom` for one uploaded by your organization.",
                              "enum": [
                                "external",
                                "custom"
                              ]
                            },
                            "taxonomy": {
                              "type": "string",
                              "description": "The published taxonomy an external framework comes from: `ONET`, `ESCO` or `NACE`. Always `null` for custom frameworks.",
                              "nullable": true
                            },
                            "provider": {
                              "type": "string",
                              "description": "The organization that publishes the framework.",
                              "nullable": true
                            },
                            "description": {
                              "type": "string",
                              "nullable": true
                            },
                            "attribution": {
                              "type": "object",
                              "description": "Attribution that the framework's licence requires you to display wherever you show its skills.",
                              "properties": {
                                "text": {
                                  "type": "string",
                                  "nullable": true
                                },
                                "url": {
                                  "type": "string",
                                  "nullable": true
                                }
                              }
                            },
                            "version": {
                              "type": "object",
                              "description": "The framework version pinned on this Group — what it is actually issuing against, not the framework's latest.\n\n`status` is the version's own status. Unlike [View all Skill Frameworks](#operation/View%20all%20Skill%20Frameworks), a version that is mid-retirement for your Department is not re-presented as `retired` here: that endpoint answers whether you can still select the version, whereas a Group records what it already uses.",
                              "properties": {
                                "id": {
                                  "type": "number"
                                },
                                "version": {
                                  "type": "string"
                                },
                                "status": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        },
                        "skills": {
                          "type": "array",
                          "description": "Framework skills attached to this Group, ordered by name. Empty when the Group uses free-text `learning_outcomes`, and when it has a framework selected but no skills that can be tagged — unlike `skill_framework`, this is never `null`.\n\nIdentical to the `skills` array on [Credential](#tag/Credentials) responses: both are built from the same payload, so the two surfaces cannot disagree.\n\nThere is one entry per placement in the framework, so a skill sitting at two positions in the taxonomy appears as two entries — the same `id` with different `breadcrumbs`. **Do not key this array by `id`.**\n\nThis is the read shape, and it differs from the write shape. To set a Group's skills you send `framework_skills` as `{ id, breadcrumb_ids }` pairs; see [Update a Group](#operation/Update%20a%20Group).",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              },
                              "identifier": {
                                "type": "string",
                                "description": "The framework's own external identifier for the skill — an O*NET element id, an ESCO URI, or whatever a custom framework was uploaded with. This is the field to match against your own systems. `null` when the framework does not provide one.",
                                "nullable": true
                              },
                              "description": {
                                "type": "string",
                                "nullable": true
                              },
                              "url": {
                                "type": "string",
                                "description": "Link to the skill in the publisher's own taxonomy, when the framework provides one.",
                                "nullable": true
                              },
                              "breadcrumbs": {
                                "type": "array",
                                "description": "Where this skill sits in the framework: its ancestors from the root down to its immediate parent, with the skill itself excluded. Empty for a skill that sits at the root of the framework.\n\nEach node carries its own external `identifier` alongside its `id` and `name`. To write this placement back on the Group, send these `id` values in the same order as `framework_skills[].breadcrumb_ids`.",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "number"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "identifier": {
                                      "type": "string",
                                      "description": "The ancestor's own external identifier in the framework, when it has one.",
                                      "nullable": true
                                    }
                                  },
                                  "required": [
                                    "id",
                                    "name",
                                    "identifier"
                                  ]
                                }
                              }
                            },
                            "required": [
                              "id",
                              "name",
                              "identifier",
                              "description",
                              "url",
                              "breadcrumbs"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "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,
                    "auto_expiry_unit": "years",
                    "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"
                    },
                    "achievement_type": "Certificate",
                    "collections": [
                      {
                        "id": 1,
                        "name": "one",
                        "description": null
                      },
                      {
                        "id": 2,
                        "name": "two",
                        "description": "description example"
                      }
                    ],
                    "earning_criteria": [
                      {
                        "id": "8f3c0c8c-5e1b-4f2a-9c4a-1f2c5c3a0001",
                        "kind": "course",
                        "text": "Complete the Intro to Programming course",
                        "required": true,
                        "position": 1
                      },
                      {
                        "id": "8f3c0c8c-5e1b-4f2a-9c4a-1f2c5c3a0002",
                        "kind": "exam",
                        "text": "Pass the final exam with 70% or higher",
                        "required": true,
                        "position": 2
                      }
                    ],
                    "skill_framework": {
                      "id": 44,
                      "name": "O*NET Skills",
                      "source_type": "external",
                      "taxonomy": "ONET",
                      "provider": "U.S. Department of Labor",
                      "description": null,
                      "attribution": {
                        "text": "O*NET is sponsored by the U.S. Department of Labor",
                        "url": "https://www.onetonline.org/"
                      },
                      "version": {
                        "id": 512,
                        "version": "30.0",
                        "status": "active"
                      }
                    },
                    "skills": [
                      {
                        "id": 59302,
                        "name": "Active Listening",
                        "identifier": "2.A.1.b",
                        "description": "Giving full attention to what other people are saying, taking time to understand the points being made.",
                        "url": "https://www.onetonline.org/find/descriptor/result/2.A.1.b",
                        "breadcrumbs": [
                          {
                            "id": 59298,
                            "name": "Worker Requirements",
                            "identifier": "2"
                          },
                          {
                            "id": 59299,
                            "name": "Basic Skills",
                            "identifier": "2.A"
                          },
                          {
                            "id": 59300,
                            "name": "Content",
                            "identifier": "2.A.1"
                          }
                        ]
                      },
                      {
                        "id": 59301,
                        "name": "Reading Comprehension",
                        "identifier": "2.A.1.a",
                        "description": "Understanding written sentences and paragraphs in work related documents.",
                        "url": "https://www.onetonline.org/find/descriptor/result/2.A.1.a",
                        "breadcrumbs": [
                          {
                            "id": 59298,
                            "name": "Worker Requirements",
                            "identifier": "2"
                          },
                          {
                            "id": 59299,
                            "name": "Basic Skills",
                            "identifier": "2.A"
                          },
                          {
                            "id": 59300,
                            "name": "Content",
                            "identifier": "2.A.1"
                          }
                        ]
                      }
                    ]
                  }
                }
              }
            }
          },
          "207": {
            "description": "Multi-Status - the Group was created, but one or more framework skills could not be attached. The Group always exists; only skill attachment is partial.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "group": {
                      "type": "object",
                      "description": "The Group as it was saved. Every field is the same as in the `200` response — read `skill_framework` and `skills` to see what was actually attached."
                    },
                    "errors": {
                      "type": "array",
                      "description": "One entry per problem. More than one can be returned: input-shape problems come first, then `skills_not_attached`, then `breadcrumb_ids_invalid`. See [Skills Frameworks Error Handling](#section/Errors/Skills-Frameworks-Error-Handling) for what each code means.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "framework_params_incomplete",
                              "plan_not_entitled",
                              "version_not_found",
                              "framework_not_available",
                              "version_retired",
                              "framework_skills_malformed",
                              "skills_not_attached",
                              "breadcrumb_ids_invalid"
                            ]
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "code",
                          "message"
                        ]
                      }
                    }
                  }
                },
                "example": {
                  "group": {
                    "id": 12472,
                    "name": "new group",
                    "course_name": "Intro to Programming",
                    "learning_outcomes": null,
                    "skill_framework": {
                      "id": 44,
                      "name": "O*NET Skills",
                      "source_type": "external",
                      "taxonomy": "ONET",
                      "provider": "U.S. Department of Labor",
                      "description": null,
                      "attribution": {
                        "text": "O*NET is sponsored by the U.S. Department of Labor",
                        "url": "https://www.onetonline.org/"
                      },
                      "version": {
                        "id": 512,
                        "version": "30.0",
                        "status": "active"
                      }
                    },
                    "skills": [
                      {
                        "id": 59301,
                        "name": "Reading Comprehension",
                        "identifier": "2.A.1.a",
                        "description": "Understanding written sentences and paragraphs in work related documents.",
                        "url": "https://www.onetonline.org/find/descriptor/result/2.A.1.a",
                        "breadcrumbs": [
                          {
                            "id": 59298,
                            "name": "Worker Requirements",
                            "identifier": "2"
                          },
                          {
                            "id": 59299,
                            "name": "Basic Skills",
                            "identifier": "2.A"
                          },
                          {
                            "id": 59300,
                            "name": "Content",
                            "identifier": "2.A.1"
                          }
                        ]
                      }
                    ]
                  },
                  "errors": [
                    {
                      "code": "skills_not_attached",
                      "message": "One or more framework skills were not attached — they do not belong to framework version 512 or are not taggable: 999999991"
                    }
                  ]
                }
              }
            }
          }
        },
        "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,
                  "auto_expiry_unit": "years",
                  "signup_url_show": false,
                  "signup_url": "http://www.example.com",
                  "course_link_show": false,
                  "organization_link_show": false,
                  "skill_category_id": 1,
                  "achievement_type": "Certificate",
                  "collections": [
                    {
                      "id": 1
                    },
                    {
                      "id": 2
                    }
                  ],
                  "earning_criteria": [
                    {
                      "kind": "course",
                      "text": "Complete the Intro to Programming course",
                      "required": true,
                      "position": 1
                    },
                    {
                      "kind": "exam",
                      "text": "Pass the final exam with 70% or higher",
                      "required": true,
                      "position": 2
                    }
                  ],
                  "skill_framework_version_id": 512,
                  "framework_skills": [
                    {
                      "id": 59301,
                      "breadcrumb_ids": [
                        59298,
                        59299,
                        59300
                      ]
                    },
                    {
                      "id": 59302,
                      "breadcrumb_ids": [
                        59298,
                        59299,
                        59300
                      ]
                    }
                  ]
                }
              },
              "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.\n\nTo use skills from a recognized taxonomy instead of free text, see `framework_skills` and the [Skills Frameworks](#tag/Skills-Frameworks) endpoints. Both can be set on the same Group; where a credential displays a single skills list, framework skills take precedence."
                  },
                  "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 or months (see `auto_expiry_unit`) 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."
                  },
                  "auto_expiry_unit": {
                    "type": "string",
                    "enum": ["years", "months"],
                    "description": "The unit of time for `auto_expiry`. Defaults to `years` if not supplied and `auto_expiry` exists."
                  },
                  "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"
                  },
                  "achievement_type": {
                    "type": "string",
                    "description": "The type of achievement, for example 'Award' or 'Certification'. The supported values are listed here https://www.imsglobal.org/spec/ob/v3p0#achievementtype-enumeration"
                  },
                  "earning_criteria": {
                    "type": "array",
                    "description": "Optional list of criteria the recipient must satisfy to earn this credential. Each item creates a new criterion on the group.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "kind": {
                          "type": "string",
                          "description": "Category of the criterion.",
                          "enum": [
                            "achievement",
                            "certificate",
                            "competency",
                            "completion",
                            "course",
                            "degree",
                            "exam",
                            "experience",
                            "knowledge",
                            "license",
                            "participation",
                            "reading",
                            "skill",
                            "specialization",
                            "other"
                          ]
                        },
                        "text": {
                          "type": "string",
                          "description": "Human-readable description of the criterion. Supports a limited set of HTML tags: `<a>` (with `href`, `title`, `target`, `rel`), `<p>`, `<br>`, `<hr>`, `<ul>`, `<ol>`, `<li>`, `<strong>`/`<b>`, `<em>`/`<i>`, `<u>`, `<sub>`, `<sup>`. Other tags and attributes are stripped on save."
                        },
                        "required": {
                          "type": "boolean",
                          "description": "Whether the recipient must satisfy this criterion. Defaults to `true`."
                        },
                        "position": {
                          "type": "number",
                          "description": "Ordering within the group (1-based). Defaults to the next available position if omitted."
                        }
                      },
                      "required": [
                        "kind",
                        "text"
                      ]
                    }
                  },
                  "skill_framework_version_id": {
                    "type": "number",
                    "description": "Id of the Skill Framework version to take skills from, as returned in a framework's `versions` array by [View all Skill Frameworks](#operation/View%20all%20Skill%20Frameworks). Must be sent together with `framework_skills`.\n\nOmit both this and `framework_skills` to create a Group that uses free-text `learning_outcomes` instead.\n\nThis key is write-only. The response reports the Group's pinned version as `skill_framework.version.id` instead, and its skills as `skills`.",
                    "nullable": true
                  },
                  "framework_skills": {
                    "type": "array",
                    "description": "Skills from `skill_framework_version_id` to attach to the Group, each entry a `{ id, breadcrumb_ids }` pair. Must be sent together with `skill_framework_version_id` and contain at least one skill — sending only one of the two keys, or an empty array, attaches nothing and returns a `207` with a `framework_params_incomplete` error.\n\nEvery valid skill is attached; every invalid one is skipped and itemized in the `errors` array of a `207` response. The Group itself is always created, so read `skills` back from the response to see what was attached.",
                    "nullable": true,
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "number",
                          "description": "Id of the skill, as returned by [Search Skills in a Framework Version](#operation/Search%20Skills%20in%20a%20Framework%20Version)."
                        },
                        "breadcrumb_ids": {
                          "type": "array",
                          "description": "Which position in the framework this skill is being attached at: the ids of its ancestors, from the root down to its immediate parent. Copy one of the trails from the skill's `breadcrumbs` in the search response, in the same order.\n\nOnly omit this, or send `[]`, for a skill that sits at the root of the framework. For a skill that has a parent an empty trail is rejected, and that skill is not attached.\n\nTo attach the same skill at two different positions in the framework, send it twice with different `breadcrumb_ids`.",
                          "items": {
                            "type": "number"
                          }
                        }
                      },
                      "required": [
                        "id"
                      ]
                    }
                  }
                },
                "required": [
                  "name",
                  "course_name",
                  "course_description"
                ]
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/issuer/groups\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"group\": {\n    \"name\": \"new group\",\n    \"course_name\": \"Intro to Prgramming\",\n    \"course_description\": \"Description of course\",\n    \"course_link\": \"http://www.example.com\",\n    \"language\": \"en\",\n    \"attach_pdf\": true,\n    \"design_id\": null,\n    \"blockchain\": false,\n    \"certificate_design_id\": null,\n    \"badge_design_id\": null,\n    \"primary_design_id\": null,\n    \"department_id\": 123,\n    \"meta_data\": {\n      \"batch_id\": \"271\"\n    },\n    \"learning_outcomes\": [\n      \"Reading Books\",\n      \"Writing Essays\"\n    ],\n    \"generate_private_credential\": false,\n    \"auto_expiry\": 1,\n    \"auto_expiry_unit\": \"years\",\n    \"signup_url_show\": false,\n    \"signup_url\": \"http://www.example.com\",\n    \"course_link_show\": false,\n    \"organization_link_show\": false,\n    \"skill_category_id\": 1,\n    \"collections\": [\n      {\n        \"id\": 1\n      },\n      {\n        \"id\": 2\n      }\n    ],\n    \"earning_criteria\": [\n      {\n        \"kind\": \"course\",\n        \"text\": \"Complete the Intro to Programming course\",\n        \"required\": true,\n        \"position\": 1\n      },\n      {\n        \"kind\": \"exam\",\n        \"text\": \"Pass the final exam with 70% or higher\",\n        \"required\": true,\n        \"position\": 2\n      }\n    ],\n    \"skill_framework_version_id\": 512,\n    \"framework_skills\": [\n      {\n        \"id\": 59301,\n        \"breadcrumb_ids\": [\n          59298,\n          59299,\n          59300\n        ]\n      },\n      {\n        \"id\": 59302,\n        \"breadcrumb_ids\": [\n          59298,\n          59299,\n          59300\n        ]\n      }\n    ]\n  }\n}'"
          }
        ]
      }
    },
    "/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"
                        },
                        "auto_expiry_unit": {
                          "type": "string",
                          "enum": ["years", "months"]
                        },
                        "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"
                            ]
                          }
                        },
                        "earning_criteria": {
                          "type": "array",
                          "description": "Criteria the recipient must satisfy to earn this credential, ordered by `position`. Returns an empty array when the group has none.",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "kind": {
                                "type": "string",
                                "description": "Category of the criterion.",
                                "enum": [
                                  "achievement",
                                  "certificate",
                                  "competency",
                                  "completion",
                                  "course",
                                  "degree",
                                  "exam",
                                  "experience",
                                  "knowledge",
                                  "license",
                                  "participation",
                                  "reading",
                                  "skill",
                                  "specialization",
                                  "other"
                                ]
                              },
                              "text": {
                                "type": "string",
                                "description": "Human-readable description of the criterion. Supports a limited set of HTML tags: `<a>` (with `href`, `title`, `target`, `rel`), `<p>`, `<br>`, `<hr>`, `<ul>`, `<ol>`, `<li>`, `<strong>`/`<b>`, `<em>`/`<i>`, `<u>`, `<sub>`, `<sup>`. Other tags and attributes are stripped on save."
                              },
                              "required": {
                                "type": "boolean"
                              },
                              "position": {
                                "type": "number",
                                "description": "Ordering within the group (1-based)."
                              }
                            },
                            "required": [
                              "id",
                              "kind",
                              "text",
                              "required",
                              "position"
                            ]
                          }
                        },
                        "skill_framework": {
                          "type": "object",
                          "description": "The Skill Framework this Group's skills come from, with the version pinned on the Group nested under it.\n\n`null` when the Group uses free-text `learning_outcomes` instead. Present whenever the Group has a framework version pinned — **including a Group that has a framework but no skills attached**, so an object here does not imply that `skills` is non-empty.\n\n`skill_framework.version.id` is the only place a response reports the Group's pinned version id, and it is the value to send back as `skill_framework_version_id` when you write. Retiring a version does not move a Group off it; the version changes only when the Group is explicitly migrated to a newly published one, and that applies retroactively to every credential already issued from the Group. See the [Skills Frameworks](#tag/Skills-Frameworks) endpoints.",
                          "nullable": true,
                          "properties": {
                            "id": {
                              "type": "number"
                            },
                            "name": {
                              "type": "string"
                            },
                            "source_type": {
                              "type": "string",
                              "description": "`external` for a framework maintained by Accredible, `custom` for one uploaded by your organization.",
                              "enum": [
                                "external",
                                "custom"
                              ]
                            },
                            "taxonomy": {
                              "type": "string",
                              "description": "The published taxonomy an external framework comes from: `ONET`, `ESCO` or `NACE`. Always `null` for custom frameworks.",
                              "nullable": true
                            },
                            "provider": {
                              "type": "string",
                              "description": "The organization that publishes the framework.",
                              "nullable": true
                            },
                            "description": {
                              "type": "string",
                              "nullable": true
                            },
                            "attribution": {
                              "type": "object",
                              "description": "Attribution that the framework's licence requires you to display wherever you show its skills.",
                              "properties": {
                                "text": {
                                  "type": "string",
                                  "nullable": true
                                },
                                "url": {
                                  "type": "string",
                                  "nullable": true
                                }
                              }
                            },
                            "version": {
                              "type": "object",
                              "description": "The framework version pinned on this Group — what it is actually issuing against, not the framework's latest.\n\n`status` is the version's own status. Unlike [View all Skill Frameworks](#operation/View%20all%20Skill%20Frameworks), a version that is mid-retirement for your Department is not re-presented as `retired` here: that endpoint answers whether you can still select the version, whereas a Group records what it already uses.",
                              "properties": {
                                "id": {
                                  "type": "number"
                                },
                                "version": {
                                  "type": "string"
                                },
                                "status": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        },
                        "skills": {
                          "type": "array",
                          "description": "Framework skills attached to this Group, ordered by name. Empty when the Group uses free-text `learning_outcomes`, and when it has a framework selected but no skills that can be tagged — unlike `skill_framework`, this is never `null`.\n\nIdentical to the `skills` array on [Credential](#tag/Credentials) responses: both are built from the same payload, so the two surfaces cannot disagree.\n\nThere is one entry per placement in the framework, so a skill sitting at two positions in the taxonomy appears as two entries — the same `id` with different `breadcrumbs`. **Do not key this array by `id`.**\n\nThis is the read shape, and it differs from the write shape. To set a Group's skills you send `framework_skills` as `{ id, breadcrumb_ids }` pairs; see [Update a Group](#operation/Update%20a%20Group).",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              },
                              "identifier": {
                                "type": "string",
                                "description": "The framework's own external identifier for the skill — an O*NET element id, an ESCO URI, or whatever a custom framework was uploaded with. This is the field to match against your own systems. `null` when the framework does not provide one.",
                                "nullable": true
                              },
                              "description": {
                                "type": "string",
                                "nullable": true
                              },
                              "url": {
                                "type": "string",
                                "description": "Link to the skill in the publisher's own taxonomy, when the framework provides one.",
                                "nullable": true
                              },
                              "breadcrumbs": {
                                "type": "array",
                                "description": "Where this skill sits in the framework: its ancestors from the root down to its immediate parent, with the skill itself excluded. Empty for a skill that sits at the root of the framework.\n\nEach node carries its own external `identifier` alongside its `id` and `name`. To write this placement back on the Group, send these `id` values in the same order as `framework_skills[].breadcrumb_ids`.",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "number"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "identifier": {
                                      "type": "string",
                                      "description": "The ancestor's own external identifier in the framework, when it has one.",
                                      "nullable": true
                                    }
                                  },
                                  "required": [
                                    "id",
                                    "name",
                                    "identifier"
                                  ]
                                }
                              }
                            },
                            "required": [
                              "id",
                              "name",
                              "identifier",
                              "description",
                              "url",
                              "breadcrumbs"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "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,
                    "auto_expiry_unit": "years",
                    "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"
                    },
                    "achievement_type": null,
                    "collections": [
                      {
                        "id": 1,
                        "name": "one",
                        "description": null
                      },
                      {
                        "id": 2,
                        "name": "two",
                        "description": "description example"
                      }
                    ],
                    "earning_criteria": [
                      {
                        "id": "8f3c0c8c-5e1b-4f2a-9c4a-1f2c5c3a0001",
                        "kind": "course",
                        "text": "Complete the Intro to Programming course",
                        "required": true,
                        "position": 1
                      },
                      {
                        "id": "8f3c0c8c-5e1b-4f2a-9c4a-1f2c5c3a0002",
                        "kind": "exam",
                        "text": "Pass the final exam with 70% or higher",
                        "required": true,
                        "position": 2
                      }
                    ],
                    "skill_framework": {
                      "id": 44,
                      "name": "O*NET Skills",
                      "source_type": "external",
                      "taxonomy": "ONET",
                      "provider": "U.S. Department of Labor",
                      "description": null,
                      "attribution": {
                        "text": "O*NET is sponsored by the U.S. Department of Labor",
                        "url": "https://www.onetonline.org/"
                      },
                      "version": {
                        "id": 512,
                        "version": "30.0",
                        "status": "active"
                      }
                    },
                    "skills": [
                      {
                        "id": 59302,
                        "name": "Active Listening",
                        "identifier": "2.A.1.b",
                        "description": "Giving full attention to what other people are saying, taking time to understand the points being made.",
                        "url": "https://www.onetonline.org/find/descriptor/result/2.A.1.b",
                        "breadcrumbs": [
                          {
                            "id": 59298,
                            "name": "Worker Requirements",
                            "identifier": "2"
                          },
                          {
                            "id": 59299,
                            "name": "Basic Skills",
                            "identifier": "2.A"
                          },
                          {
                            "id": 59300,
                            "name": "Content",
                            "identifier": "2.A.1"
                          }
                        ]
                      },
                      {
                        "id": 59301,
                        "name": "Reading Comprehension",
                        "identifier": "2.A.1.a",
                        "description": "Understanding written sentences and paragraphs in work related documents.",
                        "url": "https://www.onetonline.org/find/descriptor/result/2.A.1.a",
                        "breadcrumbs": [
                          {
                            "id": 59298,
                            "name": "Worker Requirements",
                            "identifier": "2"
                          },
                          {
                            "id": 59299,
                            "name": "Basic Skills",
                            "identifier": "2.A"
                          },
                          {
                            "id": 59300,
                            "name": "Content",
                            "identifier": "2.A.1"
                          }
                        ]
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X GET \\\n  \"https://api.accredible.com/v1/issuer/groups/12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      },
      "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"
                        },
                        "auto_expiry_unit": {
                          "type": "string",
                          "enum": ["years", "months"]
                        },
                        "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"
                            }
                          }
                        },
                        "achievement_type": {
                          "type": "string"
                        },
                        "collections": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              },
                              "description": {
                                "type": "string",
                                "nullable": true
                              }
                            },
                            "required": [
                              "id",
                              "name",
                              "description"
                            ]
                          }
                        },
                        "earning_criteria": {
                          "type": "array",
                          "description": "Criteria the recipient must satisfy to earn this credential, ordered by `position`.",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "kind": {
                                "type": "string",
                                "enum": [
                                  "achievement",
                                  "certificate",
                                  "competency",
                                  "completion",
                                  "course",
                                  "degree",
                                  "exam",
                                  "experience",
                                  "knowledge",
                                  "license",
                                  "participation",
                                  "reading",
                                  "skill",
                                  "specialization",
                                  "other"
                                ]
                              },
                              "text": {
                                "type": "string"
                              },
                              "required": {
                                "type": "boolean"
                              },
                              "position": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "id",
                              "kind",
                              "text",
                              "required",
                              "position"
                            ]
                          }
                        },
                        "skill_framework": {
                          "type": "object",
                          "description": "The Skill Framework this Group's skills come from, with the version pinned on the Group nested under it.\n\n`null` when the Group uses free-text `learning_outcomes` instead. Present whenever the Group has a framework version pinned — **including a Group that has a framework but no skills attached**, so an object here does not imply that `skills` is non-empty.\n\n`skill_framework.version.id` is the only place a response reports the Group's pinned version id, and it is the value to send back as `skill_framework_version_id` when you write. Retiring a version does not move a Group off it; the version changes only when the Group is explicitly migrated to a newly published one, and that applies retroactively to every credential already issued from the Group. See the [Skills Frameworks](#tag/Skills-Frameworks) endpoints.",
                          "nullable": true,
                          "properties": {
                            "id": {
                              "type": "number"
                            },
                            "name": {
                              "type": "string"
                            },
                            "source_type": {
                              "type": "string",
                              "description": "`external` for a framework maintained by Accredible, `custom` for one uploaded by your organization.",
                              "enum": [
                                "external",
                                "custom"
                              ]
                            },
                            "taxonomy": {
                              "type": "string",
                              "description": "The published taxonomy an external framework comes from: `ONET`, `ESCO` or `NACE`. Always `null` for custom frameworks.",
                              "nullable": true
                            },
                            "provider": {
                              "type": "string",
                              "description": "The organization that publishes the framework.",
                              "nullable": true
                            },
                            "description": {
                              "type": "string",
                              "nullable": true
                            },
                            "attribution": {
                              "type": "object",
                              "description": "Attribution that the framework's licence requires you to display wherever you show its skills.",
                              "properties": {
                                "text": {
                                  "type": "string",
                                  "nullable": true
                                },
                                "url": {
                                  "type": "string",
                                  "nullable": true
                                }
                              }
                            },
                            "version": {
                              "type": "object",
                              "description": "The framework version pinned on this Group — what it is actually issuing against, not the framework's latest.\n\n`status` is the version's own status. Unlike [View all Skill Frameworks](#operation/View%20all%20Skill%20Frameworks), a version that is mid-retirement for your Department is not re-presented as `retired` here: that endpoint answers whether you can still select the version, whereas a Group records what it already uses.",
                              "properties": {
                                "id": {
                                  "type": "number"
                                },
                                "version": {
                                  "type": "string"
                                },
                                "status": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        },
                        "skills": {
                          "type": "array",
                          "description": "Framework skills attached to this Group, ordered by name. Empty when the Group uses free-text `learning_outcomes`, and when it has a framework selected but no skills that can be tagged — unlike `skill_framework`, this is never `null`.\n\nIdentical to the `skills` array on [Credential](#tag/Credentials) responses: both are built from the same payload, so the two surfaces cannot disagree.\n\nThere is one entry per placement in the framework, so a skill sitting at two positions in the taxonomy appears as two entries — the same `id` with different `breadcrumbs`. **Do not key this array by `id`.**\n\nThis is the read shape, and it differs from the write shape. To set a Group's skills you send `framework_skills` as `{ id, breadcrumb_ids }` pairs; see [Update a Group](#operation/Update%20a%20Group).",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              },
                              "identifier": {
                                "type": "string",
                                "description": "The framework's own external identifier for the skill — an O*NET element id, an ESCO URI, or whatever a custom framework was uploaded with. This is the field to match against your own systems. `null` when the framework does not provide one.",
                                "nullable": true
                              },
                              "description": {
                                "type": "string",
                                "nullable": true
                              },
                              "url": {
                                "type": "string",
                                "description": "Link to the skill in the publisher's own taxonomy, when the framework provides one.",
                                "nullable": true
                              },
                              "breadcrumbs": {
                                "type": "array",
                                "description": "Where this skill sits in the framework: its ancestors from the root down to its immediate parent, with the skill itself excluded. Empty for a skill that sits at the root of the framework.\n\nEach node carries its own external `identifier` alongside its `id` and `name`. To write this placement back on the Group, send these `id` values in the same order as `framework_skills[].breadcrumb_ids`.",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "number"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "identifier": {
                                      "type": "string",
                                      "description": "The ancestor's own external identifier in the framework, when it has one.",
                                      "nullable": true
                                    }
                                  },
                                  "required": [
                                    "id",
                                    "name",
                                    "identifier"
                                  ]
                                }
                              }
                            },
                            "required": [
                              "id",
                              "name",
                              "identifier",
                              "description",
                              "url",
                              "breadcrumbs"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "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,
                    "auto_expiry_unit": "years",
                    "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"
                    },
                    "achievement_type": "Badge",
                    "collections": [
                      {
                        "id": 1,
                        "name": "one",
                        "description": null
                      },
                      {
                        "id": 2,
                        "name": "two",
                        "description": "description example"
                      }
                    ],
                    "earning_criteria": [
                      {
                        "id": "8f3c0c8c-5e1b-4f2a-9c4a-1f2c5c3a0001",
                        "kind": "course",
                        "text": "Complete the updated course",
                        "required": true,
                        "position": 1
                      },
                      {
                        "id": "8f3c0c8c-5e1b-4f2a-9c4a-1f2c5c3a0003",
                        "kind": "degree",
                        "text": "Hold an associated degree",
                        "required": false,
                        "position": 2
                      }
                    ],
                    "skill_framework": {
                      "id": 44,
                      "name": "O*NET Skills",
                      "source_type": "external",
                      "taxonomy": "ONET",
                      "provider": "U.S. Department of Labor",
                      "description": null,
                      "attribution": {
                        "text": "O*NET is sponsored by the U.S. Department of Labor",
                        "url": "https://www.onetonline.org/"
                      },
                      "version": {
                        "id": 512,
                        "version": "30.0",
                        "status": "active"
                      }
                    },
                    "skills": [
                      {
                        "id": 59302,
                        "name": "Active Listening",
                        "identifier": "2.A.1.b",
                        "description": "Giving full attention to what other people are saying, taking time to understand the points being made.",
                        "url": "https://www.onetonline.org/find/descriptor/result/2.A.1.b",
                        "breadcrumbs": [
                          {
                            "id": 59298,
                            "name": "Worker Requirements",
                            "identifier": "2"
                          },
                          {
                            "id": 59299,
                            "name": "Basic Skills",
                            "identifier": "2.A"
                          },
                          {
                            "id": 59300,
                            "name": "Content",
                            "identifier": "2.A.1"
                          }
                        ]
                      },
                      {
                        "id": 59301,
                        "name": "Reading Comprehension",
                        "identifier": "2.A.1.a",
                        "description": "Understanding written sentences and paragraphs in work related documents.",
                        "url": "https://www.onetonline.org/find/descriptor/result/2.A.1.a",
                        "breadcrumbs": [
                          {
                            "id": 59298,
                            "name": "Worker Requirements",
                            "identifier": "2"
                          },
                          {
                            "id": 59299,
                            "name": "Basic Skills",
                            "identifier": "2.A"
                          },
                          {
                            "id": 59300,
                            "name": "Content",
                            "identifier": "2.A.1"
                          }
                        ]
                      }
                    ]
                  }
                }
              }
            }
          },
          "207": {
            "description": "Multi-Status - the Group was updated, but one or more framework skills could not be attached. Non-framework changes in the request are still saved.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "group": {
                      "type": "object",
                      "description": "The Group as it was saved. Every field is the same as in the `200` response — read `skill_framework` and `skills` to see what was actually attached."
                    },
                    "errors": {
                      "type": "array",
                      "description": "One entry per problem. More than one can be returned: input-shape problems come first, then `skills_not_attached`, then `breadcrumb_ids_invalid`. See [Skills Frameworks Error Handling](#section/Errors/Skills-Frameworks-Error-Handling) for what each code means.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "framework_params_incomplete",
                              "plan_not_entitled",
                              "version_not_found",
                              "framework_not_available",
                              "version_retired",
                              "framework_skills_malformed",
                              "skills_not_attached",
                              "breadcrumb_ids_invalid"
                            ]
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "code",
                          "message"
                        ]
                      }
                    }
                  }
                },
                "example": {
                  "group": {
                    "id": 12472,
                    "name": "updated new group",
                    "course_name": "updated course name",
                    "learning_outcomes": null,
                    "skill_framework": {
                      "id": 44,
                      "name": "O*NET Skills",
                      "source_type": "external",
                      "taxonomy": "ONET",
                      "provider": "U.S. Department of Labor",
                      "description": null,
                      "attribution": {
                        "text": "O*NET is sponsored by the U.S. Department of Labor",
                        "url": "https://www.onetonline.org/"
                      },
                      "version": {
                        "id": 512,
                        "version": "30.0",
                        "status": "active"
                      }
                    },
                    "skills": [
                      {
                        "id": 59301,
                        "name": "Reading Comprehension",
                        "identifier": "2.A.1.a",
                        "description": "Understanding written sentences and paragraphs in work related documents.",
                        "url": "https://www.onetonline.org/find/descriptor/result/2.A.1.a",
                        "breadcrumbs": [
                          {
                            "id": 59298,
                            "name": "Worker Requirements",
                            "identifier": "2"
                          },
                          {
                            "id": 59299,
                            "name": "Basic Skills",
                            "identifier": "2.A"
                          },
                          {
                            "id": 59300,
                            "name": "Content",
                            "identifier": "2.A.1"
                          }
                        ]
                      }
                    ]
                  },
                  "errors": [
                    {
                      "code": "version_retired",
                      "message": "Skills were not attached — framework version 511 has been retired. Use the active version to attach skills."
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - your plan does not include access to skills frameworks, and the request tried to change the framework skills of a Group that is already framework-backed. Nothing in the request is saved, including changes to unrelated fields. The Group's framework and skills stay saved and readable, and moving it to free-text skills by sending `\"framework_skills\": null` is still allowed.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "data": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "success": false,
                  "data": "Your plan no longer supports this framework. Contact support to upgrade."
                }
              }
            }
          }
        },
        "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,
                  "achievement_type": "Badge",
                  "collections": [
                    {
                      "id": 1
                    },
                    {
                      "id": 2
                    }
                  ],
                  "earning_criteria": [
                    {
                      "id": "8f3c0c8c-5e1b-4f2a-9c4a-1f2c5c3a0001",
                      "text": "Complete the updated course"
                    },
                    {
                      "kind": "degree",
                      "text": "Hold an associated degree",
                      "required": false,
                      "position": 2
                    }
                  ],
                  "skill_framework_version_id": 512,
                  "framework_skills": [
                    {
                      "id": 59301,
                      "breadcrumb_ids": [
                        59298,
                        59299,
                        59300
                      ]
                    }
                  ]
                }
              },
              "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.\n\nTo use skills from a recognized taxonomy instead of free text, see `framework_skills` and the [Skills Frameworks](#tag/Skills-Frameworks) endpoints. Both can be set on the same Group; where a credential displays a single skills list, framework skills take precedence."
                  },
                  "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 or months (see `auto_expiry_unit`) 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."
                  },
                  "auto_expiry_unit": {
                    "type": "string",
                    "enum": ["years", "months"],
                    "description": "The unit of time for `auto_expiry`. Defaults to `years` if not supplied and `auto_expiry` exists."
                  },
                  "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."
                  },
                  "achievement_type": {
                    "type": "string",
                    "description": "The type of achievement, for example 'Award' or 'Certification'. The supported values are listed here https://www.imsglobal.org/spec/ob/v3p0#achievementtype-enumeration"
                  },
                  "collections": {
                    "description": "Full list of collections to associate to this group"
                  },
                  "earning_criteria": {
                    "type": "array",
                    "description": "Full list of earning criteria to associate to this group. **Omit the key** to leave existing criteria untouched. **Send `[]` or `null`** to delete every criterion on the group. Otherwise the array is treated as the complete desired state:\n\n- Items **with** an `id` matching an existing criterion are updated in place.\n- Items **without** an `id` are created.\n- Existing criteria **absent** from the array are deleted.\n\nIf any supplied `id` does not belong to the target group, the entire request fails with HTTP 400 and no changes are persisted.",
                    "nullable": true,
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid",
                          "description": "Include to update an existing criterion. Omit to create a new one."
                        },
                        "kind": {
                          "type": "string",
                          "description": "Category of the criterion. Required when creating a new criterion.",
                          "enum": [
                            "achievement",
                            "certificate",
                            "competency",
                            "completion",
                            "course",
                            "degree",
                            "exam",
                            "experience",
                            "knowledge",
                            "license",
                            "participation",
                            "reading",
                            "skill",
                            "specialization",
                            "other"
                          ]
                        },
                        "text": {
                          "type": "string",
                          "description": "Human-readable description of the criterion. Required when creating a new criterion. Supports a limited set of HTML tags: `<a>` (with `href`, `title`, `target`, `rel`), `<p>`, `<br>`, `<hr>`, `<ul>`, `<ol>`, `<li>`, `<strong>`/`<b>`, `<em>`/`<i>`, `<u>`, `<sub>`, `<sup>`. Other tags and attributes are stripped on save."
                        },
                        "required": {
                          "type": "boolean",
                          "description": "Whether the recipient must satisfy this criterion. Defaults to `true` when creating."
                        },
                        "position": {
                          "type": "number",
                          "description": "Ordering within the group (1-based)."
                        }
                      }
                    }
                  },
                  "skill_framework_version_id": {
                    "type": "number",
                    "description": "Id of the Skill Framework version the Group's skills should come from, as returned in a framework's `versions` array by [View all Skill Frameworks](#operation/View%20all%20Skill%20Frameworks). Send it together with `framework_skills` to set or change the Group's framework.\n\nThis key is write-only. The response reports the Group's pinned version as `skill_framework.version.id` instead, and its skills as `skills`.",
                    "nullable": true
                  },
                  "framework_skills": {
                    "type": "array",
                    "description": "Full list of framework skills for the Group, each entry a `{ id, breadcrumb_ids }` pair. The array **replaces** the Group's current skills rather than adding to them.\n\n- **Omit both this and `skill_framework_version_id`** to leave the Group's framework and skills exactly as they are.\n- **Send `null` or `[]`** without `skill_framework_version_id` to move the Group off frameworks: the framework is cleared, every attached skill is removed, and `learning_outcomes` can be set in the same request.\n- **Send both keys** to make the Group's skills exactly what you supply. Passing a different version also moves the Group to that version.\n\nEvery valid skill is attached; every invalid one is skipped and itemized in the `errors` array of a `207` response. If none of the supplied skills are valid, the Group keeps the framework and skills it already had.",
                    "nullable": true,
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "number",
                          "description": "Id of the skill, as returned by [Search Skills in a Framework Version](#operation/Search%20Skills%20in%20a%20Framework%20Version)."
                        },
                        "breadcrumb_ids": {
                          "type": "array",
                          "description": "Which position in the framework this skill is being attached at: the ids of its ancestors, from the root down to its immediate parent. Copy one of the trails from the skill's `breadcrumbs` in the search response, in the same order.\n\nOnly omit this, or send `[]`, for a skill that sits at the root of the framework. For a skill that has a parent an empty trail is rejected, and that skill is not attached.\n\nTo attach the same skill at two different positions in the framework, send it twice with different `breadcrumb_ids`.",
                          "items": {
                            "type": "number"
                          }
                        }
                      },
                      "required": [
                        "id"
                      ]
                    }
                  }
                },
                "required": [
                  "name",
                  "course_name",
                  "course_description"
                ]
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X PUT \\\n  \"https://api.accredible.com/v1/issuer/groups/12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"group\": {\n    \"name\": \"updated new group\",\n    \"course_name\": \"updated course name\",\n    \"skill_category_id\": 1,\n    \"collections\": [\n      {\n        \"id\": 1\n      },\n      {\n        \"id\": 2\n      }\n    ],\n    \"earning_criteria\": [\n      {\n        \"id\": \"8f3c0c8c-5e1b-4f2a-9c4a-1f2c5c3a0001\",\n        \"text\": \"Complete the updated course\"\n      },\n      {\n        \"kind\": \"degree\",\n        \"text\": \"Hold an associated degree\",\n        \"required\": false,\n        \"position\": 2\n      }\n    ],\n    \"skill_framework_version_id\": 512,\n    \"framework_skills\": [\n      {\n        \"id\": 59301,\n        \"breadcrumb_ids\": [\n          59298,\n          59299,\n          59300\n        ]\n      }\n    ]\n  }\n}'"
          }
        ]
      },
      "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"
                        },
                        "auto_expiry_unit": {
                          "type": "string",
                          "enum": ["years", "months"]
                        },
                        "signup_url_show": {
                          "type": "boolean"
                        },
                        "signup_url": {
                          "type": "string"
                        },
                        "course_link_show": {
                          "type": "boolean"
                        },
                        "organization_link_show": {
                          "type": "boolean"
                        },
                        "achievement_type": {
                          "type": "string"
                        },
                        "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,
                    "auto_expiry_unit": "years",
                    "signup_url_show": false,
                    "signup_url": "http://www.example.com",
                    "course_link_show": false,
                    "organization_link_show": false,
                    "achievement_type": null,
                    "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X DELETE \\\n  \"https://api.accredible.com/v1/issuer/groups/12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      }
    },
    "/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"
                        },
                        "auto_expiry_unit": {
                          "type": "string",
                          "enum": ["years", "months"]
                        },
                        "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"
                            }
                          }
                        },
                        "achievement_type": {
                          "type": "string"
                        },
                        "collections": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              },
                              "description": {
                                "type": "string",
                                "nullable": true
                              }
                            },
                            "required": [
                              "id",
                              "name",
                              "description"
                            ]
                          }
                        },
                        "earning_criteria": {
                          "type": "array",
                          "description": "Criteria the recipient must satisfy to earn this credential, ordered by `position`. Inherited from the original group when `earning_criteria` is omitted from the request.",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "kind": {
                                "type": "string",
                                "enum": [
                                  "achievement",
                                  "certificate",
                                  "competency",
                                  "completion",
                                  "course",
                                  "degree",
                                  "exam",
                                  "experience",
                                  "knowledge",
                                  "license",
                                  "participation",
                                  "reading",
                                  "skill",
                                  "specialization",
                                  "other"
                                ]
                              },
                              "text": {
                                "type": "string"
                              },
                              "required": {
                                "type": "boolean"
                              },
                              "position": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "id",
                              "kind",
                              "text",
                              "required",
                              "position"
                            ]
                          }
                        },
                        "skill_framework": {
                          "type": "object",
                          "description": "The Skill Framework this Group's skills come from, with the version pinned on the Group nested under it.\n\n`null` when the Group uses free-text `learning_outcomes` instead. Present whenever the Group has a framework version pinned — **including a Group that has a framework but no skills attached**, so an object here does not imply that `skills` is non-empty.\n\n`skill_framework.version.id` is the only place a response reports the Group's pinned version id, and it is the value to send back as `skill_framework_version_id` when you write. Retiring a version does not move a Group off it; the version changes only when the Group is explicitly migrated to a newly published one, and that applies retroactively to every credential already issued from the Group. See the [Skills Frameworks](#tag/Skills-Frameworks) endpoints.",
                          "nullable": true,
                          "properties": {
                            "id": {
                              "type": "number"
                            },
                            "name": {
                              "type": "string"
                            },
                            "source_type": {
                              "type": "string",
                              "description": "`external` for a framework maintained by Accredible, `custom` for one uploaded by your organization.",
                              "enum": [
                                "external",
                                "custom"
                              ]
                            },
                            "taxonomy": {
                              "type": "string",
                              "description": "The published taxonomy an external framework comes from: `ONET`, `ESCO` or `NACE`. Always `null` for custom frameworks.",
                              "nullable": true
                            },
                            "provider": {
                              "type": "string",
                              "description": "The organization that publishes the framework.",
                              "nullable": true
                            },
                            "description": {
                              "type": "string",
                              "nullable": true
                            },
                            "attribution": {
                              "type": "object",
                              "description": "Attribution that the framework's licence requires you to display wherever you show its skills.",
                              "properties": {
                                "text": {
                                  "type": "string",
                                  "nullable": true
                                },
                                "url": {
                                  "type": "string",
                                  "nullable": true
                                }
                              }
                            },
                            "version": {
                              "type": "object",
                              "description": "The framework version pinned on this Group — what it is actually issuing against, not the framework's latest.\n\n`status` is the version's own status. Unlike [View all Skill Frameworks](#operation/View%20all%20Skill%20Frameworks), a version that is mid-retirement for your Department is not re-presented as `retired` here: that endpoint answers whether you can still select the version, whereas a Group records what it already uses.",
                              "properties": {
                                "id": {
                                  "type": "number"
                                },
                                "version": {
                                  "type": "string"
                                },
                                "status": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        },
                        "skills": {
                          "type": "array",
                          "description": "Framework skills attached to this Group, ordered by name. Empty when the Group uses free-text `learning_outcomes`, and when it has a framework selected but no skills that can be tagged — unlike `skill_framework`, this is never `null`.\n\nIdentical to the `skills` array on [Credential](#tag/Credentials) responses: both are built from the same payload, so the two surfaces cannot disagree.\n\nThere is one entry per placement in the framework, so a skill sitting at two positions in the taxonomy appears as two entries — the same `id` with different `breadcrumbs`. **Do not key this array by `id`.**\n\nThis is the read shape, and it differs from the write shape. To set a Group's skills you send `framework_skills` as `{ id, breadcrumb_ids }` pairs; see [Update a Group](#operation/Update%20a%20Group).",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              },
                              "identifier": {
                                "type": "string",
                                "description": "The framework's own external identifier for the skill — an O*NET element id, an ESCO URI, or whatever a custom framework was uploaded with. This is the field to match against your own systems. `null` when the framework does not provide one.",
                                "nullable": true
                              },
                              "description": {
                                "type": "string",
                                "nullable": true
                              },
                              "url": {
                                "type": "string",
                                "description": "Link to the skill in the publisher's own taxonomy, when the framework provides one.",
                                "nullable": true
                              },
                              "breadcrumbs": {
                                "type": "array",
                                "description": "Where this skill sits in the framework: its ancestors from the root down to its immediate parent, with the skill itself excluded. Empty for a skill that sits at the root of the framework.\n\nEach node carries its own external `identifier` alongside its `id` and `name`. To write this placement back on the Group, send these `id` values in the same order as `framework_skills[].breadcrumb_ids`.",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "number"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "identifier": {
                                      "type": "string",
                                      "description": "The ancestor's own external identifier in the framework, when it has one.",
                                      "nullable": true
                                    }
                                  },
                                  "required": [
                                    "id",
                                    "name",
                                    "identifier"
                                  ]
                                }
                              }
                            },
                            "required": [
                              "id",
                              "name",
                              "identifier",
                              "description",
                              "url",
                              "breadcrumbs"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "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,
                    "auto_expiry_unit": "years",
                    "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"
                    },
                    "achievement_type": "Badge",
                    "collections": [
                      {
                        "id": 1,
                        "name": "one",
                        "description": null
                      },
                      {
                        "id": 2,
                        "name": "two",
                        "description": "description example"
                      }
                    ],
                    "earning_criteria": [
                      {
                        "id": "8f3c0c8c-5e1b-4f2a-9c4a-1f2c5c3a0201",
                        "kind": "course",
                        "text": "Complete the Intro to Programming course",
                        "required": true,
                        "position": 1
                      },
                      {
                        "id": "8f3c0c8c-5e1b-4f2a-9c4a-1f2c5c3a0202",
                        "kind": "exam",
                        "text": "Pass the final exam with 70% or higher",
                        "required": true,
                        "position": 2
                      }
                    ],
                    "skill_framework": {
                      "id": 44,
                      "name": "O*NET Skills",
                      "source_type": "external",
                      "taxonomy": "ONET",
                      "provider": "U.S. Department of Labor",
                      "description": null,
                      "attribution": {
                        "text": "O*NET is sponsored by the U.S. Department of Labor",
                        "url": "https://www.onetonline.org/"
                      },
                      "version": {
                        "id": 512,
                        "version": "30.0",
                        "status": "active"
                      }
                    },
                    "skills": [
                      {
                        "id": 59302,
                        "name": "Active Listening",
                        "identifier": "2.A.1.b",
                        "description": "Giving full attention to what other people are saying, taking time to understand the points being made.",
                        "url": "https://www.onetonline.org/find/descriptor/result/2.A.1.b",
                        "breadcrumbs": [
                          {
                            "id": 59298,
                            "name": "Worker Requirements",
                            "identifier": "2"
                          },
                          {
                            "id": 59299,
                            "name": "Basic Skills",
                            "identifier": "2.A"
                          },
                          {
                            "id": 59300,
                            "name": "Content",
                            "identifier": "2.A.1"
                          }
                        ]
                      },
                      {
                        "id": 59301,
                        "name": "Reading Comprehension",
                        "identifier": "2.A.1.a",
                        "description": "Understanding written sentences and paragraphs in work related documents.",
                        "url": "https://www.onetonline.org/find/descriptor/result/2.A.1.a",
                        "breadcrumbs": [
                          {
                            "id": 59298,
                            "name": "Worker Requirements",
                            "identifier": "2"
                          },
                          {
                            "id": 59299,
                            "name": "Basic Skills",
                            "identifier": "2.A"
                          },
                          {
                            "id": 59300,
                            "name": "Content",
                            "identifier": "2.A.1"
                          }
                        ]
                      }
                    ]
                  }
                }
              }
            }
          },
          "207": {
            "description": "Multi-Status - the Group was cloned, but the original Group's framework skills could not be copied because its framework version has been retired, or its framework is mid-retirement for that Department. The clone is created without a framework.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "group": {
                      "type": "object",
                      "description": "The Group as it was saved. Every field is the same as in the `200` response — read `skill_framework` and `skills` to see what was actually attached."
                    },
                    "errors": {
                      "type": "array",
                      "description": "One entry per problem. More than one can be returned: input-shape problems come first, then `skills_not_attached`, then `breadcrumb_ids_invalid`. See [Skills Frameworks Error Handling](#section/Errors/Skills-Frameworks-Error-Handling) for what each code means.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string",
                            "enum": [
                              "framework_params_incomplete",
                              "plan_not_entitled",
                              "version_not_found",
                              "framework_not_available",
                              "version_retired",
                              "framework_skills_malformed",
                              "skills_not_attached",
                              "breadcrumb_ids_invalid"
                            ]
                          },
                          "message": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "code",
                          "message"
                        ]
                      }
                    }
                  }
                },
                "example": {
                  "group": {
                    "id": 12345,
                    "name": "new group copy",
                    "course_name": "Intro to Programming",
                    "learning_outcomes": null,
                    "skill_framework": null,
                    "skills": []
                  },
                  "errors": [
                    {
                      "code": "version_retired",
                      "message": "Skills were not copied — framework version 511 has been retired. The group was cloned without framework skills; re-version the framework to copy them."
                    }
                  ]
                }
              }
            }
          }
        },
        "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.\n\nA clone always mirrors the original Group's skills framework. Every framework skill on the original is copied to the clone at the same position in the framework, and `skill_framework_version_id` and `framework_skills` sent in the request body are **ignored** — you cannot clone a Group onto a different framework. To change the clone's skills, clone it first and then update it.\n\nIf the original Group's framework version has been retired — or its framework is mid-retirement for the original Group's Department, in which case the version itself still reads as `active` — the clone is created without a framework and a `207` is returned. Re-version the framework first if you need the skills copied.",
        "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,
                  "auto_expiry_unit": "years",
                  "signup_url_show": false,
                  "signup_url": "http://www.example.com",
                  "course_link_show": false,
                  "organization_link_show": false,
                  "skill_category_id": 1,
                  "achievement_type": "Badge",
                  "earning_criteria": [
                    {
                      "kind": "course",
                      "text": "Complete the Intro to Programming course",
                      "required": true,
                      "position": 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.\n\nA clone always takes its skills source from the original Group, so framework skills cannot be set here — see the cloning behaviour described above and the [Skills Frameworks](#tag/Skills-Frameworks) endpoints."
                  },
                  "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 or months (see `auto_expiry_unit`) 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."
                  },
                  "auto_expiry_unit": {
                    "type": "string",
                    "enum": ["years", "months"],
                    "description": "The unit of time for `auto_expiry`. Defaults to `years` if not supplied and `auto_expiry` exists."
                  },
                  "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."
                  },
                  "achievement_type": {
                    "type": "string",
                    "description": "The type of achievement, for example 'Award' or 'Certification'. The supported values are listed here https://www.imsglobal.org/spec/ob/v3p0#achievementtype-enumeration"
                  },
                  "earning_criteria": {
                    "type": "array",
                    "description": "Earning criteria for the cloned group. **Omit the key** to copy the original group's criteria as-is. **Provide an array** to replace them: each item creates a new criterion on the clone (`id` is ignored, since clone never updates an existing criterion).",
                    "items": {
                      "type": "object",
                      "properties": {
                        "kind": {
                          "type": "string",
                          "enum": [
                            "achievement",
                            "certificate",
                            "competency",
                            "completion",
                            "course",
                            "degree",
                            "exam",
                            "experience",
                            "knowledge",
                            "license",
                            "participation",
                            "reading",
                            "skill",
                            "specialization",
                            "other"
                          ]
                        },
                        "text": {
                          "type": "string",
                          "description": "Human-readable description of the criterion. Supports a limited set of HTML tags: `<a>` (with `href`, `title`, `target`, `rel`), `<p>`, `<br>`, `<hr>`, `<ul>`, `<ol>`, `<li>`, `<strong>`/`<b>`, `<em>`/`<i>`, `<u>`, `<sub>`, `<sup>`. Other tags and attributes are stripped on save."
                        },
                        "required": {
                          "type": "boolean"
                        },
                        "position": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "kind",
                        "text"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/issuer/groups/12345/clone\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"group\": {\n    \"name\": \"new group copy\",\n    \"course_name\": \"Intro to Prgramming\",\n    \"course_description\": \"Description of course\",\n    \"course_link\": \"http://www.example.com\",\n    \"language\": \"en\",\n    \"attach_pdf\": true,\n    \"blockchain\": false,\n    \"certificate_design_id\": null,\n    \"badge_design_id\": null,\n    \"primary_design_id\": null,\n    \"meta_data\": {\n      \"batch_id\": \"271\"\n    },\n    \"learning_outcomes\": [\n      \"Reading Books\",\n      \"Writing Essays\"\n    ],\n    \"generate_private_credential\": false,\n    \"auto_expiry\": 1,\n    \"auto_expiry_unit\": \"years\",\n    \"signup_url_show\": false,\n    \"signup_url\": \"http://www.example.com\",\n    \"course_link_show\": false,\n    \"organization_link_show\": false,\n    \"skill_category_id\": 1,\n    \"earning_criteria\": [\n      {\n        \"kind\": \"course\",\n        \"text\": \"Complete the Intro to Programming course\",\n        \"required\": true,\n        \"position\": 1\n      }\n    ]\n  }\n}'"
          }
        ]
      }
    },
    "/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"
                          },
                          "auto_expiry_unit": {
                            "type": "string",
                            "enum": ["years", "months"]
                          },
                          "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",
                          "auto_expiry_unit",
                          "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,
                      "auto_expiry_unit": "years",
                      "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,
                      "auto_expiry_unit": "years",
                      "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": "**DEPRECATED:** This endpoint is deprecated.",
        "deprecated": true,
        "tags": [
          "Groups"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "name": "new group",
                "page_size": 50,
                "page": 1
              },
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Limit the list of Groups to those named with the given string."
                  },
                  "page_size": {
                    "type": "number",
                    "description": "The pagination response size, defualt is 50."
                  },
                  "page": {
                    "type": "number",
                    "description": "The pagination page."
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/issuer/all_groups\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"name\": \"new group\",\n  \"page_size\": 50,\n  \"page\": 1\n}'"
          }
        ]
      }
    },
    "/v1/issuer/groups/search": {
      "post": {
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ids": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    },
                    "description": "Limit the list of Groups to those id match the given array."
                  },
                  "name": {
                    "type": "string",
                    "description": "Limit the list of Groups to those named with the given string. Supports partial matching."
                  },
                  "course_name": {
                    "type": "string",
                    "description": "Limit the list of Groups to those whose course name matches the given string. Supports partial matching."
                  },
                  "department_id": {
                    "type": "number",
                    "description": "Limit results to a particular Department. Must be a Department accessible to the API key being used; otherwise a `400 Bad Request` is returned. When omitted, results include all Departments the API key can access."
                  },
                  "collection_ids": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "description": "Limit results to Groups linked to any of the given Collections (OR). Combined with other filters using AND. Must be Collection UUIDs accessible to the API key being used; otherwise a `400 Bad Request` is returned with `One or more Invalid collection IDs`. When omitted, no collection filter is applied. An empty array returns no Groups."
                  },
                  "meta_data": {
                    "type": "object",
                    "description": "Key/values for client's own data on group",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "start_updated_date": {
                    "type": "string",
                    "format": "date",
                    "description": "Date after which Groups which have been updated should be returned. Format: YYYY-MM-DD"
                  },
                  "end_updated_date": {
                    "type": "string",
                    "format": "date",
                    "description": "Date before which Groups which have been updated should be returned. Format: YYYY-MM-DD"
                  },
                  "page_size": {
                    "type": "number",
                    "default": 50,
                    "description": "The pagination response size, default of 50."
                  },
                  "page": {
                    "type": "number",
                    "description": "The pagination page."
                  }
                }
              },
              "example": {
                "name": "Programming Course",
                "course_name": "Intro to Programming",
                "department_id": 123,
                "collection_ids": ["550e8400-e29b-41d4-a716-446655440000"],
                "meta_data": {
                  "course_id": "CS101",
                  "department": "Computer Science"
                },
                "start_updated_date": "2023-01-01",
                "end_updated_date": "2023-12-31",
                "page_size": 25,
                "page": 1
              }
            }
          }
        },
        "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"
                          },
                          "auto_expiry_unit": {
                            "type": "string",
                            "enum": ["years", "months"]
                          },
                          "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"
                              }
                            }
                          },
                          "achievement_type": {
                            "type": "string"
                          },
                          "collections": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "number"
                                },
                                "name": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string",
                                  "nullable": true
                                }
                              },
                              "required": [
                                "id",
                                "name",
                                "description"
                              ]
                            }
                          },
                          "earning_criteria": {
                            "type": "array",
                            "description": "Criteria the recipient must satisfy to earn this credential, ordered by `position`.",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "kind": {
                                  "type": "string",
                                  "enum": [
                                    "achievement",
                                    "certificate",
                                    "competency",
                                    "completion",
                                    "course",
                                    "degree",
                                    "exam",
                                    "experience",
                                    "knowledge",
                                    "license",
                                    "participation",
                                    "reading",
                                    "skill",
                                    "specialization",
                                    "other"
                                  ]
                                },
                                "text": {
                                  "type": "string"
                                },
                                "required": {
                                  "type": "boolean"
                                },
                                "position": {
                                  "type": "number"
                                }
                              },
                              "required": [
                                "id",
                                "kind",
                                "text",
                                "required",
                                "position"
                              ]
                            }
                          },
                          "skill_framework": {
                            "type": "object",
                            "description": "The Skill Framework this Group's skills come from, with the version pinned on the Group nested under it.\n\n`null` when the Group uses free-text `learning_outcomes` instead. Present whenever the Group has a framework version pinned — **including a Group that has a framework but no skills attached**, so an object here does not imply that `skills` is non-empty.\n\n`skill_framework.version.id` is the only place a response reports the Group's pinned version id, and it is the value to send back as `skill_framework_version_id` when you write. Retiring a version does not move a Group off it; the version changes only when the Group is explicitly migrated to a newly published one, and that applies retroactively to every credential already issued from the Group. See the [Skills Frameworks](#tag/Skills-Frameworks) endpoints.",
                            "nullable": true,
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              },
                              "source_type": {
                                "type": "string",
                                "description": "`external` for a framework maintained by Accredible, `custom` for one uploaded by your organization.",
                                "enum": [
                                  "external",
                                  "custom"
                                ]
                              },
                              "taxonomy": {
                                "type": "string",
                                "description": "The published taxonomy an external framework comes from: `ONET`, `ESCO` or `NACE`. Always `null` for custom frameworks.",
                                "nullable": true
                              },
                              "provider": {
                                "type": "string",
                                "description": "The organization that publishes the framework.",
                                "nullable": true
                              },
                              "description": {
                                "type": "string",
                                "nullable": true
                              },
                              "attribution": {
                                "type": "object",
                                "description": "Attribution that the framework's licence requires you to display wherever you show its skills.",
                                "properties": {
                                  "text": {
                                    "type": "string",
                                    "nullable": true
                                  },
                                  "url": {
                                    "type": "string",
                                    "nullable": true
                                  }
                                }
                              },
                              "version": {
                                "type": "object",
                                "description": "The framework version pinned on this Group — what it is actually issuing against, not the framework's latest.\n\n`status` is the version's own status. Unlike [View all Skill Frameworks](#operation/View%20all%20Skill%20Frameworks), a version that is mid-retirement for your Department is not re-presented as `retired` here: that endpoint answers whether you can still select the version, whereas a Group records what it already uses.",
                                "properties": {
                                  "id": {
                                    "type": "number"
                                  },
                                  "version": {
                                    "type": "string"
                                  },
                                  "status": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "skills": {
                            "type": "array",
                            "description": "Framework skills attached to this Group, ordered by name. Empty when the Group uses free-text `learning_outcomes`, and when it has a framework selected but no skills that can be tagged — unlike `skill_framework`, this is never `null`.\n\nIdentical to the `skills` array on [Credential](#tag/Credentials) responses: both are built from the same payload, so the two surfaces cannot disagree.\n\nThere is one entry per placement in the framework, so a skill sitting at two positions in the taxonomy appears as two entries — the same `id` with different `breadcrumbs`. **Do not key this array by `id`.**\n\nThis is the read shape, and it differs from the write shape. To set a Group's skills you send `framework_skills` as `{ id, breadcrumb_ids }` pairs; see [Update a Group](#operation/Update%20a%20Group).",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "number"
                                },
                                "name": {
                                  "type": "string"
                                },
                                "identifier": {
                                  "type": "string",
                                  "description": "The framework's own external identifier for the skill — an O*NET element id, an ESCO URI, or whatever a custom framework was uploaded with. This is the field to match against your own systems. `null` when the framework does not provide one.",
                                  "nullable": true
                                },
                                "description": {
                                  "type": "string",
                                  "nullable": true
                                },
                                "url": {
                                  "type": "string",
                                  "description": "Link to the skill in the publisher's own taxonomy, when the framework provides one.",
                                  "nullable": true
                                },
                                "breadcrumbs": {
                                  "type": "array",
                                  "description": "Where this skill sits in the framework: its ancestors from the root down to its immediate parent, with the skill itself excluded. Empty for a skill that sits at the root of the framework.\n\nEach node carries its own external `identifier` alongside its `id` and `name`. To write this placement back on the Group, send these `id` values in the same order as `framework_skills[].breadcrumb_ids`.",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "number"
                                      },
                                      "name": {
                                        "type": "string"
                                      },
                                      "identifier": {
                                        "type": "string",
                                        "description": "The ancestor's own external identifier in the framework, when it has one.",
                                        "nullable": true
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "name",
                                      "identifier"
                                    ]
                                  }
                                }
                              },
                              "required": [
                                "id",
                                "name",
                                "identifier",
                                "description",
                                "url",
                                "breadcrumbs"
                              ]
                            }
                          }
                        },
                        "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",
                          "auto_expiry_unit",
                          "signup_url_show",
                          "signup_url",
                          "course_link_show",
                          "organization_link_show",
                          "skill_category",
                          "collections",
                          "earning_criteria",
                          "skill_framework",
                          "skills"
                        ]
                      }
                    },
                    "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,
                      "auto_expiry_unit": "years",
                      "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"
                      },
                      "achievement_type": null,
                      "collections": [
                        {
                          "id": 1,
                          "name": "one",
                          "description": null
                        }
                      ],
                      "earning_criteria": [
                        {
                          "id": "8f3c0c8c-5e1b-4f2a-9c4a-1f2c5c3a0001",
                          "kind": "course",
                          "text": "Complete the Intro to Programming course",
                          "required": true,
                          "position": 1
                        }
                      ],
                      "skill_framework": {
                        "id": 44,
                        "name": "O*NET Skills",
                        "source_type": "external",
                        "taxonomy": "ONET",
                        "provider": "U.S. Department of Labor",
                        "description": null,
                        "attribution": {
                          "text": "O*NET is sponsored by the U.S. Department of Labor",
                          "url": "https://www.onetonline.org/"
                        },
                        "version": {
                          "id": 512,
                          "version": "30.0",
                          "status": "active"
                        }
                      },
                      "skills": [
                        {
                          "id": 59302,
                          "name": "Active Listening",
                          "identifier": "2.A.1.b",
                          "description": "Giving full attention to what other people are saying, taking time to understand the points being made.",
                          "url": "https://www.onetonline.org/find/descriptor/result/2.A.1.b",
                          "breadcrumbs": [
                            {
                              "id": 59298,
                              "name": "Worker Requirements",
                              "identifier": "2"
                            },
                            {
                              "id": 59299,
                              "name": "Basic Skills",
                              "identifier": "2.A"
                            },
                            {
                              "id": 59300,
                              "name": "Content",
                              "identifier": "2.A.1"
                            }
                          ]
                        },
                        {
                          "id": 59301,
                          "name": "Reading Comprehension",
                          "identifier": "2.A.1.a",
                          "description": "Understanding written sentences and paragraphs in work related documents.",
                          "url": "https://www.onetonline.org/find/descriptor/result/2.A.1.a",
                          "breadcrumbs": [
                            {
                              "id": 59298,
                              "name": "Worker Requirements",
                              "identifier": "2"
                            },
                            {
                              "id": 59299,
                              "name": "Basic Skills",
                              "identifier": "2.A"
                            },
                            {
                              "id": 59300,
                              "name": "Content",
                              "identifier": "2.A.1"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "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,
                      "auto_expiry_unit": "years",
                      "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"
                      },
                      "achievement_type": null,
                      "collections": [
                        {
                          "id": 1,
                          "name": "one",
                          "description": null
                        },
                        {
                          "id": 2,
                          "name": "two",
                          "description": "description example"
                        }
                      ],
                      "earning_criteria": [
                        {
                          "id": "8f3c0c8c-5e1b-4f2a-9c4a-1f2c5c3a0201",
                          "kind": "skill",
                          "text": "Demonstrate proficiency in Python",
                          "required": true,
                          "position": 1
                        },
                        {
                          "id": "8f3c0c8c-5e1b-4f2a-9c4a-1f2c5c3a0202",
                          "kind": "exam",
                          "text": "Pass the final exam with 70% or higher",
                          "required": false,
                          "position": 2
                        }
                      ],
                      "skill_framework": null,
                      "skills": []
                    }
                  ],
                  "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"
        ],
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/issuer/groups/search\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"ids\": [1, 2, 3],\n    \"name\": \"Programming Course\",\n    \"department_id\": 123,\n    \"collection_ids\": [\"550e8400-e29b-41d4-a716-446655440000\"],\n    \"meta_data\": {\n      \"course_id\": \"CS101\",\n      \"department\": \"Computer Science\"\n    },\n    \"start_updated_date\": \"2023-01-01\",\n    \"end_updated_date\": \"2023-12-31\",\n    \"page_size\": 25,\n    \"page\": 1\n  }'"
          }
        ]
      }
    },
    "/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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X GET \\\n  \"https://api.accredible.com/v1/skill_categories\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      }
    },
    "/v1/skill_frameworks": {
      "get": {
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "skill_frameworks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "number",
                            "description": "Unique identifier of the Skill Framework."
                          },
                          "name": {
                            "type": "string",
                            "description": "Display name of the framework, for example `O*NET Skills`."
                          },
                          "source_type": {
                            "type": "string",
                            "description": "`external` for a framework maintained by Accredible, `custom` for one uploaded by your organization.",
                            "enum": [
                              "external",
                              "custom"
                            ]
                          },
                          "taxonomy": {
                            "type": "string",
                            "description": "The published taxonomy an external framework comes from: `ONET`, `ESCO` or `NACE`. Always `null` for custom frameworks.",
                            "nullable": true
                          },
                          "status": {
                            "type": "string",
                            "description": "Always `enabled` — only frameworks enabled for the requested Department are returned. Version retirement is reported per version inside `versions`, not here.",
                            "enum": [
                              "enabled"
                            ]
                          },
                          "provider": {
                            "type": "string",
                            "description": "The organization that publishes the framework, for example `U.S. Department of Labor`.",
                            "nullable": true
                          },
                          "description": {
                            "type": "string",
                            "nullable": true
                          },
                          "skill_count": {
                            "type": "number",
                            "description": "Number of skills in the framework's latest active version.",
                            "nullable": true
                          },
                          "updated_at": {
                            "type": "string"
                          },
                          "attribution": {
                            "type": "object",
                            "description": "Attribution that the framework's licence requires you to display wherever you show its skills.",
                            "properties": {
                              "text": {
                                "type": "string",
                                "nullable": true
                              },
                              "url": {
                                "type": "string",
                                "nullable": true
                              }
                            }
                          },
                          "versions": {
                            "type": "array",
                            "description": "Published versions of the framework, oldest first. Only `active` and `retired` versions are returned — versions still being prepared are never exposed. Use a version's `id` as the `skill_framework_version_id` when creating or updating a Group.",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "number",
                                  "description": "Pass this value as `skill_framework_version_id` on a Group."
                                },
                                "version": {
                                  "type": "string",
                                  "description": "The publisher's version label, for example `30.0`."
                                },
                                "skill_count": {
                                  "type": "number"
                                },
                                "status": {
                                  "type": "string",
                                  "description": "Skills can only be attached to a Group from an `active` version. Attempting to use a `retired` version returns a `207` with a `version_retired` error.",
                                  "enum": [
                                    "active",
                                    "retired"
                                  ]
                                },
                                "valid_from": {
                                  "type": "string",
                                  "format": "date",
                                  "nullable": true
                                },
                                "valid_to": {
                                  "type": "string",
                                  "format": "date",
                                  "description": "The date this version stops being usable. `null` for a version with no end date.",
                                  "nullable": true
                                }
                              },
                              "required": [
                                "id",
                                "version",
                                "skill_count",
                                "status",
                                "valid_from",
                                "valid_to"
                              ]
                            }
                          }
                        },
                        "required": [
                          "id",
                          "name",
                          "source_type",
                          "taxonomy",
                          "status",
                          "provider",
                          "description",
                          "skill_count",
                          "updated_at",
                          "attribution",
                          "versions"
                        ]
                      }
                    },
                    "meta": {
                      "type": "object",
                      "properties": {
                        "current_page": {
                          "type": "number"
                        },
                        "next_page": {
                          "type": "number",
                          "nullable": true
                        },
                        "prev_page": {
                          "type": "number",
                          "nullable": true
                        },
                        "total_pages": {
                          "type": "number"
                        },
                        "total_count": {
                          "type": "number"
                        },
                        "page_size": {
                          "type": "number"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "skill_frameworks": [
                    {
                      "id": 44,
                      "name": "O*NET Skills",
                      "source_type": "external",
                      "taxonomy": "ONET",
                      "status": "enabled",
                      "provider": "U.S. Department of Labor",
                      "description": null,
                      "skill_count": 350,
                      "updated_at": "2026-06-10T03:12:26.427Z",
                      "attribution": {
                        "text": "O*NET is sponsored by the U.S. Department of Labor",
                        "url": "https://www.onetonline.org/"
                      },
                      "versions": [
                        {
                          "id": 511,
                          "version": "29.0",
                          "skill_count": 347,
                          "status": "retired",
                          "valid_from": "2026-01-01",
                          "valid_to": "2026-04-08"
                        },
                        {
                          "id": 512,
                          "version": "30.0",
                          "skill_count": 350,
                          "status": "active",
                          "valid_from": "2026-04-08",
                          "valid_to": null
                        }
                      ]
                    },
                    {
                      "id": 177,
                      "name": "Internal Competency Model",
                      "source_type": "custom",
                      "taxonomy": null,
                      "status": "enabled",
                      "provider": null,
                      "description": "Skills maintained by our Learning and Development team",
                      "skill_count": 9,
                      "updated_at": "2026-06-22T09:15:04.881Z",
                      "attribution": {
                        "text": null,
                        "url": null
                      },
                      "versions": [
                        {
                          "id": 239,
                          "version": "1.0",
                          "skill_count": 9,
                          "status": "active",
                          "valid_from": "2026-06-22",
                          "valid_to": null
                        }
                      ]
                    }
                  ],
                  "meta": {
                    "current_page": 1,
                    "next_page": null,
                    "prev_page": null,
                    "total_pages": 1,
                    "total_count": 2,
                    "page_size": 5
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - `missing_department_id` when the required `department_id` parameter is not supplied.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "number"
                    },
                    "message": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "object"
                    }
                  }
                },
                "example": {
                  "code": 400,
                  "message": "department_id is required",
                  "status": "missing_department_id",
                  "errors": {}
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - `plan_not_entitled` when your plan does not include skills frameworks, or `invalid_department` when the given `department_id` is not a Department your API key can access.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "number"
                    },
                    "message": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "object"
                    }
                  }
                },
                "example": {
                  "code": 403,
                  "message": "Your plan does not include access to skills frameworks",
                  "status": "plan_not_entitled",
                  "errors": {}
                }
              }
            }
          }
        },
        "summary": "View all Skill Frameworks",
        "operationId": "View all Skill Frameworks",
        "description": "Lists the Skill Frameworks enabled for a Department, each with its published versions.\n\nThis is the starting point for tagging a Group with framework skills. Pick a framework, take the `id` of the version you want from its `versions` array, then use that value as `skill_framework_version_id` when you create or update a Group.\n\nOnly frameworks enabled for the requested Department are returned, so the response is exactly the set you are allowed to attach to Groups in that Department. Frameworks that an administrator has added but not yet enabled are not listed.\n\nWhen Accredible retires an external framework for your Department, it stays listed throughout the notice period so your integration is not broken by an abrupt removal. Its version is reported with `status` `retired` and a `valid_to` date telling you when it stops working.",
        "tags": [
          "Skills Frameworks"
        ],
        "parameters": [
          {
            "name": "department_id",
            "in": "query",
            "description": "The Department to list frameworks for. Required, including for API keys scoped to a single Department. Must be a Department your API key can access, otherwise a `403 Forbidden` is returned.",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The pagination page. Defaults to 1.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "description": "The pagination response size. Defaults to 5, maximum 10. Values above the maximum are capped, and values that are not a positive number fall back to the default. The size actually applied is returned as `meta.page_size`.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X GET \\\n  \"https://api.accredible.com/v1/skill_frameworks?department_id=12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      }
    },
    "/v1/skill_frameworks/{skill_framework_id}/versions/{version_id}/skills": {
      "get": {
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "skills": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "number",
                            "description": "Unique identifier of the skill. Pass this as `framework_skills[].id` when attaching the skill to a Group."
                          },
                          "name": {
                            "type": "string",
                            "description": "Display name of the skill."
                          },
                          "identifier": {
                            "type": "string",
                            "description": "The publisher's own identifier for the skill, for example an O*NET element id or an ESCO URI. `null` when the framework does not provide one.",
                            "nullable": true
                          },
                          "description": {
                            "type": "string",
                            "nullable": true
                          },
                          "breadcrumbs": {
                            "type": "array",
                            "description": "Every place this skill sits in the framework's hierarchy. Each entry is one trail, listing the skill's ancestors from the root down to its immediate parent — the skill itself is not repeated in its own trail.\n\nMost skills have a single trail. Some taxonomies legitimately place one skill in more than one branch, in which case there is one trail per placement. A skill that sits at the root of the framework has no ancestors and returns `[]`.\n\nThe `id` values of a trail are exactly what `framework_skills[].breadcrumb_ids` expects when you attach the skill to a Group, in the same order.",
                            "items": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "number"
                                  },
                                  "name": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "id",
                                  "name"
                                ]
                              }
                            }
                          }
                        },
                        "required": [
                          "id",
                          "name",
                          "identifier",
                          "description",
                          "breadcrumbs"
                        ]
                      }
                    },
                    "meta": {
                      "type": "object",
                      "properties": {
                        "current_page": {
                          "type": "number"
                        },
                        "next_page": {
                          "type": "number",
                          "nullable": true
                        },
                        "prev_page": {
                          "type": "number",
                          "nullable": true
                        },
                        "total_pages": {
                          "type": "number"
                        },
                        "total_count": {
                          "type": "number"
                        },
                        "page_size": {
                          "type": "number"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "skills": [
                    {
                      "id": 44923,
                      "name": "Absorb (Learning Management Systems)",
                      "identifier": "http://data.europa.eu/esco/skill/0189f448-4f52-4fcb-a05f-a4b0e6b0ba1d",
                      "description": null,
                      "breadcrumbs": [
                        [
                          {
                            "id": 44696,
                            "name": "Knowledge"
                          },
                          {
                            "id": 44697,
                            "name": "Information And Communication Technologies (Icts)"
                          },
                          {
                            "id": 44862,
                            "name": "Database And Network Design And Administration"
                          }
                        ],
                        [
                          {
                            "id": 44696,
                            "name": "Knowledge"
                          },
                          {
                            "id": 44764,
                            "name": "Business, Administration And Law"
                          },
                          {
                            "id": 44766,
                            "name": "Management And Administration"
                          },
                          {
                            "id": 44924,
                            "name": "Learning Management Systems"
                          }
                        ]
                      ]
                    },
                    {
                      "id": 44931,
                      "name": "Manage Learning Content",
                      "identifier": "http://data.europa.eu/esco/skill/6a1ec1f2-6b0d-4f1e-9c2f-8d5b1c7a4e30",
                      "description": "Create, curate and maintain the material used in a training programme.",
                      "breadcrumbs": [
                        [
                          {
                            "id": 44700,
                            "name": "Skills"
                          },
                          {
                            "id": 44812,
                            "name": "Management Skills"
                          }
                        ]
                      ]
                    }
                  ],
                  "meta": {
                    "current_page": 1,
                    "next_page": 2,
                    "prev_page": null,
                    "total_pages": 347,
                    "total_count": 694,
                    "page_size": 2
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - `invalid_query` when `query` is missing or shorter than 2 characters, or `invalid_version` when the version does not belong to the framework or is not published.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "number"
                    },
                    "message": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "object"
                    }
                  }
                },
                "example": {
                  "code": 400,
                  "message": "Query must be at least 2 characters",
                  "status": "invalid_query",
                  "errors": {}
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - `plan_not_entitled` when your plan does not include skills frameworks.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "number"
                    },
                    "message": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "object"
                    }
                  }
                },
                "example": {
                  "code": 403,
                  "message": "Your plan does not include access to skills frameworks",
                  "status": "plan_not_entitled",
                  "errors": {}
                }
              }
            }
          },
          "404": {
            "description": "Not Found - the framework does not exist, or it is a custom framework belonging to another organization.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "number"
                    },
                    "message": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string"
                    },
                    "errors": {
                      "type": "object"
                    }
                  }
                },
                "example": {
                  "code": 404,
                  "message": "Skills framework not found",
                  "status": "not_found",
                  "errors": {}
                }
              }
            }
          }
        },
        "summary": "Search Skills in a Framework Version",
        "operationId": "Search Skills in a Framework Version",
        "description": "Searches the skills inside a specific version of a Skill Framework.\n\nThe `query` is matched against both the skill name and the publisher's `identifier`, so you can look a skill up either way. Use this endpoint to resolve the skill `id` values and `breadcrumb_ids` trails you then send as `framework_skills` when creating or updating a Group.\n\nThe version is always explicit. Take the version `id` from the `versions` array returned by [View all Skill Frameworks](#operation/View%20all%20Skill%20Frameworks) — there is no \"latest version\" shortcut, which means a skill id you look up here is guaranteed to still be valid for the version you attach it to.\n\nEach skill appears **once**, with all of its positions in the hierarchy collected under `breadcrumbs`. A skill placed in two branches of the taxonomy is one row with two trails, not two rows.\n\nSearch is intentionally broader than what you can attach: any framework your API key can see is searchable, including one that is not enabled for a particular Department. Whether a skill can actually be attached is checked when you write to a Group.",
        "tags": [
          "Skills Frameworks"
        ],
        "parameters": [
          {
            "name": "skill_framework_id",
            "in": "path",
            "description": "ID of the Skill Framework to search within, as returned by the framework list endpoint.",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "version_id",
            "in": "path",
            "description": "ID of the framework version to search within, taken from the framework's `versions` array. Must belong to the given framework and be a published (`active` or `retired`) version.",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "query",
            "in": "query",
            "description": "Text to search for, matched as a partial, case-insensitive match against the skill name and the publisher's `identifier`. Required, and must be at least 2 characters.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The pagination page. Defaults to 1.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "description": "The pagination response size. Defaults to 50, which is also the maximum. Values above the maximum are capped, and values that are not a positive number fall back to the default.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X GET \\\n  \"https://api.accredible.com/v1/skill_frameworks/44/versions/512/skills?query=reading\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      }
    },
    "/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
                }
              },
              "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/collections\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"collection\": {\n    \"name\": \"Collection name\",\n    \"description\": \"DESCRIPTION\",\n    \"public\": true\n  },\n'"
          }
        ]
      }
    },
    "/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,
                  "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X PUT \\\n  \"https://api.accredible.com/v1/collections/12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"collection\": {\n    \"name\": \"Collection name\",\n    \"description\": \"DESCRIPTION\",\n    \"public\": true,\n    \"groups\": [\n      {\n        \"id\": 1\n      },\n      {\n        \"id\": 2\n      },\n      {\n        \"id\": 3\n      }\n    ]\n  }\n}'"
          }
        ]
      },
      "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X DELETE \\\n  \"https://api.accredible.com/v1/collections/12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      }
    },
    "/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`"
                      }
                    }
                  },
                  "meta": {
                    "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/collections/search\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"query\": {\n    \"ids\": [\n      1,\n      2,\n      3\n    ],\n    \"name\": \"John Doe\",\n    \"public\": true,\n    \"exclusion_list\": [\n      1,\n      2,\n      3\n    ]\n  },\n  \"sort\": {\n    \"groups_count\": \"desc\"\n  },\n  \"meta\": {\n    \"page_number\": 1,\n    \"per_page\": 20\n  }\n}'"
          }
        ]
      }
    },
    "/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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/designs\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"design\": {\n    \"name\": \"new design\",\n    \"kind\": \"certificate\",\n    \"encoded_content\": \"31884284f406b9e481038c86ca81031031884284f406b9e481038c86ca810310\",\n    \"background_bleeds\": true,\n    \"orientation\": \"landscape\",\n    \"size\": \"a4\",\n    \"department_id\": 123\n  }\n}'"
          }
        ]
      },
      "get": {
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {}
          }
        },
        "summary": "View all Designs DEPRECATED",
        "operationId": "View all Designs DEPRECATED",
        "description": "**DEPRECATED:** This endpoint is deprecated.",
        "deprecated": true,
        "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X GET \\\n  \"https://api.accredible.com/v1/designs\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      }
    },
    "/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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X GET \\\n  \"https://api.accredible.com/v1/designs/12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      },
      "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X PUT \\\n  \"https://api.accredible.com/v1/designs/12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"design\": {\n    \"name\": \"updated new design\"\n  }\n}'"
          }
        ]
      },
      "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X DELETE \\\n  \"https://api.accredible.com/v1/designs/12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      }
    },
    "/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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/designs/12345/copy\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"design\": {\n    \"department_id\": 12345\n  }\n}'"
          }
        ]
      }
    },
    "/v1/designs/search": {
      "post": {
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {}
          }
        },
        "summary": "Search for Designs",
        "operationId": "Search for Designs",
        "description": "",
        "tags": [
          "Designs"
        ],
        "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/designs/search\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"kind\": \"certificate\",\n  \"meta_data\": {\n    \"example\": \"value\"\n  }\n}'"
          }
        ]
      }
    },
    "/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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/designs/12345/preview\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"recipient.name\": \"example name\",\n  \"group.course_name\": \"My Example Course\",\n  \"custom.example\": \"Data for a custom attribute.\"\n}'"
          }
        ]
      }
    },
    "/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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/designers/badge/initialize\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"design_id\": 12345,\n  \"department_id\": 123\n}'"
          }
        ]
      }
    },
    "/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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/designers/certificate/initialize\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"design_id\": 12345,\n  \"department_id\": 123\n}'"
          }
        ]
      }
    },
    "/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.\n\nAuthorization depends on the type of API key you use:\n\n| Account-wide key | Department-specific key |\n| --- | --- |\n| Allowed | Not permitted |",
        "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/departments\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"department\": {\n    \"name\": \"New Department\",\n    \"description\": \"Example description text.\",\n    \"url\": \"https://www.example.com\",\n    \"logo\": \"https://www.website.com/example-logo.png\",\n    \"page_banner\": \"https://www.website.com/example-banner.png\",\n    \"whitelabel_logo\": \"https://www.website.com/example-whitelabel-logo.png\",\n    \"linkedin_company_id\": \"5098253\",\n    \"meta_data\": {\n      \"internal_id\": \"R12\",\n      \"faculty\": \"physics\"\n    },\n    \"generate_private_credential\": false\n  }\n}'"
          }
        ]
      }
    },
    "/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": "View a single Department.\n\nAuthorization depends on the type of API key you use:\n\n| Account-wide key | Department-specific key |\n| --- | --- |\n| Any Department in the account | Its own Department only |",
        "tags": [
          "Departments"
        ],
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X GET \\\n  \"https://api.accredible.com/v1/departments/12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      },
      "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": "Update a Department using this action. It takes a JSON object containing a Department.\n\nAuthorization depends on the type of API key you use:\n\n| Account-wide key | Department-specific key |\n| --- | --- |\n| Any Department in the account | Its own Department only |",
        "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X PUT \\\n  \"https://api.accredible.com/v1/departments/12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"department\": {\n    \"name\": \"New Department Name\"\n  }\n}'"
          }
        ]
      },
      "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": "Delete a Department using this action.\n\nAuthorization depends on the type of API key you use:\n\n| Account-wide key | Department-specific key |\n| --- | --- |\n| Allowed | Not permitted |",
        "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X DELETE \\\n  \"https://api.accredible.com/v1/departments/12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      }
    },
    "/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.\n\nAuthorization depends on the type of API key you use:\n\n| Account-wide key | Department-specific key |\n| --- | --- |\n| All Departments in the account | Its own Department only |",
        "tags": [
          "Departments"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "meta_data": {
                  "faculty": "physics"
                },
                "page_size": 50,
                "page": 1
              },
              "schema": {
                "type": "object",
                "properties": {
                  "meta_data": {
                    "type": "object"
                  },
                  "page_size": {
                    "type": "number",
                    "description": "The pagination response size, default of 50."
                  },
                  "page": {
                    "type": "number",
                    "description": "The pagination page."
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/departments/search\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"meta_data\": {\n    \"faculty\": \"physics\"\n  },\n  \"page_size\": 50,\n  \"page\": 1\n}'"
          }
        ]
      }
    },
    "/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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/attribute_keys\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"attribute_key\": {\n    \"name\": \"New Custom Attribute Key\",\n    \"kind\": \"text\",\n    \"department_id\": 123\n  }\n}'"
          }
        ]
      }
    },
    "/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"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "name": "attribute",
                "kind": "text",
                "department_id": 123,
                "page_size": 50,
                "page": 1
              },
              "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": "Only return custom attribute keys of the given Department."
                  },
                  "page_size": {
                    "type": "number",
                    "description": "The pagination response size, default of 50."
                  },
                  "page": {
                    "type": "number",
                    "description": "The pagination page."
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/attribute_keys/search\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"name\": \"attribute\",\n  \"kind\": \"text\",\n  \"department_id\": 123,\n  \"page_size\": 50,\n  \"page\": 1\n}'"
          }
        ]
      }
    },
    "/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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X GET \\\n  \"https://api.accredible.com/v1/analytics\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      }
    },
    "/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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X GET \\\n  \"https://api.accredible.com/v1/data_exports\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      },
      "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/data_exports\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"data_export\": {\n    \"entity\": \"credentials\",\n    \"department_id\": 34\n  }\n}'"
          }
        ]
      }
    },
    "/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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X GET \\\n  \"https://api.accredible.com/v1/data_exports/12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      }
    },
    "/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": {
                                "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"
                                  },
                                  "pathways": {
                                    "type": "boolean"
                                  },
                                  "groups": {
                                    "type": "array",
                                    "items": {
                                      "type": "number"
                                    }
                                  },
                                  "api": {
                                    "type": "boolean"
                                  },
                                  "team": {
                                    "type": "boolean"
                                  },
                                  "spotlight_directory": {
                                    "type": "boolean"
                                  },
                                  "access_level": {
                                    "type": "string",
                                    "enum": [
                                      "organization_admin",
                                      "department_admin",
                                      "team_member",
                                      "developer"
                                    ]
                                  },
                                  "analytics_email": {
                                    "type": "boolean"
                                  },
                                  "manage_dept_admins_and_devs": {
                                    "type": "boolean"
                                  }
                                },
                                "required": [
                                  "designs",
                                  "emails",
                                  "credential_attributes",
                                  "analytics",
                                  "settings",
                                  "role"
                                ]
                              }
                            },
                            "required": [
                              "department",
                              "permissions"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "team_member": {
                    "id": 12345,
                    "name": "John Doe",
                    "email": "person@example.com",
                    "department_permissions": [
                      {
                        "department": 34,
                        "permissions": {
                          "designs": true,
                          "emails": true,
                          "credential_attributes": true,
                          "analytics": true,
                          "settings": true,
                          "role": "editor",
                          "pathways": true,
                          "groups": [1, 2, 3],
                          "api": false,
                          "team": true,
                          "spotlight_directory": false,
                          "access_level": "department_admin",
                          "analytics_email": true,
                          "manage_dept_admins_and_devs": true
                        }
                      },
                      {
                        "department": 35,
                        "permissions": {
                          "designs": false,
                          "emails": false,
                          "credential_attributes": false,
                          "analytics": false,
                          "settings": false,
                          "role": "viewer",
                          "pathways": false,
                          "groups": null,
                          "api": false,
                          "team": false,
                          "spotlight_directory": false,
                          "access_level": "team_member",
                          "analytics_email": false,
                          "manage_dept_admins_and_devs": false
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "summary": "Create a Team Member",
        "operationId": "Create a Team Member",
        "description": "Create a TeamMember using this action. It requires a JSON object containing a TeamMember.\n\n**Important**\n\n- Organization Admin cannot be created through the API.\n- To create a Department Admin or Developer your account must be on the Connect/Growth Plan.\n\nThe `access_level` of each `department_permissions` entry determines what is created, and authorization is based on the type of API key you use:\n\n| Access Level | Account-wide key | Department-specific key |\n| --- | --- | --- |\n| Team Member (default) | Any Department in the account | Its own Department only |\n| Department Admin | Any Department in the account | Not permitted |\n| Developer | Any Department in the account | Not permitted |\n| Organization Admin | Not permitted | Not permitted |\n\n**Permitted values by `access_level`.**\n\n<table>\n  <thead>\n    <tr><th>Field</th><th>Team Member</th><th colspan=\"2\">Department Admin<sup>&ast;</sup></th><th>Developer<sup>&ast;</sup></th></tr>\n  </thead>\n  <tbody>\n    <tr><td><code>access_level</code></td><td><code>team_member</code></td><td colspan=\"2\"><code>department_admin</code></td><td><code>developer</code></td></tr>\n    <tr><td><code>role</code></td><td><code>editor</code><br><code>credential_issuer</code><br><code>viewer</code></td><td colspan=\"2\"><code>editor</code></td><td><code>viewer</code></td></tr>\n    <tr><td><code>api</code></td><td>NA</td><td><code>false</code></td><td><code>true</code></td><td><code>true</code></td></tr>\n    <tr><td><code>designs</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code></td><td>NA</td></tr>\n    <tr><td><code>emails</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code></td><td>NA</td></tr>\n    <tr><td><code>credential_attributes</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code></td><td>NA</td></tr>\n    <tr><td><code>analytics</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code></td><td>NA</td></tr>\n    <tr><td><code>settings</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code></td><td>NA</td></tr>\n    <tr><td><code>pathways</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code></td><td>NA</td></tr>\n    <tr><td><code>team</code></td><td>NA</td><td><code>true</code><br><code>false</code></td><td><code>true</code></td><td>NA</td></tr>\n    <tr><td><code>analytics_email</code></td><td>NA</td><td><code>true</code><br><code>false</code></td><td><code>true</code></td><td>NA</td></tr>\n    <tr><td><code>manage_dept_admins_and_devs</code></td><td>NA</td><td><code>true</code><br><code>false</code></td><td><code>true</code></td><td>NA</td></tr>\n    <tr><td><code>groups</code></td><td>Array of Group IDs to limit access to</td><td colspan=\"2\">NA (All groups allowed)</td><td>NA (All groups allowed)</td></tr>\n  </tbody>\n</table>\n\n*NA - Not Applicable, can be omitted.*<br><sup>&ast;</sup> *Only available on Connect/Growth Plan.*",
        "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",
                        "pathways": true,
                        "groups": [1, 2, 3],
                        "api": false,
                        "team": true,
                        "access_level": "department_admin",
                        "analytics_email": true,
                        "manage_dept_admins_and_devs": true
                      }
                    },
                    {
                      "department_id": 35,
                      "permissions": {
                        "designs": false,
                        "emails": false,
                        "credential_attributes": false,
                        "analytics": false,
                        "settings": false,
                        "role": "viewer",
                        "pathways": false,
                        "groups": null,
                        "api": false,
                        "team": false,
                        "access_level": "team_member",
                        "analytics_email": false,
                        "manage_dept_admins_and_devs": false
                      }
                    }
                  ]
                }
              },
              "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",
                    "description": "Array of department permissions for the team member.",
                    "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\", \"credential_issuer\" or \"viewer\" access to Credential data in the Department."
                            },
                            "pathways": {
                              "type": "boolean",
                              "default": false,
                              "description": "Should the TeamMember have access to Pathways for the given Department?"
                            },
                            "api": {
                              "type": "boolean",
                              "default": false,
                              "description": "Should the TeamMember have access to API keys for the given Department?"
                            },
                            "team": {
                              "type": "boolean",
                              "default": false,
                              "description": "Should the TeamMember be able to manage other Team Members in the given Department?"
                            },
                            "access_level": {
                              "type": "string",
                              "enum": [
                                "team_member",
                                "department_admin",
                                "developer"
                              ],
                              "default": "team_member",
                              "description": "The TeamMember's access level in the given Department."
                            },
                            "analytics_email": {
                              "type": "boolean",
                              "default": false,
                              "description": "Should the TeamMember receive scheduled Analytics emails for the given Department?"
                            },
                            "manage_dept_admins_and_devs": {
                              "type": "boolean",
                              "default": false,
                              "description": "Should the TeamMember be able to manage Department Admins and Developers in the given Department?"
                            },
                            "groups": {
                              "type": "array",
                              "description": "Limit the TeamMember access to specific Groups in the Department.",
                              "items": {
                                "type": "number"
                              }
                            }
                          },
                          "required": [
                            "designs",
                            "emails",
                            "credential_attributes",
                            "analytics",
                            "settings",
                            "role"
                          ]
                        }
                      },
                      "required": [
                        "department_id",
                        "permissions"
                      ]
                    }
                  }
                },
                "required": [
                  "name",
                  "email",
                  "department_permissions"
                ]
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/team_members\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"team_member\": {\n    \"name\": \"John Doe\",\n    \"email\": \"person@example.com\",\n    \"department_permissions\": [\n      {\n        \"department_id\": 34,\n        \"permissions\": {\n          \"designs\": true,\n          \"emails\": true,\n          \"credential_attributes\": true,\n          \"analytics\": true,\n          \"settings\": true,\n          \"role\": \"editor\",\n          \"pathways\": true,\n          \"groups\": [1, 2, 3],\n          \"api\": false,\n          \"team\": true,\n          \"access_level\": \"department_admin\",\n          \"analytics_email\": true,\n          \"manage_dept_admins_and_devs\": true\n        }\n      },\n      {\n        \"department_id\": 35,\n        \"permissions\": {\n          \"designs\": false,\n          \"emails\": false,\n          \"credential_attributes\": false,\n          \"analytics\": false,\n          \"settings\": false,\n          \"role\": \"viewer\",\n          \"pathways\": false,\n          \"groups\": null,\n          \"api\": false,\n          \"team\": false,\n          \"access_level\": \"team_member\",\n          \"analytics_email\": false,\n          \"manage_dept_admins_and_devs\": false\n        }\n      }\n    ]\n  }\n}'"
          }
        ]
      }
    },
    "/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": {
                                "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"
                                  },
                                  "pathways": {
                                    "type": "boolean"
                                  },
                                  "groups": {
                                    "type": "array",
                                    "items": {
                                      "type": "number"
                                    },
                                    "nullable": true
                                  },
                                  "api": {
                                    "type": "boolean"
                                  },
                                  "team": {
                                    "type": "boolean"
                                  },
                                  "spotlight_directory": {
                                    "type": "boolean"
                                  },
                                  "access_level": {
                                    "type": "string",
                                    "enum": [
                                      "organization_admin",
                                      "department_admin",
                                      "team_member",
                                      "developer"
                                    ]
                                  },
                                  "analytics_email": {
                                    "type": "boolean"
                                  },
                                  "manage_dept_admins_and_devs": {
                                    "type": "boolean"
                                  }
                                }
                              }
                            },
                            "required": [
                              "department",
                              "permissions"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "team_member": {
                    "id": 12345,
                    "name": "John Doe",
                    "email": "person@example.com",
                    "department_permissions": [
                      {
                        "department": 34,
                        "permissions": {
                          "designs": true,
                          "emails": true,
                          "credential_attributes": true,
                          "analytics": true,
                          "settings": true,
                          "role": "editor",
                          "pathways": true,
                          "groups": [
                            1,
                            2,
                            3
                          ],
                          "api": false,
                          "team": true,
                          "spotlight_directory": false,
                          "access_level": "department_admin",
                          "analytics_email": true,
                          "manage_dept_admins_and_devs": true
                        }
                      },
                      {
                        "department": 35,
                        "permissions": {
                          "designs": false,
                          "emails": false,
                          "credential_attributes": false,
                          "analytics": false,
                          "settings": false,
                          "role": "viewer",
                          "pathways": false,
                          "groups": null,
                          "api": false,
                          "team": false,
                          "spotlight_directory": false,
                          "access_level": "team_member",
                          "analytics_email": false,
                          "manage_dept_admins_and_devs": false
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "summary": "View a Team Member",
        "operationId": "View a Team Member",
        "description": "View a TeamMember and their permissions in each Department.\n\nWhich TeamMembers you can view depends on the type of API key you use:\n\n| Access Level | Account-wide key | Department-specific key |\n| --- | --- | --- |\n| Team Member | Any Department in the account | Its own Department only |\n| Department Admin | Any Department in the account | Its own Department only |\n| Developer | Any Department in the account | Its own Department only |\n| Organization Admin | Visible | Not visible |",
        "tags": [
          "Team Members"
        ],
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X GET \\\n  \"https://api.accredible.com/v1/team_members/12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      },
      "put": {
        "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": {
                                "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"
                                  },
                                  "pathways": {
                                    "type": "boolean"
                                  },
                                  "groups": {
                                    "type": "array",
                                    "items": {
                                      "type": "number"
                                    },
                                    "nullable": true
                                  },
                                  "api": {
                                    "type": "boolean"
                                  },
                                  "team": {
                                    "type": "boolean"
                                  },
                                  "spotlight_directory": {
                                    "type": "boolean"
                                  },
                                  "access_level": {
                                    "type": "string",
                                    "enum": [
                                      "organization_admin",
                                      "department_admin",
                                      "team_member",
                                      "developer"
                                    ]
                                  },
                                  "analytics_email": {
                                    "type": "boolean"
                                  },
                                  "manage_dept_admins_and_devs": {
                                    "type": "boolean"
                                  }
                                }
                              }
                            },
                            "required": [
                              "department",
                              "permissions"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "team_member": {
                    "id": 12345,
                    "name": "John Doe",
                    "email": "person@example.com",
                    "department_permissions": [
                      {
                        "department": 34,
                        "permissions": {
                          "designs": false,
                          "emails": false,
                          "credential_attributes": true,
                          "analytics": true,
                          "settings": true,
                          "role": "editor",
                          "pathways": true,
                          "groups": [
                            1,
                            2,
                            3
                          ],
                          "api": false,
                          "team": true,
                          "spotlight_directory": false,
                          "access_level": "department_admin",
                          "analytics_email": true,
                          "manage_dept_admins_and_devs": true
                        }
                      },
                      {
                        "department": 35,
                        "permissions": {
                          "designs": false,
                          "emails": false,
                          "credential_attributes": false,
                          "analytics": false,
                          "settings": false,
                          "role": "viewer",
                          "pathways": false,
                          "groups": null,
                          "api": false,
                          "team": false,
                          "spotlight_directory": false,
                          "access_level": "team_member",
                          "analytics_email": false,
                          "manage_dept_admins_and_devs": false
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "summary": "Update a Team Member",
        "operationId": "Update a Team Member",
        "description": "Update a TeamMember using this action. It requires a JSON object containing a TeamMember.\n\n**Important**\n\n- Organization Admin cannot be created or updated through the API.\n- To assign a Department Admin or Developer your account must be on the Connect/Growth Plan.\n\n**The `department_permissions` array replaces the TeamMember's entire permission set.** A Department present in the array is created or updated; a Department omitted from the array has its permission removed, if your API key is authorized to remove it.\n\nWhich TeamMembers you can update depends on the type of API key you use:\n\n| Access Level | Account-wide key | Department-specific key |\n| --- | --- | --- |\n| Team Member | Any Department in the account | Its own Department only |\n| Department Admin | Any Department in the account | Not permitted |\n| Developer | Any Department in the account | Not permitted |\n| Organization Admin | Not permitted | Not permitted |\n\n**Permitted values by `access_level`.**\n\n<table>\n  <thead>\n    <tr><th>Field</th><th>Team Member</th><th colspan=\"2\">Department Admin<sup>&ast;</sup></th><th>Developer<sup>&ast;</sup></th></tr>\n  </thead>\n  <tbody>\n    <tr><td><code>access_level</code></td><td><code>team_member</code></td><td colspan=\"2\"><code>department_admin</code></td><td><code>developer</code></td></tr>\n    <tr><td><code>role</code></td><td><code>editor</code><br><code>credential_issuer</code><br><code>viewer</code></td><td colspan=\"2\"><code>editor</code></td><td><code>viewer</code></td></tr>\n    <tr><td><code>api</code></td><td>NA</td><td><code>false</code></td><td><code>true</code></td><td><code>true</code></td></tr>\n    <tr><td><code>designs</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code></td><td>NA</td></tr>\n    <tr><td><code>emails</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code></td><td>NA</td></tr>\n    <tr><td><code>credential_attributes</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code></td><td>NA</td></tr>\n    <tr><td><code>analytics</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code></td><td>NA</td></tr>\n    <tr><td><code>settings</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code></td><td>NA</td></tr>\n    <tr><td><code>pathways</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code><br><code>false</code></td><td><code>true</code></td><td>NA</td></tr>\n    <tr><td><code>team</code></td><td>NA</td><td><code>true</code><br><code>false</code></td><td><code>true</code></td><td>NA</td></tr>\n    <tr><td><code>analytics_email</code></td><td>NA</td><td><code>true</code><br><code>false</code></td><td><code>true</code></td><td>NA</td></tr>\n    <tr><td><code>manage_dept_admins_and_devs</code></td><td>NA</td><td><code>true</code><br><code>false</code></td><td><code>true</code></td><td>NA</td></tr>\n    <tr><td><code>groups</code></td><td>Array of Group IDs to limit access to</td><td colspan=\"2\">NA (All groups allowed)</td><td>NA (All groups allowed)</td></tr>\n  </tbody>\n</table>\n\n*NA - Not Applicable, can be omitted.*<br><sup>&ast;</sup> *Only available on Connect/Growth Plan.*",
        "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",
                        "pathways": true,
                        "groups": [
                          1,
                          2,
                          3
                        ],
                        "api": false,
                        "team": true,
                        "access_level": "department_admin",
                        "analytics_email": true,
                        "manage_dept_admins_and_devs": true
                      }
                    },
                    {
                      "department_id": 35,
                      "permissions": {
                        "designs": false,
                        "emails": false,
                        "credential_attributes": false,
                        "analytics": false,
                        "settings": false,
                        "role": "viewer",
                        "pathways": false,
                        "groups": null,
                        "api": false,
                        "team": false,
                        "access_level": "team_member",
                        "analytics_email": false,
                        "manage_dept_admins_and_devs": false
                      }
                    }
                  ]
                }
              },
              "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. A blank value leaves the existing name unchanged."
                  },
                  "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\", \"credential_issuer\" or \"viewer\" access to Credential data in the Department."
                            },
                            "pathways": {
                              "type": "boolean",
                              "default": false,
                              "description": "Should the TeamMember have access to Pathways for the given Department?"
                            },
                            "api": {
                              "type": "boolean",
                              "default": false,
                              "description": "Should the TeamMember have access to API keys for the given Department?"
                            },
                            "team": {
                              "type": "boolean",
                              "default": false,
                              "description": "Should the TeamMember be able to manage other Team Members in the given Department?"
                            },
                            "access_level": {
                              "type": "string",
                              "enum": [
                                "team_member",
                                "department_admin",
                                "developer"
                              ],
                              "default": "team_member",
                              "description": "The TeamMember's access level in the given Department."
                            },
                            "analytics_email": {
                              "type": "boolean",
                              "default": false,
                              "description": "Should the TeamMember receive scheduled Analytics emails for the given Department?"
                            },
                            "manage_dept_admins_and_devs": {
                              "type": "boolean",
                              "default": false,
                              "description": "Should the TeamMember be able to manage Department Admins and Developers in the given 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 replaces the TeamMember's entire set of permissions, it does not append to them."
                  }
                },
                "required": [
                  "id"
                ]
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X PUT \\\n  \"https://api.accredible.com/v1/team_members/12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"team_member\": {\n    \"department_permissions\": [\n      {\n        \"department_id\": 34,\n        \"permissions\": {\n          \"designs\": false,\n          \"emails\": false,\n          \"credential_attributes\": true,\n          \"analytics\": true,\n          \"settings\": true,\n          \"role\": \"editor\",\n          \"pathways\": true,\n          \"groups\": [\n            1,\n            2,\n            3\n          ],\n          \"api\": false,\n          \"team\": true,\n          \"access_level\": \"department_admin\",\n          \"analytics_email\": true,\n          \"manage_dept_admins_and_devs\": true\n        }\n      },\n      {\n        \"department_id\": 35,\n        \"permissions\": {\n          \"designs\": false,\n          \"emails\": false,\n          \"credential_attributes\": false,\n          \"analytics\": false,\n          \"settings\": false,\n          \"role\": \"viewer\",\n          \"pathways\": false,\n          \"groups\": null,\n          \"api\": false,\n          \"team\": false,\n          \"access_level\": \"team_member\",\n          \"analytics_email\": false,\n          \"manage_dept_admins_and_devs\": false\n        }\n      }\n    ]\n  }\n}'"
          }
        ]
      },
      "delete": {
        "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": {
                                "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"
                                  },
                                  "pathways": {
                                    "type": "boolean"
                                  },
                                  "groups": {
                                    "type": "array",
                                    "items": {
                                      "type": "number"
                                    },
                                    "nullable": true
                                  },
                                  "api": {
                                    "type": "boolean"
                                  },
                                  "team": {
                                    "type": "boolean"
                                  },
                                  "spotlight_directory": {
                                    "type": "boolean"
                                  },
                                  "access_level": {
                                    "type": "string",
                                    "enum": [
                                      "organization_admin",
                                      "department_admin",
                                      "team_member",
                                      "developer"
                                    ]
                                  },
                                  "analytics_email": {
                                    "type": "boolean"
                                  },
                                  "manage_dept_admins_and_devs": {
                                    "type": "boolean"
                                  }
                                }
                              }
                            },
                            "required": [
                              "department",
                              "permissions"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "team_member": {
                    "id": 12345,
                    "name": "John Doe",
                    "email": "person@example.com",
                    "department_permissions": [
                      {
                        "department": 34,
                        "permissions": {
                          "designs": true,
                          "emails": true,
                          "credential_attributes": true,
                          "analytics": true,
                          "settings": true,
                          "role": "editor",
                          "pathways": true,
                          "groups": [
                            1,
                            2,
                            3
                          ],
                          "api": false,
                          "team": true,
                          "spotlight_directory": false,
                          "access_level": "department_admin",
                          "analytics_email": true,
                          "manage_dept_admins_and_devs": true
                        }
                      },
                      {
                        "department": 35,
                        "permissions": {
                          "designs": false,
                          "emails": false,
                          "credential_attributes": false,
                          "analytics": false,
                          "settings": false,
                          "role": "viewer",
                          "pathways": false,
                          "groups": null,
                          "api": false,
                          "team": false,
                          "spotlight_directory": false,
                          "access_level": "team_member",
                          "analytics_email": false,
                          "manage_dept_admins_and_devs": false
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "summary": "Delete a Team Member",
        "operationId": "Delete a Team Member",
        "description": "Remove a TeamMember from the Departments your API key can reach.\n\nWhat the request removes depends on the type of API key you use:\n\n| Access Level | Account-wide key | Department-specific key |\n| --- | --- | --- |\n| Team Member | Any Department in the account | Its own Department only |\n| Department Admin | Any Department in the account | Not removed |\n| Developer | Any Department in the account | Not removed |\n| Organization Admin | Not removed | Not removed |",
        "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": []
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X DELETE \\\n  \"https://api.accredible.com/v1/team_members/12345\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\""
          }
        ]
      }
    },
    "/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": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X GET \\\n  \"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\"}'"
          }
        ],
        "x-code-samples": [
          {
            "lang": "cURL",
            "label": "cURL",
            "source": "curl -X POST \\\n  \"https://api.accredible.com/v1/sso/generate_link\" \\\n  -H \"Authorization: Token token=YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"credential_id\": \"12345\"\n}'"
          }
        ]
      }
    }
  },
  "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": "Skills Frameworks",
      "description": "A Skills Framework is a structured taxonomy of skills. Accredible maintains external frameworks such as O*NET, ESCO and NACE, and your organization can upload its own custom frameworks. Tagging a Group against a framework replaces the free-text `learning_outcomes` list with skills that carry a stable identifier and a known position in a recognized taxonomy.\n\nThese endpoints are **read-only**. Uploading frameworks, editing their skills, publishing and retiring versions are all managed in the [Accredible Dashboard](https://dashboard.accredible.com/) — the API lets you discover the frameworks available to you, search their skills, and select those skills on a Group.\n\n## Frameworks are versioned\n\nYou always tag against a **version**, never a framework. Each framework in the list response carries a `versions` array; take the `id` of the version you want and send it as `skill_framework_version_id` when you create or update a Group. Only published versions (`active` and `retired`) are ever returned.\n\nThe version's status decides what a write does. Tagging against the `active` version attaches your skills. Tagging against a `retired` version never fails the request — the Group is still created or updated, but the skills are ignored and the response is a `207` with a `version_retired` error.\n\n## Skills know where they live\n\nA skill sits at a position in its framework's hierarchy, and in some taxonomies it legitimately sits in more than one. The skills search response returns one row per skill with a `breadcrumbs` array — one trail per placement, each trail listing the skill's ancestors from the root down to its immediate parent.\n\nWhen you attach a skill to a Group you send both the skill `id` and the `breadcrumb_ids` of the trail you mean, so the placement is unambiguous. The ids in a `breadcrumbs` trail are exactly what `breadcrumb_ids` expects — you can copy them straight from a search result into a Group request. Because the pair `(id, breadcrumb_ids)` identifies a placement, the same skill id may appear more than once with different trails.\n\n## Reading skills back off a credential\n\nYou do not need to call these endpoints to display a credential's skills. [Credential](#tag/Credentials) responses carry a `skills` array for the Group the credential was issued from, with each skill's external `identifier` and its `breadcrumbs` trail, so a consumer pulling credentials can render skills without a second request.\n\nThe framework those skills belong to is a property of the Group, not of the credential, so it is not repeated on every credential. Follow the credential's `group_id` to [View a Group](#operation/View%20a%20Group) and read `skill_framework` — the Group response carries the same `skills` array alongside it.\n\nThe array is empty when the Group uses free-text `learning_outcomes`, when it has a framework selected but no skills that can be tagged, and when the credential has no Group at all.\n\n## Relationship to existing Group fields\n\nFramework skills and free-text `learning_outcomes` can both be set on a Group; neither is rejected or cleared by the other. Where a credential displays a single skills list, framework skills take precedence. `skill_category_id` is a separate, unrelated classification and is unaffected.\n\n## Skills that cannot be attached return a 207, not a failed write\n\nWhen skills cannot be attached — because the version is retired, the framework is not available to the Department, a skill id is not in the version, or a breadcrumb trail is invalid — the Group write does not fail. The Group is still created or updated, every valid skill is attached, the rest are ignored, and each reason is itemized in the `errors` array of a `207 Multi-Status` response. Attachment is per-skill, so one invalid skill does not stop the others from attaching. Read `skill_framework` and `skills` off a `207` response to see exactly what was saved.\n\nThere is one exception. If your plan does not include access to skills frameworks and you send framework parameters for a Group that is **already** framework-backed, [Update a Group](#operation/Update%20a%20Group) returns a hard `403` and nothing in the request is saved, including changes to unrelated fields. The Group's framework and skills stay saved and readable, and moving it to free-text skills with `\"framework_skills\": null` is still allowed.\n\nSee [Skills Frameworks Error Handling](#section/Errors/Skills-Frameworks-Error-Handling) for the full list of codes."
    },
    {
      "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": "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",
      "description": "Accredible Dashboard users who create, edit or manage Credentials as part of your Organization."
    },
    {
      "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."
    },
    {
      "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."
    }
  ]
}