From 274a35f94a5000cfc180cd2cf4d40f5693766896 Mon Sep 17 00:00:00 2001 From: Troy Taylor <44444967+troystaylor@users.noreply.github.com> Date: Fri, 10 Jun 2022 11:49:46 -0400 Subject: [PATCH] Add files via upload (#1279) --- .../Badgr/apiDefinition.swagger.json | 8456 +++++++++++++++++ .../Badgr/apiProperties.json | 37 + .../Badgr/readme.md | 105 + 3 files changed, 8598 insertions(+) create mode 100644 independent-publisher-connectors/Badgr/apiDefinition.swagger.json create mode 100644 independent-publisher-connectors/Badgr/apiProperties.json create mode 100644 independent-publisher-connectors/Badgr/readme.md diff --git a/independent-publisher-connectors/Badgr/apiDefinition.swagger.json b/independent-publisher-connectors/Badgr/apiDefinition.swagger.json new file mode 100644 index 000000000..5cc5ffcb4 --- /dev/null +++ b/independent-publisher-connectors/Badgr/apiDefinition.swagger.json @@ -0,0 +1,8456 @@ +{ + "swagger": "2.0", + "info": { + "title": "Badgr", + "version": "1.0", + "description": "Organizations around the world use Badgr to create branded learning ecosystems that support their communities with skills-based digital credentials, stackable learning pathways, and portable learner records.", + "contact": { + "name": "Troy Taylor", + "url": "https://www.hitachisolutions.com", + "email": "ttaylor@hitachisolutions.com" + } + }, + "host": "api.badgr.io", + "basePath": "/", + "schemes": [ + "https" + ], + "consumes": ["application/json"], + "produces": [], + "parameters": {}, + "paths": { + "/v2/issuers": { + "get": { + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "email": { + "type": "string", + "description": "The email address.", + "title": "Email" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "staff": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of the entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "userProfile": { + "type": "string", + "description": "The profile of the user.", + "title": "User Profile" + }, + "user": { + "type": "string", + "description": "The user.", + "title": "User" + }, + "role": { + "type": "string", + "description": "The role.", + "title": "Role" + } + } + }, + "title": "Staff" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgrDomain": { + "type": "string", + "description": "The domain of Badgr.", + "title": "Badgr Domain" + } + } + } + } + } + }, + "description": "Successful operation" + } + }, + "summary": "Get Issuers", + "tags": [ + "Issuers" + ], + "description": "Get a list of Issuers for authenticated user.", + "operationId": "IssuerGet" + }, + "post": { + "parameters": [ + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "email": { + "type": "string", + "description": "The email address.", + "title": "Email" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "staff": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "userProfile": { + "type": "string", + "description": "The profile of the user.", + "title": "User Profile" + }, + "user": { + "type": "string", + "description": "The user.", + "title": "User" + }, + "role": { + "type": "string", + "description": "The role.", + "title": "Role" + } + } + }, + "title": "Staff" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgrDomain": { + "type": "string", + "description": "The domain of Badgr.", + "title": "Badgr Domain" + } + } + } + } + ], + "responses": { + "201": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "email": { + "type": "string", + "description": "The email address.", + "title": "Email" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "staff": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of the entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "userProfile": { + "type": "string", + "description": "The profile of the user.", + "title": "User Profile" + }, + "user": { + "type": "string", + "description": "The user.", + "title": "User" + }, + "role": { + "type": "string", + "description": "The role.", + "title": "Role" + } + } + }, + "title": "Staff" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgrDomain": { + "type": "string", + "description": "The domain of Badgr.", + "title": "Badgr Domain" + } + } + } + } + } + }, + "description": "Successfully created" + }, + "400": { + "description": "Validation error" + } + }, + "summary": "Create a Issuer", + "tags": [ + "Issuers" + ], + "description": "Create a new Issuer.", + "operationId": "IssuerCreate" + } + }, + "/v2/issuers/{entity_id}": { + "get": { + "parameters": [ + { + "in": "path", + "description": "The identifier of the entity", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "name": "entity_id", + "type": "string", + "required": true + } + ], + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "description": "The array of results.", + "title": "Results", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "email": { + "type": "string", + "description": "The email address.", + "title": "Email" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "staff": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of the entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "userProfile": { + "type": "string", + "description": "The profile of the user.", + "title": "User Profile" + }, + "user": { + "type": "string", + "description": "The user.", + "title": "User" + }, + "role": { + "type": "string", + "description": "The role.", + "title": "Role" + } + } + }, + "title": "Staff" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgrDomain": { + "type": "string", + "description": "The domain of Badgr.", + "title": "Badgr Domain" + } + } + } + } + } + }, + "description": "Successful operation" + }, + "404": { + "description": "Issuer not found" + } + }, + "summary": "Get an Issuer", + "tags": [ + "Issuers" + ], + "description": "Get a single Issuer.", + "operationId": "IssuerGetA" + }, + "delete": { + "parameters": [ + { + "in": "path", + "description": "The identifier of the entity", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "name": "entity_id", + "type": "string", + "required": true + } + ], + "responses": { + "204": { + "description": "Issuer was deleted successfully." + }, + "404": { + "description": "Issuer not found" + } + }, + "summary": "Delete an Issuer", + "tags": [ + "Issuers" + ], + "description": "Delete a single Issuer.", + "operationId": "IssuerDelete" + }, + "put": { + "parameters": [ + { + "name": "entity_id", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "description": "The identifier of the entity.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "email": { + "type": "string", + "description": "The email address.", + "title": "Email" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "staff": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "userProfile": { + "type": "string", + "description": "The profile of the user.", + "title": "User Profile" + }, + "user": { + "type": "string", + "description": "The user.", + "title": "User" + }, + "role": { + "type": "string", + "description": "The role.", + "title": "Role" + } + } + }, + "title": "Staff" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgrDomain": { + "type": "string", + "description": "The domain of Badgr.", + "title": "Badgr Domain" + } + } + } + } + ], + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "description": "The array of results.", + "title": "Results", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "email": { + "type": "string", + "description": "The email address.", + "title": "Email" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "staff": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of the entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "userProfile": { + "type": "string", + "description": "The profile of the user.", + "title": "User Profile" + }, + "user": { + "type": "string", + "description": "The user.", + "title": "User" + }, + "role": { + "type": "string", + "description": "The role.", + "title": "Role" + } + } + }, + "title": "Staff" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgrDomain": { + "type": "string", + "description": "The domain of Badgr.", + "title": "Badgr Domain" + } + } + } + } + } + }, + "description": "Successfully updated" + }, + "400": { + "description": "Validation error" + }, + "404": { + "description": "Issuer not found" + } + }, + "summary": "Update an Issuer", + "tags": [ + "Issuers" + ], + "description": "Update a single Issuer.", + "operationId": "IssuerUpdate" + } + }, + "/v2/issuers/{entity_id}/assertions": { + "get": { + "parameters": [ + { + "in": "path", + "description": "The identifier of the entity", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "name": "entity_id", + "type": "string", + "required": true + }, + { + "in": "query", + "x-ms-summary": "Recipient", + "name": "recipient", + "type": "string", + "description": "A recipient identifier to filter by" + }, + { + "in": "query", + "x-ms-summary": "Number", + "name": "num", + "type": "string", + "description": "Request pagination of results" + }, + { + "in": "query", + "x-ms-summary": "Include Expired", + "name": "include_expired", + "type": "boolean", + "description": "Include expired assertions" + }, + { + "in": "query", + "x-ms-summary": "Include Revoked", + "name": "include_revoked", + "type": "boolean", + "description": "Include revoked assertions" + } + ], + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "badgeclass": { + "type": "string", + "description": "The definition of an earnable badge.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "title": "Recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "revoked": { + "type": "boolean", + "description": "Whether revoked.", + "title": "Revoked" + }, + "revocationReason": { + "type": "string", + "description": "The reason for revocation.", + "title": "Revocation Reason" + }, + "acceptance": { + "type": "string", + "description": "When the badge was accepted.", + "title": "Acceptance" + }, + "expires": { + "type": "string", + "description": "When the badge expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + } + } + } + }, + "description": "Successful operation" + } + }, + "summary": "Get Assertions", + "tags": [ + "Assertions", + "Issuers" + ], + "description": "Get a list of Assertions for a single Issuer.", + "operationId": "AssertionGet" + }, + "post": { + "parameters": [ + { + "name": "entity_id", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "description": "The identifier of the entity.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "badgeclass": { + "type": "string", + "description": "The definition of an earnable badge.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners. .", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "title": "Recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "expires": { + "type": "string", + "description": "When expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + } + } + ], + "responses": { + "201": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "badgeclass": { + "type": "string", + "description": "The definition of an earnable badge.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "title": "Recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "revoked": { + "type": "boolean", + "description": "Whether revoked.", + "title": "Revoked" + }, + "revocationReason": { + "type": "string", + "description": "The reason for revocation.", + "title": "Revocation Reason" + }, + "acceptance": { + "type": "string", + "description": "When the badge was accepted.", + "title": "Acceptance" + }, + "expires": { + "type": "string", + "description": "When the badge expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + } + } + } + }, + "description": "Successfully created" + }, + "400": { + "description": "Validation error" + } + }, + "summary": "Issue an Assertion", + "tags": [ + "Assertions", + "Issuers" + ], + "description": "Issue a new Assertion to a recipient.", + "operationId": "AssertionIssue" + } + }, + "/v2/issuers/{entity_id}/badgeclasses": { + "get": { + "parameters": [ + { + "in": "path", + "description": "The identifier of the entity", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "name": "entity_id", + "type": "string", + "required": true + }, + { + "in": "query", + "x-ms-summary": "Number", + "name": "num", + "type": "string", + "description": "Request pagination of results" + } + ], + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "achievementType": { + "type": "string", + "description": "The type of achievement.", + "title": "Achievement Type" + }, + "criteriaUrl": { + "type": "string", + "description": "The URL address of the criteria.", + "title": "Criteria URL" + }, + "criteriaNarrative": { + "type": "string", + "description": "The narrative of the criteria.", + "title": "Criteria Narrative" + }, + "alignments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "targetName": { + "type": "string", + "description": "The name of the target.", + "title": "Target Name" + }, + "targetUrl": { + "type": "string", + "description": "The URL address of the target.", + "title": "Target URL" + }, + "targetDescription": { + "type": "string", + "description": "The description of the target.", + "title": "Target Description" + }, + "targetFramework": { + "type": "string", + "description": "The framework of the target.", + "title": "Target Framework" + }, + "targetCode": { + "type": "string", + "description": "The code of the target.", + "title": "Target Code" + } + } + }, + "title": "Alignments" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Tags" + }, + "expires": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "description": "The amount.", + "title": "Amount" + }, + "duration": { + "type": "string", + "description": "The duration.", + "title": "Duration" + } + }, + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + } + } + } + } + } + }, + "description": "Successful operation" + } + }, + "summary": "Get Issuer's BadgeClasses", + "description": "Get a list of BadgeClasses for a single Issuer. Authenticated user must have owner, editor, or staff status on the Issuer.", + "tags": [ + "Issuers", + "BadgeClasses" + ], + "operationId": "ClassGetIssuer" + }, + "post": { + "parameters": [ + { + "name": "entity_id", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "description": "The identifier of the entity.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners. .", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "achievementType": { + "type": "string", + "description": "The type of achievement.", + "title": "Achievement Type" + }, + "criteriaUrl": { + "type": "string", + "description": "The URL of the criteria.", + "title": "Criteria URL" + }, + "criteriaNarrative": { + "type": "string", + "description": "The narrative of the criteria.", + "title": "Criteria Narrative" + }, + "alignments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "targetName": { + "type": "string", + "description": "The name of the target.", + "title": "Target Name" + }, + "targetUrl": { + "type": "string", + "description": "The URL of the target.", + "title": "Target URL" + }, + "targetDescription": { + "type": "string", + "description": "The description of the target.", + "title": "Target Description" + }, + "targetFramework": { + "type": "string", + "description": "The framework of the target.", + "title": "Target Framework" + }, + "targetCode": { + "type": "string", + "description": "The code of the target.", + "title": "Target Code" + } + } + }, + "title": "Alignments" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Tags" + }, + "expires": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "description": "The amount.", + "title": "Amount" + }, + "duration": { + "type": "string", + "description": "The duration.", + "title": "Duration" + } + }, + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + } + } + } + } + ], + "responses": { + "201": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "achievementType": { + "type": "string", + "description": "The type of achievement.", + "title": "Achievement Type" + }, + "criteriaUrl": { + "type": "string", + "description": "The URL address of the criteria.", + "title": "Criteria URL" + }, + "criteriaNarrative": { + "type": "string", + "description": "The narrative of the criteria.", + "title": "Criteria Narrative" + }, + "alignments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "targetName": { + "type": "string", + "description": "The name of the target.", + "title": "Target Name" + }, + "targetUrl": { + "type": "string", + "description": "The URL address of the target.", + "title": "Target URL" + }, + "targetDescription": { + "type": "string", + "description": "The description of the target.", + "title": "Target Description" + }, + "targetFramework": { + "type": "string", + "description": "The framework of the target.", + "title": "Target Framework" + }, + "targetCode": { + "type": "string", + "description": "The code of the target.", + "title": "Target Code" + } + } + }, + "title": "Alignments" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Tags" + }, + "expires": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "description": "The amount.", + "title": "Amount" + }, + "duration": { + "type": "string", + "description": "The duration.", + "title": "Duration" + } + }, + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + } + } + } + } + } + }, + "description": "Successfully created" + }, + "400": { + "description": "Validation error" + } + }, + "summary": "Create an Issuer's BadgeClass", + "description": "Create a new BadgeClass associated with an Issuer. Authenticated user must have owner, editor, or staff status on the Issuer.", + "tags": [ + "Issuers", + "BadgeClasses" + ], + "operationId": "ClassCreateIssuer" + } + }, + "/v2/badgeclasses": { + "get": { + "parameters": [], + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "achievementType": { + "type": "string", + "description": "The type of achievement.", + "title": "Achievement Type" + }, + "criteriaUrl": { + "type": "string", + "description": "The URL address of the criteria.", + "title": "Criteria URL" + }, + "criteriaNarrative": { + "type": "string", + "description": "The narrative of the criteria.", + "title": "Criteria Narrative" + }, + "alignments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "targetName": { + "type": "string", + "description": "The name of the target.", + "title": "Target Name" + }, + "targetUrl": { + "type": "string", + "description": "The URL address of the target.", + "title": "Target URL" + }, + "targetDescription": { + "type": "string", + "description": "The description of the target.", + "title": "Target Description" + }, + "targetFramework": { + "type": "string", + "description": "The framework of the target.", + "title": "Target Framework" + }, + "targetCode": { + "type": "string", + "description": "The code of the target.", + "title": "Target Code" + } + } + }, + "title": "Alignments" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Tags" + }, + "expires": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "description": "The amount.", + "title": "Amount" + }, + "duration": { + "type": "string", + "description": "The duration.", + "title": "Duration" + } + }, + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + } + } + } + } + } + }, + "description": "Successful operation" + } + }, + "summary": "Get user's BadgeClasses", + "tags": [ + "BadgeClasses" + ], + "description": "Get a list of BadgeClasses for authenticated user.", + "operationId": "ClassGetUser" + }, + "post": { + "parameters": [ + { + "name": "num", + "in": "query", + "x-ms-summary": "Number", + "required": false, + "type": "integer", + "description": "Request pagination of results" + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners. .", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "achievementType": { + "type": "string", + "description": "The type of achievement.", + "title": "Achievement Type" + }, + "criteriaUrl": { + "type": "string", + "description": "The URL of the criteria.", + "title": "Criteria URL" + }, + "criteriaNarrative": { + "type": "string", + "description": "The narrative of the criteria.", + "title": "Criteria Narrative" + }, + "alignments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "targetName": { + "type": "string", + "description": "The name of the target.", + "title": "Target Name" + }, + "targetUrl": { + "type": "string", + "description": "The URL of the target.", + "title": "Target URL" + }, + "targetDescription": { + "type": "string", + "description": "The description of the target.", + "title": "Target Description" + }, + "targetFramework": { + "type": "string", + "description": "The framework of the target.", + "title": "Target Framework" + }, + "targetCode": { + "type": "string", + "description": "The code of the target.", + "title": "Target Code" + } + } + }, + "title": "Alignments" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Tags" + }, + "expires": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "description": "The amount.", + "title": "Amount" + }, + "duration": { + "type": "string", + "description": "The duration.", + "title": "Duration" + } + }, + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + } + } + } + } + ], + "responses": { + "201": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "achievementType": { + "type": "string", + "description": "The type of achievement.", + "title": "Achievement Type" + }, + "criteriaUrl": { + "type": "string", + "description": "The URL address of the criteria.", + "title": "Criteria URL" + }, + "criteriaNarrative": { + "type": "string", + "description": "The narrative of the criteria.", + "title": "Criteria Narrative" + }, + "alignments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "targetName": { + "type": "string", + "description": "The name of the target.", + "title": "Target Name" + }, + "targetUrl": { + "type": "string", + "description": "The URL address of the target.", + "title": "Target URL" + }, + "targetDescription": { + "type": "string", + "description": "The description of the target.", + "title": "Target Description" + }, + "targetFramework": { + "type": "string", + "description": "The framework of the target.", + "title": "Target Framework" + }, + "targetCode": { + "type": "string", + "description": "The code of the target.", + "title": "Target Code" + } + } + }, + "title": "Alignments" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Tags" + }, + "expires": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "description": "The amount.", + "title": "Amount" + }, + "duration": { + "type": "string", + "description": "The duration.", + "title": "Duration" + } + }, + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + } + } + } + } + } + }, + "description": "Successfully created" + }, + "400": { + "description": "Validation error" + } + }, + "summary": "Create a BadgeClass", + "tags": [ + "BadgeClasses" + ], + "description": "Create a new BadgeClass.", + "operationId": "ClassCreate" + } + }, + "/v2/badgeclasses/{entity_id}": { + "get": { + "parameters": [ + { + "in": "path", + "description": "The identifier of the entity", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "name": "entity_id", + "type": "string", + "required": true + } + ], + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "description": "The array of results.", + "title": "Results", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "achievementType": { + "type": "string", + "description": "The type of achievement.", + "title": "Achievement Type" + }, + "criteriaUrl": { + "type": "string", + "description": "The URL address of the criteria.", + "title": "Criteria URL" + }, + "criteriaNarrative": { + "type": "string", + "description": "The narrative of the criteria.", + "title": "Criteria Narrative" + }, + "alignments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "targetName": { + "type": "string", + "description": "The name of the target.", + "title": "Target Name" + }, + "targetUrl": { + "type": "string", + "description": "The URL address of the target.", + "title": "Target URL" + }, + "targetDescription": { + "type": "string", + "description": "The description of the target.", + "title": "Target Description" + }, + "targetFramework": { + "type": "string", + "description": "The framework of the target.", + "title": "Target Framework" + }, + "targetCode": { + "type": "string", + "description": "The code of the target.", + "title": "Target Code" + } + } + }, + "title": "Alignments" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Tags" + }, + "expires": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "description": "The amount.", + "title": "Amount" + }, + "duration": { + "type": "string", + "description": "The duration.", + "title": "Duration" + } + }, + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + } + } + } + } + } + }, + "description": "Successful operation" + }, + "404": { + "description": "BadgeClass not found" + } + }, + "summary": "Get a BadgeClass", + "tags": [ + "BadgeClasses" + ], + "description": "Get a single BadgeClass.", + "operationId": "ClassGet" + }, + "delete": { + "parameters": [ + { + "in": "path", + "description": "The identifier of the entity", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "name": "entity_id", + "type": "string", + "required": true + } + ], + "responses": { + "204": { + "description": "BadgeClass was deleted successfully." + }, + "400": { + "description": "BadgeClass couldn't be deleted. It may have already been issued." + }, + "404": { + "description": "BadgeClass not found" + } + }, + "summary": "Delete a BadgeClass", + "description": "Delete a BadgeClass. Restricted to owners or editors (not staff) of the corresponding Issuer.", + "tags": [ + "BadgeClasses" + ], + "operationId": "ClassDelete" + }, + "put": { + "parameters": [ + { + "name": "entity_id", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "description": "The identifier of the entity.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners. .", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "achievementType": { + "type": "string", + "description": "The type of achievement.", + "title": "Achievement Type" + }, + "criteriaUrl": { + "type": "string", + "description": "The URL of the criteria.", + "title": "Criteria URL" + }, + "criteriaNarrative": { + "type": "string", + "description": "The narrative of the criteria.", + "title": "Criteria Narrative" + }, + "alignments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "targetName": { + "type": "string", + "description": "The name of the target.", + "title": "Target Name" + }, + "targetUrl": { + "type": "string", + "description": "The URL of the target.", + "title": "Target URL" + }, + "targetDescription": { + "type": "string", + "description": "The description of the target.", + "title": "Target Description" + }, + "targetFramework": { + "type": "string", + "description": "The framework of the target.", + "title": "Target Framework" + }, + "targetCode": { + "type": "string", + "description": "The code of the target.", + "title": "Target Code" + } + } + }, + "title": "Alignments" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Tags" + }, + "expires": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "description": "The amount.", + "title": "Amount" + }, + "duration": { + "type": "string", + "description": "The duration.", + "title": "Duration" + } + }, + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + } + } + } + } + ], + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "description": "The array of results.", + "title": "Results", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "achievementType": { + "type": "string", + "description": "The type of achievement.", + "title": "Achievement Type" + }, + "criteriaUrl": { + "type": "string", + "description": "The URL address of the criteria.", + "title": "Criteria URL" + }, + "criteriaNarrative": { + "type": "string", + "description": "The narrative of the criteria.", + "title": "Criteria Narrative" + }, + "alignments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "targetName": { + "type": "string", + "description": "The name of the target.", + "title": "Target Name" + }, + "targetUrl": { + "type": "string", + "description": "The URL address of the target.", + "title": "Target URL" + }, + "targetDescription": { + "type": "string", + "description": "The description of the target.", + "title": "Target Description" + }, + "targetFramework": { + "type": "string", + "description": "The framework of the target.", + "title": "Target Framework" + }, + "targetCode": { + "type": "string", + "description": "The code of the target.", + "title": "Target Code" + } + } + }, + "title": "Alignments" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Tags" + }, + "expires": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "description": "The amount.", + "title": "Amount" + }, + "duration": { + "type": "string", + "description": "The duration.", + "title": "Duration" + } + }, + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + } + } + } + } + } + }, + "description": "Successfully updated" + }, + "400": { + "description": "Validation error" + }, + "404": { + "description": "BadgeClass not found" + } + }, + "summary": "Update a BadgeClass", + "tags": [ + "BadgeClasses" + ], + "description": "Update an existing BadgeClass. Previously issued BadgeInstances will not be updated.", + "operationId": "ClassUpdate" + } + }, + "/v2/badgeclasses/{entity_id}/assertions": { + "get": { + "parameters": [ + { + "in": "path", + "description": "The identifier of the entity", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "name": "entity_id", + "type": "string", + "required": true + }, + { + "in": "query", + "x-ms-summary": "Recipient", + "name": "recipient", + "type": "string", + "description": "A recipient identifier to filter by" + }, + { + "in": "query", + "x-ms-summary": "Number", + "name": "num", + "type": "string", + "description": "Request pagination of results" + }, + { + "in": "query", + "x-ms-summary": "Include Expired", + "name": "include_expired", + "type": "boolean", + "description": "Include expired assertions" + }, + { + "in": "query", + "x-ms-summary": "Include Revoked", + "name": "include_revoked", + "type": "boolean", + "description": "Include revoked assertions" + } + ], + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "badgeclass": { + "type": "string", + "description": "The definition of an earnable badge.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "title": "Recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "revoked": { + "type": "boolean", + "description": "Whether revoked.", + "title": "Revoked" + }, + "revocationReason": { + "type": "string", + "description": "The reason for revocation.", + "title": "Revocation Reason" + }, + "acceptance": { + "type": "string", + "description": "When the badge was accepted.", + "title": "Acceptance" + }, + "expires": { + "type": "string", + "description": "When the badge expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + } + } + } + }, + "description": "Successful operation" + } + }, + "summary": "Get BadgeClass's Assertions", + "tags": [ + "Assertions", + "BadgeClasses" + ], + "description": "Get a list of Assertions for a single BadgeClass.", + "operationId": "ClassGetAssertion" + }, + "post": { + "parameters": [ + { + "name": "entity_id", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "description": "The identifier of the entity.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "badgeclass": { + "type": "string", + "description": "The definition of an earnable badge.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners. .", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "title": "Recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "expires": { + "type": "string", + "description": "When expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + } + } + ], + "responses": { + "201": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "badgeclass": { + "type": "string", + "description": "The definition of an earnable badge.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "title": "Recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "revoked": { + "type": "boolean", + "description": "Whether revoked.", + "title": "Revoked" + }, + "revocationReason": { + "type": "string", + "description": "The reason for revocation.", + "title": "Revocation Reason" + }, + "acceptance": { + "type": "string", + "description": "When the badge was accepted.", + "title": "Acceptance" + }, + "expires": { + "type": "string", + "description": "When the badge expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + } + } + } + }, + "description": "Successfully created" + }, + "400": { + "description": "Validation error" + } + }, + "summary": "Issue an Assertion", + "tags": [ + "Assertions", + "BadgeClasses" + ], + "description": "Issue an Assertion to a single recipient.", + "operationId": "ClassIssueAssertion" + } + }, + "/v2/assertions/{entity_id}": { + "get": { + "parameters": [ + { + "in": "path", + "description": "The identifier of the entity", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "name": "entity_id", + "type": "string", + "required": true + } + ], + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "description": "The array of results.", + "title": "Results", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "badgeclass": { + "type": "string", + "description": "The definition of an earnable badge.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "title": "Recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "revoked": { + "type": "boolean", + "description": "Whether revoked.", + "title": "Revoked" + }, + "revocationReason": { + "type": "string", + "description": "The reason for revocation.", + "title": "Revocation Reason" + }, + "acceptance": { + "type": "string", + "description": "When the badge was accepted.", + "title": "Acceptance" + }, + "expires": { + "type": "string", + "description": "When the badge expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + } + } + } + }, + "description": "Successful operation" + }, + "404": { + "description": "Assertion not found" + } + }, + "summary": "Get a single Assertion", + "tags": [ + "Assertions" + ], + "description": "Get an Assertion", + "operationId": "AssertionGetA" + }, + "delete": { + "parameters": [ + { + "in": "path", + "description": "The identifier of the entity", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "name": "entity_id", + "type": "string", + "required": true + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "revocation_reason": { + "type": "string", + "description": "The reason for revoking this assertion", + "title": "Revocation Reason" + } + } + } + } + ], + "responses": { + "204": { + "description": "Assertion was deleted successfully." + }, + "400": { + "description": "Assertion is already revoked" + }, + "404": { + "description": "Assertion not found" + } + }, + "summary": "Revoke an Assertion", + "tags": [ + "Assertions" + ], + "description": "Revoke an Assertion.", + "operationId": "AssertionRevoke" + }, + "put": { + "parameters": [ + { + "name": "entity_id", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "description": "The identifier of the entity.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "badgeclass": { + "type": "string", + "description": "The definition of an earnable badge.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners. .", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "title": "Recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "expires": { + "type": "string", + "description": "When expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + } + } + ], + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "description": "The array of results.", + "title": "Results", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "badgeclass": { + "type": "string", + "description": "The definition of an earnable badge.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "title": "Recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "revoked": { + "type": "boolean", + "description": "Whether revoked.", + "title": "Revoked" + }, + "revocationReason": { + "type": "string", + "description": "The reason for revocation.", + "title": "Revocation Reason" + }, + "acceptance": { + "type": "string", + "description": "When the badge was accepted.", + "title": "Acceptance" + }, + "expires": { + "type": "string", + "description": "When the badge expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + } + } + } + }, + "description": "Successfully updated" + }, + "400": { + "description": "Validation error" + }, + "404": { + "description": "Assertion not found" + } + }, + "summary": "Update an Assertion", + "tags": [ + "Assertions" + ], + "description": "Update an Assertion.", + "operationId": "AssertionUpdate" + } + }, + "/v2/auth/tokens": { + "get": { + "parameters": [], + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "items": { + "$ref": "#/definitions/AccessToken" + } + } + } + }, + "description": "Successful operation" + } + }, + "summary": "Get user's access tokens", + "tags": [ + "Authentication" + ], + "description": "Get a list of access tokens for authenticated user.", + "operationId": "TokenGet" + } + }, + "/v2/auth/tokens/{entity_id}": { + "get": { + "parameters": [ + { + "in": "path", + "description": "The identifier of the entity", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "name": "entity_id", + "type": "string", + "required": true + } + ], + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "$ref": "#/definitions/AccessToken" + } + } + }, + "description": "Successful operation" + }, + "404": { + "description": "AccessToken not found" + } + }, + "summary": "Get an AccessToken", + "tags": [ + "Authentication" + ], + "description": "Get a single AccessToken.", + "operationId": "TokenGetA" + }, + "delete": { + "parameters": [ + { + "in": "path", + "description": "The identifier of the entity", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "name": "entity_id", + "type": "string", + "required": true + } + ], + "responses": { + "204": { + "description": "AccessToken was deleted successfully." + }, + "404": { + "description": "AccessToken not found" + } + }, + "summary": "Revoke an AccessToken", + "tags": [ + "Authentication" + ], + "description": "Revoke a user's AccessToken.", + "operationId": "TokenRevoke" + } + }, + "/v2/users/{entity_id}": { + "get": { + "parameters": [ + { + "in": "path", + "description": "The identifier of the entity", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "name": "entity_id", + "type": "string", + "required": true + } + ], + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "description": "The array of results.", + "title": "Results", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "firstName": { + "type": "string", + "description": "The first name.", + "title": "First Name" + }, + "lastName": { + "type": "string", + "description": "The last name.", + "title": "Last Name" + }, + "emails": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of the entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "email": { + "type": "string", + "description": "The email address.", + "title": "Email" + }, + "verified": { + "type": "boolean", + "description": "Whether verified.", + "title": "Verified" + }, + "primary": { + "type": "boolean", + "description": "Whether primary.", + "title": "Primary" + }, + "caseVariants": { + "type": "string", + "description": "The case variants.", + "title": "Case Variants" + } + } + }, + "title": "Emails" + }, + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "telephone": { + "type": "string", + "description": "The telephone number.", + "title": "Telephone" + }, + "agreedTermsVersion": { + "type": "string", + "description": "The version of the terms aggreed.", + "title": "Agreed Terms Version" + }, + "hasAgreedToLatestTermsVersion": { + "type": "string", + "description": "The version of the laterst terms aggree.", + "title": "Has Agreed To Latest Terms Version" + }, + "marketingOptIn": { + "type": "string", + "description": "Agreed to marketing opt-in.", + "title": "Marketing Opt In" + }, + "badgrDomain": { + "type": "string", + "description": "The domain of Badgr.", + "title": "Badgr Domain" + }, + "hasPasswordSet": { + "type": "string", + "description": "If has password set.", + "title": "Has Password Set" + }, + "recipient": { + "type": "string", + "description": "The recipient.", + "title": "Recipient" + } + } + } + } + } + }, + "description": "Successful operation" + }, + "404": { + "description": "BadgeUser not found" + } + }, + "summary": "Get a BadgeUser's profile", + "description": "Get a single BadgeUser profile. Use the entityId 'self' to retrieve the authenticated user's profile.", + "tags": [ + "BadgeUsers" + ], + "operationId": "UserGetProfile" + }, + "post": { + "parameters": [ + { + "name": "entity_id", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "description": "The identifier of the entity.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "firstName": { + "type": "string", + "description": "The first name.", + "title": "First Name" + }, + "lastName": { + "type": "string", + "description": "The last name.", + "title": "Last Name" + }, + "emails": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "email": { + "type": "string", + "description": "The email address.", + "title": "Email" + }, + "verified": { + "type": "boolean", + "description": "Whether verified.", + "title": "Verified" + }, + "primary": { + "type": "boolean", + "description": "Whether primary.", + "title": "Primary" + }, + "caseVariants": { + "type": "string", + "description": "The case variants.", + "title": "Case Variants" + } + } + }, + "title": "Emails" + }, + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "telephone": { + "type": "string", + "description": "The telephone number.", + "title": "Telephone" + }, + "agreedTermsVersion": { + "type": "string", + "description": "The version of the agreed terms.", + "title": "Agreed Terms Version" + }, + "hasAgreedToLatestTermsVersion": { + "type": "string", + "description": "The version of latest terms agreed.", + "title": "Has Agreed To Latest Terms Version" + }, + "marketingOptIn": { + "type": "string", + "description": "Has opted in to marketing.", + "title": "Marketing Opt In" + }, + "badgrDomain": { + "type": "string", + "description": "The domain of Badgr.", + "title": "Badgr Domain" + }, + "hasPasswordSet": { + "type": "string", + "description": "Has password set.", + "title": "Has Password Set" + }, + "recipient": { + "type": "string", + "description": "The recipient.", + "title": "Recipient" + } + } + } + } + ], + "responses": { + "201": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "firstName": { + "type": "string", + "description": "The first name.", + "title": "First Name" + }, + "lastName": { + "type": "string", + "description": "The last name.", + "title": "Last Name" + }, + "emails": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of the entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "email": { + "type": "string", + "description": "The email address.", + "title": "Email" + }, + "verified": { + "type": "boolean", + "description": "Whether verified.", + "title": "Verified" + }, + "primary": { + "type": "boolean", + "description": "Whether primary.", + "title": "Primary" + }, + "caseVariants": { + "type": "string", + "description": "The case variants.", + "title": "Case Variants" + } + } + }, + "title": "Emails" + }, + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "telephone": { + "type": "string", + "description": "The telephone number.", + "title": "Telephone" + }, + "agreedTermsVersion": { + "type": "string", + "description": "The version of the terms aggreed.", + "title": "Agreed Terms Version" + }, + "hasAgreedToLatestTermsVersion": { + "type": "string", + "description": "The version of the laterst terms aggree.", + "title": "Has Agreed To Latest Terms Version" + }, + "marketingOptIn": { + "type": "string", + "description": "Agreed to marketing opt-in.", + "title": "Marketing Opt In" + }, + "badgrDomain": { + "type": "string", + "description": "The domain of Badgr.", + "title": "Badgr Domain" + }, + "hasPasswordSet": { + "type": "string", + "description": "If has password set.", + "title": "Has Password Set" + }, + "recipient": { + "type": "string", + "description": "The recipient.", + "title": "Recipient" + } + } + } + } + } + }, + "description": "Successfully created" + }, + "400": { + "description": "Validation error" + } + }, + "summary": "Create a BadgeUser account", + "description": "Make a BadgeUser account and profile.", + "tags": [ + "BadgeUsers" + ], + "operationId": "UserCreate" + }, + "put": { + "parameters": [ + { + "name": "entity_id", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "description": "The identifier of the entity.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "firstName": { + "type": "string", + "description": "The first name.", + "title": "First Name" + }, + "lastName": { + "type": "string", + "description": "The last name.", + "title": "Last Name" + }, + "emails": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "email": { + "type": "string", + "description": "The email address.", + "title": "Email" + }, + "verified": { + "type": "boolean", + "description": "Whether verified.", + "title": "Verified" + }, + "primary": { + "type": "boolean", + "description": "Whether primary.", + "title": "Primary" + }, + "caseVariants": { + "type": "string", + "description": "The case variants.", + "title": "Case Variants" + } + } + }, + "title": "Emails" + }, + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "telephone": { + "type": "string", + "description": "The telephone number.", + "title": "Telephone" + }, + "agreedTermsVersion": { + "type": "string", + "description": "The version of the agreed terms.", + "title": "Agreed Terms Version" + }, + "hasAgreedToLatestTermsVersion": { + "type": "string", + "description": "The version of latest terms agreed.", + "title": "Has Agreed To Latest Terms Version" + }, + "marketingOptIn": { + "type": "string", + "description": "Has opted in to marketing.", + "title": "Marketing Opt In" + }, + "badgrDomain": { + "type": "string", + "description": "The domain of Badgr.", + "title": "Badgr Domain" + }, + "hasPasswordSet": { + "type": "string", + "description": "Has password set.", + "title": "Has Password Set" + }, + "recipient": { + "type": "string", + "description": "The recipient.", + "title": "Recipient" + } + } + } + } + ], + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "description": "The array of results.", + "title": "Results", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "firstName": { + "type": "string", + "description": "The first name.", + "title": "First Name" + }, + "lastName": { + "type": "string", + "description": "The last name.", + "title": "Last Name" + }, + "emails": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of the entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "email": { + "type": "string", + "description": "The email address.", + "title": "Email" + }, + "verified": { + "type": "boolean", + "description": "Whether verified.", + "title": "Verified" + }, + "primary": { + "type": "boolean", + "description": "Whether primary.", + "title": "Primary" + }, + "caseVariants": { + "type": "string", + "description": "The case variants.", + "title": "Case Variants" + } + } + }, + "title": "Emails" + }, + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "telephone": { + "type": "string", + "description": "The telephone number.", + "title": "Telephone" + }, + "agreedTermsVersion": { + "type": "string", + "description": "The version of the terms aggreed.", + "title": "Agreed Terms Version" + }, + "hasAgreedToLatestTermsVersion": { + "type": "string", + "description": "The version of the laterst terms aggree.", + "title": "Has Agreed To Latest Terms Version" + }, + "marketingOptIn": { + "type": "string", + "description": "Agreed to marketing opt-in.", + "title": "Marketing Opt In" + }, + "badgrDomain": { + "type": "string", + "description": "The domain of Badgr.", + "title": "Badgr Domain" + }, + "hasPasswordSet": { + "type": "string", + "description": "If has password set.", + "title": "Has Password Set" + }, + "recipient": { + "type": "string", + "description": "The recipient.", + "title": "Recipient" + } + } + } + } + } + }, + "description": "Successfully updated" + }, + "400": { + "description": "Validation error" + }, + "404": { + "description": "BadgeUser not found" + } + }, + "summary": "Update a BadgeUser", + "description": "Update a BadgeUser's account. Use the entityId 'self' to update the authenticated user's profile", + "tags": [ + "BadgeUsers" + ], + "operationId": "UserUpdate" + } + }, + "/v2/backpack/assertions": { + "get": { + "parameters": [], + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "badgeclass": { + "type": "string", + "description": "The definition of an earnable badge.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "title": "Recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "revoked": { + "type": "boolean", + "description": "Whether revoked.", + "title": "Revoked" + }, + "revocationReason": { + "type": "string", + "description": "The reason for revocation.", + "title": "Revocation Reason" + }, + "acceptance": { + "type": "string", + "description": "When the badge was accepted.", + "title": "Acceptance" + }, + "expires": { + "type": "string", + "description": "When the badge expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + } + } + } + }, + "description": "Successful operation" + } + }, + "summary": "Get Assertions in a user's backpack", + "tags": [ + "Backpack" + ], + "description": "Get a list of Assertions in authenticated user's backpack.", + "operationId": "BackpackGetAssertion" + }, + "post": { + "parameters": [ + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "badgeclass": { + "type": "string", + "description": "The definition of an earnable badge.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners. .", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "title": "Recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "expires": { + "type": "string", + "description": "When expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + } + } + ], + "responses": { + "201": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "badgeclass": { + "type": "string", + "description": "The definition of an earnable badge.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "title": "Recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "revoked": { + "type": "boolean", + "description": "Whether revoked.", + "title": "Revoked" + }, + "revocationReason": { + "type": "string", + "description": "The reason for revocation.", + "title": "Revocation Reason" + }, + "acceptance": { + "type": "string", + "description": "When the badge was accepted.", + "title": "Acceptance" + }, + "expires": { + "type": "string", + "description": "When the badge expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + } + } + } + }, + "description": "Successfully created" + }, + "400": { + "description": "Validation error" + } + }, + "summary": "Upload a Assertion to backpack", + "tags": [ + "Backpack" + ], + "description": "Upload a new Assertion to a user's backpack.", + "operationId": "BackpackUploadAssertion" + } + }, + "/v2/backpack/assertions/{entity_id}": { + "get": { + "parameters": [ + { + "in": "path", + "description": "The identifier of the entity", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "name": "entity_id", + "type": "string", + "required": true + } + ], + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "description": "The array of results.", + "title": "Results", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "acceptance": { + "type": "string", + "description": "When the badge was accepted.", + "title": "Acceptance" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "badgeclass": { + "type": "string", + "description": "The definition of an earnable badge.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + } + }, + "title": "Recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "revoked": { + "type": "boolean", + "description": "Whether revoked.", + "title": "Revoked" + }, + "revocationReason": { + "type": "string", + "description": "The reason for revocation.", + "title": "Revocation Reason" + }, + "expires": { + "type": "string", + "description": "When the badge expires.", + "title": "Expires" + }, + "pending": { + "type": "string", + "description": "Pending.", + "title": "Pending" + } + } + } + } + } + }, + "description": "Successful operation" + }, + "404": { + "description": "BackpackAssertion not found" + } + }, + "summary": "Get Backpack Assertion details", + "tags": [ + "Backpack" + ], + "description": "Get details on an Assertion in a user's Backpack.", + "operationId": "BackpackGetAssertionDetails" + }, + "delete": { + "parameters": [ + { + "in": "path", + "description": "The identifier of the entity", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "name": "entity_id", + "type": "string", + "required": true + } + ], + "responses": { + "204": { + "description": "BackpackAssertion was deleted successfully." + }, + "404": { + "description": "BackpackAssertion not found" + } + }, + "summary": "Remove an assertion from backpack", + "tags": [ + "Backpack" + ], + "description": "Remove an assertion from a user's backpack.", + "operationId": "BackpackRemoteAssertion" + }, + "put": { + "parameters": [ + { + "name": "entity_id", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "description": "The identifier of the entity.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "acceptance": { + "type": "string", + "description": "The acceptance.", + "title": "Acceptance" + }, + "badgeclass": { + "type": "string", + "description": "The definition of an earnable badge.", + "title": "BadgeClass" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners. .", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + } + }, + "title": "Recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "expires": { + "type": "string", + "description": "When expires.", + "title": "Expires" + }, + "pending": { + "type": "string", + "description": "Pending.", + "title": "Pending" + } + } + } + } + ], + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "description": "The array of results.", + "title": "Results", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "acceptance": { + "type": "string", + "description": "When the badge was accepted.", + "title": "Acceptance" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "badgeclass": { + "type": "string", + "description": "The definition of an earnable badge.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + } + }, + "title": "Recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "revoked": { + "type": "boolean", + "description": "Whether revoked.", + "title": "Revoked" + }, + "revocationReason": { + "type": "string", + "description": "The reason for revocation.", + "title": "Revocation Reason" + }, + "expires": { + "type": "string", + "description": "When the badge expires.", + "title": "Expires" + }, + "pending": { + "type": "string", + "description": "Pending.", + "title": "Pending" + } + } + } + } + } + }, + "description": "Successfully updated" + }, + "400": { + "description": "Validation error" + }, + "404": { + "description": "BackpackAssertion not found" + } + }, + "summary": "Update Assertion acceptance in Backpack", + "tags": [ + "Backpack" + ], + "description": "Update acceptance of an Assertion in a user's Backpack.", + "operationId": "BackpackUpdateAcceptance" + } + }, + "/v2/backpack/collections": { + "get": { + "parameters": [], + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "description": "The array of results.", + "title": "Results", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "owner": { + "type": "string", + "description": "The owner.", + "title": "Owner" + }, + "share_url": { + "type": "string", + "description": "The URL address of the share.", + "title": "Share URL" + }, + "shareHash": { + "type": "string", + "description": "The hash of the share.", + "title": "Share Hash" + }, + "published": { + "type": "boolean", + "description": "Whether published.", + "title": "Published" + }, + "assertions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of the entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Created by.", + "title": "Created By" + }, + "badgeclass": { + "type": "string", + "description": "The BadgeClass.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The issuer.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "description": "The recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "revoked": { + "type": "boolean", + "description": "Whether revoked.", + "title": "Revoked" + }, + "revocationReason": { + "type": "string", + "description": "The reason for revocation.", + "title": "Revocation Reason" + }, + "acceptance": { + "type": "string", + "description": "The acceptance.", + "title": "Acceptance" + }, + "expires": { + "type": "string", + "description": "When expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + }, + "title": "Assertions" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + } + } + } + } + } + }, + "description": "Successful operation" + }, + "404": { + "description": "Collection not found" + } + }, + "summary": "Get Collections", + "tags": [ + "Backpack" + ], + "description": "Get a list of Collections.", + "operationId": "CollectionGet" + }, + "post": { + "parameters": [ + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "owner": { + "type": "string", + "description": "The owner.", + "title": "Owner" + }, + "share_url": { + "type": "string", + "description": "The URL address of the share.", + "title": "Share URL" + }, + "shareHash": { + "type": "string", + "description": "The hash of the share.", + "title": "Share Hash" + }, + "published": { + "type": "boolean", + "description": "Whether published.", + "title": "Published" + }, + "assertions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "badgeclass": { + "type": "string", + "description": "The definition of an earnable badge.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "title": "Recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "expires": { + "type": "string", + "description": "When the badge expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + }, + "title": "Assertions" + }, + "createdAt": { + "type": "string", + "description": "Created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + } + } + } + } + ], + "responses": { + "201": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "owner": { + "type": "string", + "description": "The owner.", + "title": "Owner" + }, + "share_url": { + "type": "string", + "description": "The URL address of the share.", + "title": "Share URL" + }, + "shareHash": { + "type": "string", + "description": "The hash of the share.", + "title": "Share Hash" + }, + "published": { + "type": "boolean", + "description": "Whether published.", + "title": "Published" + }, + "assertions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of the entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Created by.", + "title": "Created By" + }, + "badgeclass": { + "type": "string", + "description": "The BadgeClass.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The issuer.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "description": "The recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "revoked": { + "type": "boolean", + "description": "Whether revoked.", + "title": "Revoked" + }, + "revocationReason": { + "type": "string", + "description": "The reason for revocation.", + "title": "Revocation Reason" + }, + "acceptance": { + "type": "string", + "description": "The acceptance.", + "title": "Acceptance" + }, + "expires": { + "type": "string", + "description": "When expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + }, + "title": "Assertions" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + } + } + } + } + } + }, + "description": "Successfully created" + }, + "400": { + "description": "Validation error" + } + }, + "summary": "Create a Collection", + "tags": [ + "Backpack" + ], + "description": "Create a new Collection.", + "operationId": "CollectionCreate" + } + }, + "/v2/backpack/collections/{entity_id}": { + "get": { + "parameters": [ + { + "in": "path", + "description": "The identifier of the entity", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "name": "entity_id", + "type": "string", + "required": true + } + ], + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "description": "The array of results.", + "title": "Results", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "owner": { + "type": "string", + "description": "The owner.", + "title": "Owner" + }, + "share_url": { + "type": "string", + "description": "The URL address of the share.", + "title": "Share URL" + }, + "shareHash": { + "type": "string", + "description": "The hash of the share.", + "title": "Share Hash" + }, + "published": { + "type": "boolean", + "description": "Whether published.", + "title": "Published" + }, + "assertions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of the entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Created by.", + "title": "Created By" + }, + "badgeclass": { + "type": "string", + "description": "The BadgeClass.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The issuer.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "description": "The recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "revoked": { + "type": "boolean", + "description": "Whether revoked.", + "title": "Revoked" + }, + "revocationReason": { + "type": "string", + "description": "The reason for revocation.", + "title": "Revocation Reason" + }, + "acceptance": { + "type": "string", + "description": "The acceptance.", + "title": "Acceptance" + }, + "expires": { + "type": "string", + "description": "When expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + }, + "title": "Assertions" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + } + } + } + } + } + }, + "description": "Successful operation" + }, + "404": { + "description": "Collection not found" + } + }, + "summary": "Get a Collection", + "tags": [ + "Backpack" + ], + "description": "Get a single Collection.", + "operationId": "CollectionGetA" + }, + "delete": { + "parameters": [ + { + "in": "path", + "description": "The identifier of the entity", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "name": "entity_id", + "type": "string", + "required": true + } + ], + "responses": { + "204": { + "description": "Collection was deleted successfully." + }, + "404": { + "description": "Collection not found" + } + }, + "summary": "Delete a collection", + "tags": [ + "Backpack" + ], + "description": "Delete a collection from a backpack.", + "operationId": "CollectionDelete" + }, + "put": { + "parameters": [ + { + "name": "entity_id", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "description": "The identifier of the entity.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "owner": { + "type": "string", + "description": "The owner.", + "title": "Owner" + }, + "share_url": { + "type": "string", + "description": "The URL address of the share.", + "title": "Share URL" + }, + "shareHash": { + "type": "string", + "description": "The hash of the share.", + "title": "Share Hash" + }, + "published": { + "type": "boolean", + "description": "Whether published.", + "title": "Published" + }, + "assertions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "badgeclass": { + "type": "string", + "description": "The definition of an earnable badge.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "title": "Recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "expires": { + "type": "string", + "description": "When the badge expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + }, + "title": "Assertions" + }, + "createdAt": { + "type": "string", + "description": "Created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + } + } + } + } + ], + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "description": "The array of results.", + "title": "Results", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "owner": { + "type": "string", + "description": "The owner.", + "title": "Owner" + }, + "share_url": { + "type": "string", + "description": "The URL address of the share.", + "title": "Share URL" + }, + "shareHash": { + "type": "string", + "description": "The hash of the share.", + "title": "Share Hash" + }, + "published": { + "type": "boolean", + "description": "Whether published.", + "title": "Published" + }, + "assertions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of the entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Created by.", + "title": "Created By" + }, + "badgeclass": { + "type": "string", + "description": "The BadgeClass.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The issuer.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "description": "The recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "revoked": { + "type": "boolean", + "description": "Whether revoked.", + "title": "Revoked" + }, + "revocationReason": { + "type": "string", + "description": "The reason for revocation.", + "title": "Revocation Reason" + }, + "acceptance": { + "type": "string", + "description": "The acceptance.", + "title": "Acceptance" + }, + "expires": { + "type": "string", + "description": "When expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + }, + "title": "Assertions" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + } + } + } + } + } + }, + "description": "Successfully updated" + }, + "400": { + "description": "Validation error" + }, + "404": { + "description": "Collection not found" + } + }, + "summary": "Update a Collection", + "tags": [ + "Backpack" + ], + "description": "Update a Collection in a backpack.", + "operationId": "CollectionUpdate" + } + }, + "/v2/badgeclasses/{entity_id}/issue": { + "post": { + "parameters": [ + { + "name": "entity_id", + "x-ms-summary": "Entity ID", + "x-ms-url-encoding": "single", + "description": "The identifier of the entity.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "badgeclass": { + "type": "string", + "description": "The definition of an earnable badge.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners. .", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "title": "Recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "expires": { + "type": "string", + "description": "When expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + } + } + ], + "responses": { + "201": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "badgeclass": { + "type": "string", + "description": "The definition of an earnable badge.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "title": "Recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "revoked": { + "type": "boolean", + "description": "Whether revoked.", + "title": "Revoked" + }, + "revocationReason": { + "type": "string", + "description": "The reason for revocation.", + "title": "Revocation Reason" + }, + "acceptance": { + "type": "string", + "description": "When the badge was accepted.", + "title": "Acceptance" + }, + "expires": { + "type": "string", + "description": "When the badge expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + } + } + } + }, + "description": "Successfully created" + }, + "400": { + "description": "Validation error" + } + }, + "summary": "Issue multiple BadgeClass", + "tags": [ + "Assertions" + ], + "description": "Issue multiple copies of the same BadgeClass to multiple recipients.", + "operationId": "ClassIssueBulk" + } + }, + "/v2/assertions/revoke": { + "post": { + "parameters": [ + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "badgeclass": { + "type": "string", + "description": "The definition of an earnable badge.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners. .", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "title": "Recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "expires": { + "type": "string", + "description": "When expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + } + } + ], + "responses": { + "201": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": { + "type": "array", + "items": { + "type": "object", + "properties": { + "entityType": { + "type": "string", + "description": "The type of entity.", + "title": "Entity Type" + }, + "entityId": { + "type": "string", + "description": "The identifier of the entity.", + "title": "Entity ID" + }, + "openBadgeId": { + "type": "string", + "description": "The identifier of the Open Badge.", + "title": "Open Badge ID" + }, + "createdAt": { + "type": "string", + "description": "When created at.", + "title": "Created At" + }, + "createdBy": { + "type": "string", + "description": "Whom created by.", + "title": "Created By" + }, + "badgeclass": { + "type": "string", + "description": "The definition of an earnable badge.", + "title": "BadgeClass" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "The identifier of the BadgeClass's Open Badge.", + "title": "BadgeClass Open Badge ID" + }, + "issuer": { + "type": "string", + "description": "The person or organization who creates/ offers badges and issues them to earners.", + "title": "Issuer" + }, + "issuerOpenBadgeId": { + "type": "string", + "description": "The identifier of the issuer's Open Badge.", + "title": "Issuer Open Badge ID" + }, + "image": { + "type": "string", + "description": "The image.", + "title": "Image" + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity.", + "title": "Identity" + }, + "hashed": { + "type": "boolean", + "description": "Whether hashed.", + "title": "Hashed" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "plaintextIdentity": { + "type": "string", + "description": "The identity in plaintext.", + "title": "Plaintext Identity" + }, + "salt": { + "type": "string", + "description": "If hashed, the salt.", + "title": "Salt" + } + }, + "title": "Recipient" + }, + "issuedOn": { + "type": "string", + "description": "When issued on.", + "title": "Issued On" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + }, + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The URL address.", + "title": "URL" + }, + "narrative": { + "type": "string", + "description": "The narrative for the badge issued.", + "title": "Narrative" + } + } + }, + "title": "Evidence" + }, + "revoked": { + "type": "boolean", + "description": "Whether revoked.", + "title": "Revoked" + }, + "revocationReason": { + "type": "string", + "description": "The reason for revocation.", + "title": "Revocation Reason" + }, + "acceptance": { + "type": "string", + "description": "When the badge was accepted.", + "title": "Acceptance" + }, + "expires": { + "type": "string", + "description": "When the badge expires.", + "title": "Expires" + }, + "extensions": { + "type": "string", + "description": "The extensions.", + "title": "Extensions" + }, + "badgeclassName": { + "type": "string", + "description": "The name of the BadgeClass.", + "title": "BadgeClass Name" + } + } + } + } + } + }, + "description": "Successfully created" + }, + "400": { + "description": "Validation error" + } + }, + "summary": "Revoke multiple Assertions", + "tags": [ + "Assertions" + ], + "description": "Revoke multiple Assertions for multiple recipients.", + "operationId": "AssertionRevokeBulk" + } + }, + "/v2/tokens/issuers": { + "post": { + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccessToken" + } + } + ], + "responses": { + "201": { + "schema": { + "$ref": "#/definitions/AccessToken" + }, + "description": "Successfully created" + }, + "400": { + "description": "Validation error" + } + }, + "summary": "Retrieve issuer tokens", + "tags": [ + "Issuers" + ], + "description": "Retrieve issuer tokens.", + "operationId": "TokenRetrieve" + } + }, + "/v2/auth/forgot-password": { + "post": { + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "The email address on file to send recovery email to.", + "title": "Email" + } + } + } + } + ], + "responses": { + "201": { + "schema": {}, + "description": "Successful" + } + }, + "summary": "Request an account recovery email", + "tags": [ + "Authentication" + ], + "description": "Request an account recovery email for a user.", + "operationId": "AccountRequestRecovery" + }, + "put": { + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "token": { + "type": "string", + "description": "The token recieved in the recovery email.", + "title": "Token" + }, + "password": { + "type": "string", + "description": "The new password to use.", + "title": "Password" + } + } + } + } + ], + "summary": "Recover an account", + "tags": [ + "Authentication" + ], + "responses": { + "200": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + } + }, + "title": "Status" + }, + "result": {} + } + }, + "description": "Successful" + } + }, + "description": "Recover an account and set a new password.", + "operationId": "AccountRecover" + } + }, + "/v2/backpack/import": { + "post": { + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "URL to an OpenBadge compliant badge.", + "title": "URL" + }, + "image": { + "type": "string", + "description": "Base64 encoded Baked OpenBadge image.", + "title": "Image" + }, + "assertion": { + "type": "object", + "description": "OpenBadge compliant JSON.", + "title": "Assertion" + } + } + } + } + ], + "summary": "Import a Assertion to backpack", + "tags": [ + "Backpack" + ], + "responses": { + "201": { + "schema": {}, + "description": "Successful" + } + }, + "description": "Import a new Assertion to a user's backpack.", + "operationId": "BackpackImportAssertion" + } + } + }, + "definitions": { + "AccessToken": { + "properties": { + "token": { + "type": "string" + }, + "issuer": { + "type": "string" + }, + "expires": { + "type": "string" + } + }, + "required": [ + "token", + "issuer", + "expires" + ] + }, + "Assertion": { + "properties": { + "entityType": { + "type": "string", + "description": "Assertion", + "readOnly": true + }, + "entityId": { + "type": "string", + "description": "Unique identifier for this Assertion", + "readOnly": true + }, + "openBadgeId": { + "type": "string", + "description": "URL of the OpenBadge compliant json", + "readOnly": true + }, + "createdAt": { + "type": "string", + "description": "Timestamp when the Assertion was created", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "BadgeUser who created the Assertion", + "readOnly": true + }, + "badgeclass": { + "type": "string", + "description": "BadgeClass that issued this Assertion" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "URL of the BadgeClass to award" + }, + "issuer": { + "type": "string" + }, + "issuerOpenBadgeId": { + "type": "string" + }, + "image": { + "type": "string", + "description": "URL to the baked assertion image", + "readOnly": true + }, + "recipient": { + "$ref": "#/definitions/BadgeRecipient" + }, + "issuedOn": { + "type": "string", + "description": "Timestamp when the Assertion was issued" + }, + "narrative": { + "type": "string", + "description": "Markdown narrative of the achievement" + }, + "evidence": { + "items": { + "$ref": "#/definitions/AssertionEvidence" + } + }, + "revoked": { + "type": "boolean", + "description": "True if this Assertion has been revoked", + "readOnly": true + }, + "revocationReason": { + "type": "string", + "description": "Short description of why the Assertion was revoked", + "readOnly": true + }, + "acceptance": { + "type": "string", + "description": "Recipient interaction with Assertion. One of: Unaccepted, Accepted, or Rejected", + "readOnly": true + }, + "expires": { + "type": "string", + "description": "Timestamp when the Assertion expires" + }, + "extensions": { + "type": "string" + }, + "badgeclassName": { + "type": "string", + "description": "Name of BadgeClass to create assertion against, case insensitive" + } + } + }, + "AssertionEvidence": { + "description": "List of evidence associated with the achievement", + "properties": { + "url": { + "type": "string", + "description": "URL of a webpage presenting evidence of the achievement" + }, + "narrative": { + "type": "string", + "description": "Markdown narrative that describes the achievement" + } + } + }, + "BackpackAssertion": { + "properties": { + "entityType": { + "type": "string", + "description": "Issuer", + "readOnly": true + }, + "entityId": { + "type": "string", + "description": "Unique identifier for this Issuer", + "readOnly": true + }, + "acceptance": { + "type": "string" + }, + "openBadgeId": { + "type": "string", + "description": "URL of the OpenBadge compliant json", + "readOnly": true + }, + "badgeclass": { + "type": "string", + "description": "BadgeClass that issued this Assertion" + }, + "badgeclassOpenBadgeId": { + "type": "string", + "description": "URL of the BadgeClass to award", + "readOnly": true + }, + "issuer": { + "type": "string" + }, + "issuerOpenBadgeId": { + "type": "string" + }, + "image": { + "type": "string", + "description": "URL to the baked assertion image", + "readOnly": true + }, + "recipient": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "Either the hash of the identity or the plaintext value" + }, + "type": { + "type": "string", + "enum": [ + "email", + "openBadgeId", + "telephone", + "url" + ], + "description": "Type of identifier used to identify recipient" + }, + "hashed": { + "type": "boolean", + "description": "Whether or not the identity value is hashed." + }, + "plaintextIdentity": { + "type": "string", + "description": "The plaintext identity" + } + }, + "description": "Recipient that was issued the Assertion" + }, + "issuedOn": { + "type": "string", + "description": "Timestamp when the Assertion was issued" + }, + "narrative": { + "type": "string", + "description": "Markdown narrative of the achievement" + }, + "evidence": { + "type": "array", + "items": { + "$ref": "#/definitions/AssertionEvidence" + }, + "description": "List of evidence associated with the achievement" + }, + "revoked": { + "type": "boolean", + "description": "True if this Assertion has been revoked", + "readOnly": true + }, + "revocationReason": { + "type": "string", + "description": "Short description of why the Assertion was revoked", + "readOnly": true + }, + "expires": { + "type": "string", + "description": "Timestamp when the Assertion expires" + }, + "pending": { + "type": "string" + } + }, + "required": [ + "recipient" + ] + }, + "BadgeClass": { + "properties": { + "entityType": { + "type": "string", + "description": "BadgeClass", + "readOnly": true + }, + "entityId": { + "type": "string", + "description": "Unique identifier for this BadgeClass", + "readOnly": true + }, + "openBadgeId": { + "type": "string", + "description": "URL of the OpenBadge compliant json", + "readOnly": true + }, + "createdAt": { + "type": "string", + "description": "Timestamp when the BadgeClass was created", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "BadgeUser who created this BadgeClass", + "readOnly": true + }, + "issuer": { + "type": "string", + "description": "entityId of the Issuer who owns the BadgeClass" + }, + "issuerOpenBadgeId": { + "type": "string" + }, + "name": { + "type": "string", + "description": "Name of the BadgeClass" + }, + "image": { + "type": "string", + "description": "Base64 encoded string of an image that represents the BadgeClass." + }, + "description": { + "type": "string", + "description": "Short description of the BadgeClass" + }, + "achievementType": { + "type": "string", + "description": "The type of achievement", + "enum": [ + "Achievement", + "Assessment", + "Assignment", + "Award", + "Badge", + "Certificate", + "Certification", + "Course", + "CommunityService", + "Competency", + "Co-Curricular", + "Degree", + "Diploma", + "Fieldwork", + "License", + "Membership" + ] + }, + "criteriaUrl": { + "type": "string", + "description": "External URL that describes in a human-readable format the criteria for the BadgeClass" + }, + "criteriaNarrative": { + "type": "string", + "description": "Markdown formatted description of the criteria" + }, + "alignments": { + "type": "array", + "items": { + "$ref": "#/definitions/BadgeClassAlignment" + }, + "description": "List of objects describing objectives or educational standards" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of tags that describe the BadgeClass" + }, + "expires": { + "$ref": "#/definitions/BadgeClassExpiration" + }, + "extensions": { + "type": "string" + } + }, + "required": [ + "name", + "description" + ] + }, + "BadgeClassAlignment": { + "properties": { + "targetName": { + "type": "string" + }, + "targetUrl": { + "type": "string" + }, + "targetDescription": { + "type": "string" + }, + "targetFramework": { + "type": "string" + }, + "targetCode": { + "type": "string" + } + }, + "required": [ + "targetName", + "targetUrl" + ] + }, + "BadgeClassExpiration": { + "description": "Expiration period for Assertions awarded from this BadgeClass", + "properties": { + "amount": { + "type": "string" + }, + "duration": { + "type": "string" + } + }, + "required": [ + "amount", + "duration" + ] + }, + "BadgeRecipient": { + "type": "object", + "description": "Recipient that was issued the Assertion", + "properties": { + "identity": { + "type": "string", + "description": "Either the hash of the identity or the plaintext value" + }, + "hashed": { + "type": "boolean", + "description": "Whether or not the identity value is hashed." + }, + "type": { + "type": "string", + "enum": [ + "email", + "openBadgeId", + "telephone", + "url" + ], + "description": "Type of identifier used to identify recipient" + }, + "plaintextIdentity": { + "type": "string", + "description": "The plaintext identity" + }, + "salt": { + "type": "string", + "description": "An optional salt used in producing the hashed identity if hashed" + } + }, + "required": [ + "identity" + ] + }, + "BadgeUser": { + "properties": { + "entityType": { + "type": "string", + "description": "BadgeUser" + }, + "entityId": { + "type": "string", + "description": "Unique identifier for this BadgeUser" + }, + "firstName": { + "type": "string", + "description": "Given name" + }, + "lastName": { + "type": "string", + "description": "Family name" + }, + "emails": { + "type": "array", + "items": { + "$ref": "#/definitions/BadgeUserEmail" + } + }, + "url": { + "type": "string" + }, + "telephone": { + "type": "string" + }, + "agreedTermsVersion": { + "type": "string" + }, + "hasAgreedToLatestTermsVersion": { + "type": "string" + }, + "marketingOptIn": { + "type": "string" + }, + "badgrDomain": { + "type": "string" + }, + "hasPasswordSet": { + "type": "string" + }, + "recipient": { + "type": "string" + } + }, + "required": [ + "firstName", + "lastName" + ] + }, + "BadgeUserEmail": { + "properties": { + "entityType": { + "type": "string" + }, + "entityId": { + "type": "string" + }, + "email": { + "type": "string", + "description": "Email address associated with a BadgeUser" + }, + "verified": { + "type": "boolean", + "description": "True if the email address has been verified" + }, + "primary": { + "type": "boolean", + "description": "True for a single email address to receive email notifications" + }, + "caseVariants": { + "type": "string" + } + }, + "required": [ + "email" + ] + }, + "BadgeUserToken": { + "properties": { + "token": { + "type": "string", + "description": "Access token to use in the Authorization header" + } + } + }, + "Collection": { + "properties": { + "entityType": { + "type": "string", + "description": "Collection" + }, + "entityId": { + "type": "string", + "description": "Unique identifier for this Collection" + }, + "name": { + "type": "string", + "description": "Name of the Collection" + }, + "description": { + "type": "string", + "description": "Short description of the Collection" + }, + "owner": { + "type": "string" + }, + "share_url": { + "type": "string", + "description": "A public URL for sharing the Collection. Read only." + }, + "shareHash": { + "type": "string", + "description": "The share hash that allows construction of a public sharing URL. Read only." + }, + "published": { + "type": "boolean", + "description": "True if the Collection has a public share URL" + }, + "assertions": { + "type": "array", + "items": { + "$ref": "#/definitions/Assertion" + }, + "description": "List of Assertions in the collection" + }, + "createdAt": { + "type": "string", + "description": "Timestamp when the Collection was created" + }, + "createdBy": { + "type": "string", + "description": "BadgeUser who created this Collection" + } + }, + "required": [ + "name" + ] + }, + "Issuer": { + "properties": { + "entityType": { + "type": "string", + "description": "Issuer", + "readOnly": true + }, + "entityId": { + "type": "string", + "description": "Unique identifier for this Issuer", + "readOnly": true + }, + "openBadgeId": { + "type": "string", + "description": "URL of the OpenBadge compliant json", + "readOnly": true + }, + "createdAt": { + "type": "string", + "description": "Timestamp when the Issuer was created", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "BadgeUser who created this Issuer" + }, + "name": { + "type": "string", + "description": "Name of the Issuer" + }, + "image": { + "type": "string", + "description": "Base64 encoded string of an image that represents the Issuer" + }, + "email": { + "type": "string", + "description": "Contact email for the Issuer" + }, + "description": { + "type": "string", + "description": "Short description of the Issuer" + }, + "url": { + "type": "string", + "description": "Homepage or website associated with the Issuer" + }, + "staff": { + "type": "array", + "items": { + "$ref": "#/definitions/IssuerStaff" + } + }, + "extensions": { + "type": "string" + }, + "badgrDomain": { + "type": "string" + } + }, + "required": [ + "name", + "email", + "url" + ] + }, + "IssuerStaff": { + "properties": { + "entityType": { + "type": "string" + }, + "entityId": { + "type": "string" + }, + "userProfile": { + "type": "string" + }, + "user": { + "type": "string" + }, + "role": { + "type": "string", + "enum": [ + "staff", + "editor", + "owner" + ] + } + }, + "required": [ + "user", + "role" + ] + } + }, + "responses": {}, + "securityDefinitions": { + "oauth2_auth": { + "type": "oauth2", + "flow": "accessCode", + "authorizationUrl": "https://badgr.com/auth/oauth2/authorize", + "tokenUrl": "https://api.badgr.io/o/token", + "scopes": { + "rw:profile rw:issuer rw:backpack": "rw:profile rw:issuer rw:backpack" + } + } + }, + "security": [ + { + "oauth2_auth": [ + "rw:profile rw:issuer rw:backpack" + ] + } + ], + "tags": [], + "x-ms-connector-metadata": [ + { + "propertyName": "Website", + "propertyValue": "https://badgr.com" + }, + { + "propertyName": "Privacy policy", + "propertyValue": "https://info.badgr.com/privacy-policy.html" + }, + { + "propertyName": "Categories", + "propertyValue": "Human Resources" + } + ] +} \ No newline at end of file diff --git a/independent-publisher-connectors/Badgr/apiProperties.json b/independent-publisher-connectors/Badgr/apiProperties.json new file mode 100644 index 000000000..fa6ea2071 --- /dev/null +++ b/independent-publisher-connectors/Badgr/apiProperties.json @@ -0,0 +1,37 @@ +{ + "properties": { + "connectionParameters": { + "token": { + "type": "oauthSetting", + "oAuthSettings": { + "identityProvider": "oauth2", + "clientId": "[Your Client ID]", + "scopes": [ + "rw:profile rw:issuer rw:backpack" + ], + "redirectMode": "Global", + "redirectUrl": "https://global.consent.azure-apim.net/redirect", + "properties": { + "IsFirstParty": "False", + "IsOnbehalfofLoginSupported": false + }, + "customParameters": { + "authorizationUrl": { + "value": "https://badgr.com/auth/oauth2/authorize" + }, + "tokenUrl": { + "value": "https://api.badgr.io/o/token" + }, + "refreshUrl": { + "value": "https://api.badgr.io/o/token" + } + } + } + } + }, + "iconBrandColor": "#da3b01", + "capabilities": [], + "publisher": "Troy Taylor, Hitachi Solutions", + "stackOwner": "Concentric Sky" + } +} \ No newline at end of file diff --git a/independent-publisher-connectors/Badgr/readme.md b/independent-publisher-connectors/Badgr/readme.md new file mode 100644 index 000000000..8b4039e1d --- /dev/null +++ b/independent-publisher-connectors/Badgr/readme.md @@ -0,0 +1,105 @@ +# Badgr +Organizations around the world use Badgr to create branded learning ecosystems that support their communities with skills-based digital credentials, stackable learning pathways, and portable learner records. + +## Publisher: Troy Taylor, Hitachi Solutions + +## Prerequisites +You will need a free or paid [Badgr](https://info.badgr.com/) account in order to use this connector. There is an enterprise [Badgr Pro plan](https://info.badgr.com/features-and-pricing.html) that offers additional customization options for the Badgr platform, but the API operations are the same for both plans. + +## Obtaining Credentials +This connector uses OAuth 2.0. In order to receive a client ID and secret, you will need to email Badgr support the following information: +- Your service name and homepage URL +- An app logo asset (square, at least 200x200 pixels, PNG format for use against white/light backgrounds) +- Your privacy policy URL +- Your terms of service URL +- The permission scopes you are requesting (https://badgr.org/app-developers/#scopes) +- Your application OAuth2 Redirect URIs +- The Badgr server you wish to connect to (US, AU, CA, EU) + + +## Supported Operations +### Get Issuers +Get a list of Issuers for authenticated user. +### Create a Issuer +Create a new Issuer. +### Get an Issuer +Get a single Issuer. +### Delete an Issuer +Delete a single Issuer. +### Update an Issuer +Update a single Issuer. +### Get Assertions +Get a list of Assertions for a single Issuer. +### Issue an Assertion +Issue a new Assertion to a recipient. +### Get Issuer's BadgeClasses +Get a list of BadgeClasses for a single Issuer. Authenticated user must have owner, editor, or staff status on the Issuer. +### Create an Issuer's BadgeClass +Create a new BadgeClass associated with an Issuer. Authenticated user must have owner, editor, or staff status on the Issuer. +### Get user's BadgeClasses +Get a list of BadgeClasses for authenticated user. +### Create a BadgeClass +Create a new BadgeClass. +### Get a BadgeClass +Get a single BadgeClass. +### Delete a BadgeClass +Delete a BadgeClass. Restricted to owners or editors (not staff) of the corresponding Issuer. +### Update a BadgeClass +Update an existing BadgeClass. Previously issued BadgeInstances will not be updated. +### Get BadgeClass's Assertions +Get a list of Assertions for a single BadgeClass. +### Issue an Assertion +Issue an Assertion to a single recipient. +### Get an Assertion +Get a single Assertion +### Revoke an Assertion +Revoke an Assertion. +### Update an Assertion +Update an Assertion. +### Get user's access tokens +Get a list of access tokens for authenticated user. +### Get an AccessToken +Get a single AccessToken. +### Revoke an AccessToken +Revoke a user's AccessToken. +### Get a BadgeUser's profile +Get a single BadgeUser profile. Use the entityId 'self' to retrieve the authenticated user's profile. +### Create a BadgeUser account +Make a BadgeUser account and profile. +### Update a BadgeUser +Update a BadgeUser's account. Use the entityId 'self' to update the authenticated user's profile +### Get Assertions in a user's backpack +Get a list of Assertions in authenticated user's backpack. +### Upload a Assertion to backpack +Upload a new Assertion to a user's backpack. +### Get Backpack Assertion details +Get details on an Assertion in a user's Backpack. +### Remove an assertion from backpack +Remove an assertion from a user's backpack. +### Update Assertion acceptance in Backpack +Update acceptance of an Assertion in a user's Backpack. +### Get Collections +Get a list of Collections. +### Create a Collection +Create a new Collection. +### Get a Collection +Get a single Collection. +### Delete a collection +Delete a collection from a backpack. +### Update a Collection +Update a Collection in a backpack. +### Issue multiple BadgeClass +Issue multiple copies of the same BadgeClass to multiple recipients. +### Revoke multiple Assertions +Revoke multiple Assertions for multiple recipients. +### Retrieve issuer tokens +Retrieve issuer tokens. +### Request an account recovery email +Request an account recovery email for a user. +### Recover an account +Recover an account and set a new password. +### Import a Assertion to backpack +Import a new Assertion to a user's backpack. + +## Known Issues and Limitations +There are no known issues at this time.