For the complete documentation index, see llms.txt. This page is also available as Markdown.

APIs

Get assertions for the authenticated user

get

Returns a paginated list of OB 2.1 assertions for the authenticated badge recipient

Required scopes
This endpoint requires the following scopes:
  • : List assertions in your backpack
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Query parameters
limitinteger · int32Optional
offsetinteger · int32Optional
sincestring · date-timeOptional
Responses
200

Assertions retrieved successfully

application/ld+json
get/bcv1/assertions

Import an assertion

post

Import an OB 2.1 assertion by URL into the authenticated user's backpack

Required scopes
This endpoint requires the following scopes:
  • : Upload badges to your backpack
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Body
stringOptional
Responses
200

Assertion imported successfully

application/ld+json
post/bcv1/assertions

Get assertions for the authenticated user

get

Returns a paginated list of OB 2.1 assertions for the authenticated badge recipient

Required scopes
This endpoint requires the following scopes:
  • : List assertions in your backpack
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Query parameters
limitinteger · int32Optional
offsetinteger · int32Optional
sincestring · date-timeOptional
Responses
200

Assertions retrieved successfully

application/ld+json
get/bcv1/ims/ob/v2p1/assertions

Import an assertion

post

Import an OB 2.1 assertion by URL into the authenticated user's backpack

Required scopes
This endpoint requires the following scopes:
  • : Upload badges to your backpack
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Body
stringOptional
Responses
200

Assertion imported successfully

application/ld+json
post/bcv1/ims/ob/v2p1/assertions

Get the authenticated user's profile

get

Returns the OB 2.1 profile of the authenticated badge recipient

Required scopes
This endpoint requires the following scopes:
  • : See who you are
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Responses
200

Profile retrieved successfully

application/ld+json
get/bcv1/ims/ob/v2p1/profile

Get the Badge Connect manifest for a domain

get

Returns the Badge Connect service discovery manifest for the specified domain

Authorizations
HTTPRequired
Path parameters
domainstringRequired
Responses
200

Manifest retrieved successfully

application/ld+json
@contextstringRequired
idstringRequired
get/bcv1/manifest/{domain}

Get the authenticated user's profile

get

Returns the OB 2.1 profile of the authenticated badge recipient

Required scopes
This endpoint requires the following scopes:
  • : See who you are
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Responses
200

Profile retrieved successfully

application/ld+json
get/bcv1/profile

Get OB 2.1 assertions via OB 3.0 path

get

Forwards to the Badge Connect v1 assertions endpoint for backward compatibility

Required scopes
This endpoint requires the following scopes:
  • : List assertions in your backpack
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Responses
200

Assertions retrieved successfully. Response format is the same as the OB 2.1 GET /assertions endpoint.

application/ld+json
get/ims/ob/v3p0/assertions

Get verifiable credentials for the authenticated user

get

Returns a paginated list of signed OB 3.0 verifiable credentials for the authenticated badge recipient

Required scopes
This endpoint requires the following scopes:
  • : List assertions in your backpack
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Query parameters
limitinteger · int32OptionalDefault: 20
offsetinteger · int32OptionalDefault: 0
sincestring · date-timeOptional
Responses
200

Credentials retrieved successfully

*/*
get/ims/ob/v3p0/credentials

Get the OB 3.0 service discovery document

get

Returns the Badge Connect service descriptor for OB 3.0 API discovery

Authorizations
HTTPRequired
Responses
200

Service descriptor retrieved successfully

application/json
get/ims/ob/v3p0/discovery

Get the authenticated user's profile

get

Returns the OB 3.0 profile of the authenticated badge recipient

Required scopes
This endpoint requires the following scopes:
  • : See who you are
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Responses
200

Profile retrieved successfully

*/*
@contextstring[]Required
emailstring · nullableOptional
namestring · nullableOptional
phonestring · nullableOptional
typestring[]Required
urlstring · nullableOptional
get/ims/ob/v3p0/profile

Retrieve creation methods for a batch of assertions

get
Required scopes
This endpoint requires the following scopes:
  • : Read badge classes and assertions in your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Query parameters
idsstring[] · min: 1 · max: 100Required

IDs or entity IDs of the assertions or credentials.

Responses
200

OK

application/json
get/v2/assertions/creation-methods

Revoke multiple Assertions

post
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Bodyobject · V2ApiRevokeMultipleAssertion[]
codestring · nullableRead-onlyOptional

Error code if assertion could not be revoked

entityIdstring · nullableOptional

Entity ID of the Assertion to revoke

Example: i9CirfwJTuSfiqg0FFUBdQ
idstring · nullableOptional

ID of the Assertion to revoke

Example: 62aa04adf5afe00d0a6dac72
reasonstring · nullableRead-onlyOptional

Error reason if assertion could not be revoked

revocationReasonstringRequired

Short description of why the Assertion is being revoked

Example: Course was cancelled
revokedboolean · nullableRead-onlyOptional
Responses
200

OK

codestring · nullableRead-onlyOptional

Error code if assertion could not be revoked

entityIdstring · nullableOptional

Entity ID of the Assertion to revoke

Example: i9CirfwJTuSfiqg0FFUBdQ
idstring · nullableOptional

ID of the Assertion to revoke

Example: 62aa04adf5afe00d0a6dac72
reasonstring · nullableRead-onlyOptional

Error reason if assertion could not be revoked

revocationReasonstringRequired

Short description of why the Assertion is being revoked

Example: Course was cancelled
revokedboolean · nullableRead-onlyOptional
post/v2/assertions/revoke

Revoke an Assertion

delete
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Body
revocation_reasonstringOptional
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
delete/v2/assertions/{idOrEntityId}

Get a single Assertion

get
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
get/v2/assertions/{idOrEntityId}

Update an Assertion

put
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Body
expiresstring · date-time · nullableOptional
issuedOnstring · date-time · nullableOptional

Timestamp when the assertion was issued

narrativestring · nullableOptional

Markdown narrative of the achievement

Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
put/v2/assertions/{idOrEntityId}

Get a list of Assertions in authenticated user's backpack

get
Required scopes
This endpoint requires the following scopes:
  • : List assertions in your backpack
  • : Upload badges to your backpack
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Query parameters
Responses
200

OK

*/*
errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
get/v2/backpack/assertions

Remove an assertion from the backpack

delete
Required scopes
This endpoint requires the following scopes:
  • : Upload badges to your backpack
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Responses
204

No Content

No content

delete/v2/backpack/assertions/{idOrEntityId}

No content

Get detail on an Assertion in the user's Backpack

get
Required scopes
This endpoint requires the following scopes:
  • : List assertions in your backpack
  • : Upload badges to your backpack
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Query parameters
Responses
200

OK

*/*
errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
get/v2/backpack/assertions/{idOrEntityId}

Update acceptance of an Assertion in the user's Backpack

put
Required scopes
This endpoint requires the following scopes:
  • : Upload badges to your backpack
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Responses
200

OK

*/*
errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
put/v2/backpack/assertions/{idOrEntityId}

Get Assertion Collection(s) associated with the authenticated user's backpack

get
Required scopes
This endpoint requires the following scopes:
  • : List assertions in your backpack
  • : Upload badges to your backpack
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Responses
200

OK

*/*
errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
get/v2/backpack/collections

Create a new Collection

post
Required scopes
This endpoint requires the following scopes:
  • : Upload badges to your backpack
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Body
descriptionstring · nullableOptional

Short description of the Collection

Example: This is a collection of my favorite badges
namestringRequired

Name of the collection

Example: My Collection
publishedbooleanRequired

True if the Collection should have a share url

Example: true
Responses
201

Created

*/*
errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
post/v2/backpack/collections

Delete a collection

delete
Required scopes
This endpoint requires the following scopes:
  • : Upload badges to your backpack
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Responses
204

No Content

No content

delete/v2/backpack/collections/{idOrEntityId}

No content

Get Assertion Collection(s) associated with the authenticated user's backpack

get
Required scopes
This endpoint requires the following scopes:
  • : List assertions in your backpack
  • : Upload badges to your backpack
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Responses
200

OK

*/*
errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
get/v2/backpack/collections/{idOrEntityId}

Update a Collection

put
Required scopes
This endpoint requires the following scopes:
  • : Upload badges to your backpack
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Body
assertionsstring[] · nullableOptional

The IDs or entity IDs of the assertions associated with this Collection

Example: UQbhRmNrQ4qn9_FJ5-eTtA
credentialsstring[] · nullableOptional

The IDs or entity IDs of the credentials associated with this Collection

Example: UQbhRmNrQ4qn9_FJ5-eTtA
descriptionstring · nullableOptional

Short description of the Collection

Example: This is a collection of my favorite badges
namestring · nullableOptional

Name of the collection

Example: My Collection
publishedboolean · nullableOptional

True if the Collection should have a share url

Example: true
Responses
200

OK

*/*
errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
put/v2/backpack/collections/{idOrEntityId}

Upload a new Assertion to the backpack

post

Upload a new Assertion to the backpack using url, image or OpenBadge JSON

Required scopes
This endpoint requires the following scopes:
  • : Upload badges to your backpack
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Body
imagestring · nullableOptional

Image URL or base64 encoded image data of the assertion.

Example: https://example.com/assertions/1/image
urlstring · uri · nullableOptional

URL of the badge to import

Example: https://example.com/assertions/1
Responses
201

Created

*/*
errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
post/v2/backpack/import

Get a list of BadgeClasses for authenticated user

get
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Query parameters
include_archivedbooleanOptionalDefault: false
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
get/v2/badgeclasses

Create a new BadgeClass

post
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Body
achievementTypestring · nullableOptional

The type of achievement

Example: Course
criteriaNarrativestring · nullableOptional

Markdown formatted description of the criteria

criteriaUrlstring · uri · nullableOptional

External URL that describes in a human-readable format the criteria for the BadgeClass

Example: https://example.com/badge-classes/1/criteria
descriptionstring · max: 16384 · nullableRequired

Short description of the BadgeClass

Example: This badge is awarded to students who have demonstrated mastery of Math.
imagestring · nullableRequired

Image of the badge class as a base64-encoded data URI. External URLs are not allowed.

Example: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhQJ/6+gQDQAAAABJRU5ErkJggg==
imageAltTextstring · nullableOptional
issuerstring · nullableRequired

Entity ID of the issuer

Example: ZvYydoQhRtOKalNzFPZR2A-Q
namestring · max: 1024 · nullableRequired

Name of the BadgeClass

Example: Math Expert
tagsstring[] · nullableOptional

List of tags that describe the BadgeClass

Responses
201

BadgeClass created

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
post/v2/badgeclasses

Reactivate a BadgeClass by ref

post

Reactivate an archived BadgeClass by its base64 encoded OpenBadge ID

Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
refstringRequired
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
post/v2/badgeclasses/reactivate/ref/{ref}

Reactivate a BadgeClass by id

post

Reactivate a BadgeClass that was archived

Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
post/v2/badgeclasses/reactivate/{idOrEntityId}

Delete a BadgeClass

delete

Restricted to owners or editors (not staff) of the corresponding Issuer.

Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
refstringRequired
Query parameters
hard_deletestringOptional
archivalNotestringOptional
Responses
204

BadgeClass deleted

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
delete/v2/badgeclasses/ref/{ref}

Get a single BadgeClass

get
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
refstringRequired
Query parameters
include_archivedbooleanOptionalDefault: false
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
get/v2/badgeclasses/ref/{ref}

Update an existing BadgeClass.

put

Previously awarded Assertions will be updated with image rebaking

Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
refstringRequired
Body
achievementTypestringOptional

The type of achievement

Example: Course
criteriaNarrativestringOptional

Markdown formatted description of the criteria

criteriaUrlstring · uriOptional

External URL that describes in a human-readable format the criteria for the BadgeClass

Example: https://example.com/badge-classes/1/criteria
descriptionstring · max: 16384 · nullableRequired

Short description of the BadgeClass

Example: This badge is awarded to students who have demonstrated mastery of Math.
imagestringRequired

Image of the badge class as a base64-encoded data URI. External URLs are not allowed.

Example: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhQJ/6+gQDQAAAABJRU5ErkJggg==
imageAltTextstringOptional
namestring · max: 1024 · nullableRequired

Name of the BadgeClass

Example: Math Expert
tagsstring[]Optional

List of tags that describe the BadgeClass

Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
put/v2/badgeclasses/ref/{ref}

Delete a BadgeClass

delete

Restricted to owners or editors (not staff) of the corresponding Issuer.

Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Query parameters
hard_deletestringOptional
archivalNotestringOptional
Responses
204

BadgeClass deleted

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
delete/v2/badgeclasses/{idOrEntityId}

Get a single BadgeClass

get
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Query parameters
include_archivedbooleanOptionalDefault: false
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
get/v2/badgeclasses/{idOrEntityId}

Update an existing BadgeClass.

put

Previously awarded Assertions will be updated with image rebaking

Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Body
achievementTypestringOptional

The type of achievement

Example: Course
criteriaNarrativestringOptional

Markdown formatted description of the criteria

criteriaUrlstring · uriOptional

External URL that describes in a human-readable format the criteria for the BadgeClass

Example: https://example.com/badge-classes/1/criteria
descriptionstring · max: 16384 · nullableRequired

Short description of the BadgeClass

Example: This badge is awarded to students who have demonstrated mastery of Math.
imagestringRequired

Image of the badge class as a base64-encoded data URI. External URLs are not allowed.

Example: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhQJ/6+gQDQAAAABJRU5ErkJggg==
imageAltTextstringOptional
namestring · max: 1024 · nullableRequired

Name of the BadgeClass

Example: Math Expert
tagsstring[]Optional

List of tags that describe the BadgeClass

Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
put/v2/badgeclasses/{idOrEntityId}

Get a list of ClaimCodes for a single BadgeClass

get
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Query parameters
includeClaimCodeCountbooleanOptional
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
get/v2/badgeclasses/{idOrEntityId}/claim-codes

Create a new ClaimCode for a BadgeClass

post
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Body
expirationDatestring · date-time · nullableOptional
labelstring · nullableOptional

The label of the claim code

Example: Conference Event
limitinteger · int64 · nullableOptional

The number of times the claim code can be used

Example: 10
Responses
201

Created

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
post/v2/badgeclasses/{idOrEntityId}/claim-codes

Archive a ClaimCode for a BadgeClass

delete
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
claimCodestringRequired
Responses
204

No Content

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
delete/v2/badgeclasses/{idOrEntityId}/claim-codes/{claimCode}

Update an existing ClaimCode for a BadgeClass

put
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
claimCodestringRequired
Body
expirationDatestring · date-time · nullableOptional
labelstring · nullableOptional

The label of the claim code

Example: Conference Event
limitinteger · int64 · nullableOptional

The number of times the claim code can be used

Example: 10
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
put/v2/badgeclasses/{idOrEntityId}/claim-codes/{claimCode}

Disable an enabled ClaimCode for a BadgeClass

patch
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
claimCodestringRequired
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
patch/v2/badgeclasses/{idOrEntityId}/claim-codes/{claimCode}/disable

Enable a disabled ClaimCode for a BadgeClass

patch
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
claimCodestringRequired
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
patch/v2/badgeclasses/{idOrEntityId}/claim-codes/{claimCode}/enable

Duplicate a BadgeClass

post

Create a duplicate of the original BadgeClass with a new name

Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Body
newNamestringRequired

The new name for the duplicate badgeclass

Example: Badgeclass Copy
Responses
201

BadgeClass created

achievementTypestring · nullableOptional

The type of achievement

Example: Course
archivalNotestring · nullableOptional
archivedboolean · nullableOptional
archivedDatestring · date-time · nullableOptional
createdAtstring · date-time · nullableOptional

Timestamp when the BadgeClass was created

createdBystring · nullableOptional

Entity ID of the user who created this BadgeClass

Example: Hey7J-GRSJeu6FNnHQwNyw
criteriaNarrativestring · nullableOptional

Markdown formatted description of the criteria

criteriaUrlstring · uri · nullableOptional

External URL that describes in a human-readable format the criteria for the BadgeClass

Example: https://example.com/badge-classes/1/criteria
descriptionstringRequired

Short description of the badge class

Example: This badge is awarded to students who have demonstrated mastery of Math.
entityIdstringRequired

Unique identifier for this BadgeClass

Example: iOMWsaF1QbmMCofM54JlUg
entityTypestringRequiredExample: BadgeClass
idstringRequired

Internal ID for this BadgeClass

Example: 68e9d238c5afe622816febb3
imagestringRequired

Image of the badge class. Most commonly an URL.

Example: https://api.badgr.io/public/badges/iOMWsaF1QbmMCofM54JlUg/image
imageAltTextstring · nullableOptional
imagePathstring · nullableOptional

Internal image path

Example: uploads/badges/badgeclass-lY1LJ6K4RqG7ThGLYvWNng.png
issuerstringRequired

Entity ID of the issuer

Example: ZvYydoQhRtOKalNzFPZR2A-Q
issuerOpenBadgeIdstring · uriRequired

OB URL of the issuer

Example: https://api.badgr.io/public/issuers/ZvYydoQhRtOKalNzFPZR2A
namestringRequired

Name of the badge class

Example: Math Expert
openBadgeIdstring · uriRequired

URL of the OpenBadge compliant json

Example: https://api.badgr.io/public/badges/iOMWsaF1QbmMCofM54JlUg
originalJsonstring · nullableOptional

The original OB JSON if the badge class was exported

Example: {}
sourcestring · nullableOptional

The original source of the BadgeClass

Example: local
sourceUrlstring · nullableOptional

The original URL of the BadgeClass if it was imported

Example: https://example.com/badge-classes/1
tagsstring[]Required

List of tags that describe the BadgeClass

post/v2/badgeclasses/{idOrEntityId}/duplicate

Get a list of Issuers for authenticated user

get
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Query parameters
include_staffstringOptionalDefault: true
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
get/v2/issuers

Create a new Issuer

post

Creating an Issuer within an Organization (via organizationId) additionally requires the rw:org scope.

Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
  • : Associate issuers with your organization and update organization data
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Query parameters
include_staffstringOptionalDefault: true
Body
badgrDomainstring · nullableOptional

Organization domain host

Example: badgrsupportgroup.badgr.com
createdBystring · nullableOptional

User who created this issuer

descriptionstring · max: 16384 · nullableOptional

Short description of the Issuer

Example: This is the faculty of the Credentials University.
emailstring · email · max: 255 · nullableRequired

Contact email for the Issuer

Example: contact@example.com
imagestring · nullableOptional

Image of the issuer as a base64-encoded data URI. External URLs are not allowed.

Example: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhQJ/6+gQDQAAAABJRU5ErkJggg==
namestring · max: 1024 · nullableRequired

Name of the issuer

Example: Credentials Faculty
organizationIdstring · nullableOptional

The ID of the organization which this issuer should be associated with. Requires organization write access.

Example: 6f4e4e4e2dc038241ad01d83
originalJsonstring · max: 2000000 · nullableOptional

The original OB JSON of the issuer if it was imported

Example: {}
sourceUrlstring · uri · nullableOptional

The original URL of the issuer if it was imported

Example: https://example.com/issuers/1
urlstring · uri · max: 1024 · nullableRequired

Homepage or website associated with the Issuer

Example: https://example.com
Responses
201

Issuer created

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
post/v2/issuers

Delete a single Issuer

delete
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
issuerOpenBadgeIdBase64stringRequired
Responses
204

Issuer deleted

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
delete/v2/issuers/openBadgeId/{issuerOpenBadgeIdBase64}

Get a single Issuer

get
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
issuerOpenBadgeIdBase64stringRequired
Query parameters
include_staffstringOptionalDefault: true
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
get/v2/issuers/openBadgeId/{issuerOpenBadgeIdBase64}

Update a single Issuer

patch
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
issuerOpenBadgeIdBase64stringRequired
Query parameters
include_staffstringOptionalDefault: true
Body
badgrDomainstringOptional
descriptionstring · max: 16384Required

Short description of the Issuer

Example: This is the faculty of the Credentials University.
emailstring · email · max: 255 · nullableRequired

Contact email for the Issuer

Example: contact@example.com
imagestringOptional

Image of the issuer as a base64-encoded data URI. External URLs are not allowed.

Example: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhQJ/6+gQDQAAAABJRU5ErkJggg==
namestring · max: 1024 · nullableRequired

Name of the issuer

Example: Credentials Faculty
urlstring · uri · max: 1024 · nullableRequired

Homepage or website associated with the Issuer

Example: https://example.com
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
patch/v2/issuers/openBadgeId/{issuerOpenBadgeIdBase64}

Update a single Issuer

put
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
issuerOpenBadgeIdBase64stringRequired
Query parameters
include_staffstringOptionalDefault: true
Body
badgrDomainstringOptional
descriptionstring · max: 16384Required

Short description of the Issuer

Example: This is the faculty of the Credentials University.
emailstring · email · max: 255 · nullableRequired

Contact email for the Issuer

Example: contact@example.com
imagestringOptional

Image of the issuer as a base64-encoded data URI. External URLs are not allowed.

Example: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhQJ/6+gQDQAAAABJRU5ErkJggg==
namestring · max: 1024 · nullableRequired

Name of the issuer

Example: Credentials Faculty
urlstring · uri · max: 1024 · nullableRequired

Homepage or website associated with the Issuer

Example: https://example.com
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
put/v2/issuers/openBadgeId/{issuerOpenBadgeIdBase64}

Delete a single Issuer

delete
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
issuerOpenBadgeIdBase64stringRequired
Responses
204

Issuer deleted

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
delete/v2/issuers/ref/{issuerOpenBadgeIdBase64}

Get a single Issuer

get
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
issuerOpenBadgeIdBase64stringRequired
Query parameters
include_staffstringOptionalDefault: true
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
get/v2/issuers/ref/{issuerOpenBadgeIdBase64}

Update a single Issuer

patch
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
issuerOpenBadgeIdBase64stringRequired
Query parameters
include_staffstringOptionalDefault: true
Body
badgrDomainstringOptional
descriptionstring · max: 16384Required

Short description of the Issuer

Example: This is the faculty of the Credentials University.
emailstring · email · max: 255 · nullableRequired

Contact email for the Issuer

Example: contact@example.com
imagestringOptional

Image of the issuer as a base64-encoded data URI. External URLs are not allowed.

Example: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhQJ/6+gQDQAAAABJRU5ErkJggg==
namestring · max: 1024 · nullableRequired

Name of the issuer

Example: Credentials Faculty
urlstring · uri · max: 1024 · nullableRequired

Homepage or website associated with the Issuer

Example: https://example.com
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
patch/v2/issuers/ref/{issuerOpenBadgeIdBase64}

Update a single Issuer

put
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
issuerOpenBadgeIdBase64stringRequired
Query parameters
include_staffstringOptionalDefault: true
Body
badgrDomainstringOptional
descriptionstring · max: 16384Required

Short description of the Issuer

Example: This is the faculty of the Credentials University.
emailstring · email · max: 255 · nullableRequired

Contact email for the Issuer

Example: contact@example.com
imagestringOptional

Image of the issuer as a base64-encoded data URI. External URLs are not allowed.

Example: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhQJ/6+gQDQAAAABJRU5ErkJggg==
namestring · max: 1024 · nullableRequired

Name of the issuer

Example: Credentials Faculty
urlstring · uri · max: 1024 · nullableRequired

Homepage or website associated with the Issuer

Example: https://example.com
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
put/v2/issuers/ref/{issuerOpenBadgeIdBase64}

Delete a single Issuer

delete
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Responses
204

Issuer deleted

No content

delete/v2/issuers/{idOrEntityId}

No content

Get a single Issuer

get
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Query parameters
include_staffstringOptionalDefault: true
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
get/v2/issuers/{idOrEntityId}

Update a single Issuer

patch
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Query parameters
include_staffstringOptionalDefault: true
Body
badgrDomainstringOptional
descriptionstring · max: 16384Required

Short description of the Issuer

Example: This is the faculty of the Credentials University.
emailstring · email · max: 255 · nullableRequired

Contact email for the Issuer

Example: contact@example.com
imagestringOptional

Image of the issuer as a base64-encoded data URI. External URLs are not allowed.

Example: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhQJ/6+gQDQAAAABJRU5ErkJggg==
namestring · max: 1024 · nullableRequired

Name of the issuer

Example: Credentials Faculty
urlstring · uri · max: 1024 · nullableRequired

Homepage or website associated with the Issuer

Example: https://example.com
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
patch/v2/issuers/{idOrEntityId}

Update a single Issuer

put
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Query parameters
include_staffstringOptionalDefault: true
Body
badgrDomainstringOptional
descriptionstring · max: 16384Required

Short description of the Issuer

Example: This is the faculty of the Credentials University.
emailstring · email · max: 255 · nullableRequired

Contact email for the Issuer

Example: contact@example.com
imagestringOptional

Image of the issuer as a base64-encoded data URI. External URLs are not allowed.

Example: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhQJ/6+gQDQAAAABJRU5ErkJggg==
namestring · max: 1024 · nullableRequired

Name of the issuer

Example: Credentials Faculty
urlstring · uri · max: 1024 · nullableRequired

Homepage or website associated with the Issuer

Example: https://example.com
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
put/v2/issuers/{idOrEntityId}

Get a list of BadgeClasses for a single Issuer

get
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Query parameters
include_archivedbooleanOptionalDefault: false
Responses
200

OK

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
get/v2/issuers/{idOrEntityId}/badgeclasses

Create a new BadgeClass associated with an Issuer

post
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Body
achievementTypestring · nullableOptional

The type of achievement

Example: Course
criteriaNarrativestring · nullableOptional

Markdown formatted description of the criteria

criteriaUrlstring · uri · nullableOptional

External URL that describes in a human-readable format the criteria for the BadgeClass

Example: https://example.com/badge-classes/1/criteria
descriptionstring · max: 16384 · nullableRequired

Short description of the BadgeClass

Example: This badge is awarded to students who have demonstrated mastery of Math.
imagestring · nullableRequired

Image of the badge class as a base64-encoded data URI. External URLs are not allowed.

Example: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhQJ/6+gQDQAAAABJRU5ErkJggg==
imageAltTextstring · nullableOptional
issuerstring · nullableOptional

Entity ID of the issuer

Example: ZvYydoQhRtOKalNzFPZR2A-Q
namestring · max: 1024 · nullableRequired

Name of the BadgeClass

Example: Math Expert
tagsstring[] · nullableOptional

List of tags that describe the BadgeClass

Responses
201

Created

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
post/v2/issuers/{idOrEntityId}/badgeclasses

List all pathways for the issuer

get
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Responses
200

OK

get/v2/issuers/{idOrEntityId}/pathways

Update a staff member's role on the Issuer

patch

User must have an owner role on the issuer.

Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Body
emailstring · email · nullableRequired

Email address associated with the staff member

Example: jane.doe@example.com
rolestring · enum · nullableRequired

Role of the user in the issuer.

Possible values:
Responses
200

OK

*/*
errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
patch/v2/issuers/{idOrEntityId}/staff

Add a staff member to an Issuer

post

User must have an owner role on the issuer.

Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Body
emailstring · email · nullableRequired

Email address associated with the staff member

Example: jane.doe@example.com
rolestring · enum · nullableRequired

Role of the user in the issuer.

Possible values:
Responses
201

Staff member added

*/*
errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
post/v2/issuers/{idOrEntityId}/staff

Update a staff member's role on the Issuer

put

User must have an owner role on the issuer.

Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Body
emailstring · email · nullableRequired

Email address associated with the staff member

Example: jane.doe@example.com
rolestring · enum · nullableRequired

Role of the user in the issuer.

Possible values:
Responses
200

OK

*/*
errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
put/v2/issuers/{idOrEntityId}/staff

Invite a staff member to an Issuer

post

User must have an owner role on the issuer.

Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Body
emailstring · email · nullableRequired

Email address associated with the staff member

Example: jane.doe@example.com
rolestring · enum · nullableRequired

Role of the user in the issuer.

Possible values:
Responses
200

OK

*/*
errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
post/v2/issuers/{idOrEntityId}/staff/invitations

Remove a staff member from the Issuer

delete

User must have an owner role on the issuer.

Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
emailBase64stringRequired

Base64 encoded email address of the staff member

Responses
204

Staff member removed

*/*
errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
delete/v2/issuers/{idOrEntityId}/staff/{emailBase64}

Export badge data of the recipient groups for a given issuer.

get
Authorizations
HTTPRequired
Path parameters
issuerIdstringRequired
Query parameters
includeArchivedGroupsbooleanOptionalDefault: false
Responses
200

CSV file containing badge data

text/csv
stringOptionalExample: Group ID,Group Name,Course ID,Badge ID,Badge Name,Award Method,Course Item,Requirement with link,Trigger Type,Threshold,Evidence Needed,Date Restriction,Leaderboard Points,Learner Progress 68cd3f3a54e2f258d1aedcfa,Teacher epic course,66780,68e4bcd536627547e95edeed,Badge 2,Canvas,Course grade,https://zoltanfarkas.instructure.com/courses/66780,Percentage score,80%,no,,1,1 awarded
get/v2/issuers/{issuerId}/group-export/badge-data

Export learner progress data of the recipient groups for a given issuer.

get
Authorizations
HTTPRequired
Path parameters
issuerIdstringRequired
Query parameters
includeArchivedGroupsbooleanOptionalDefault: false
Responses
200

CSV file containing learner progress data

text/csv
stringOptionalExample: Group ID,Group Name,Learner Name,Learner ID,Last Badge Earned,Alignment Type,Alignment ID,Alignment Name,Status,Detailed Progress,Evidence 68cd3f3a54e2f258d1aedcfa,Teacher epic course,Canvas Student,canvas-student@instructure.com,Jan 20 2026,Badge,68e4bcd536627547e95edeed,Badge 2,Awarded,,https://evidence-1.com|https://evidence-2.com
get/v2/issuers/{issuerId}/group-export/learner-progress-data

Get a list of Organizations where the authenticated user is admin

get
Required scopes
This endpoint requires the following scopes:
  • : Read organization data
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Responses
200

OK

get/v2/organizations

List public issuers for the specified organization with pagination and optional name filtering

get
Authorizations
HTTPRequired
Path parameters
idstringRequired
Query parameters
nameQuerystring · max: 256Optional

Case-insensitive filter for the name of the issuers

numstring · min: 1 · max: 100Optional

Number of items to return per page

Default: 10Example: 10
pagestring · min: 1Optional

Index of the requested page (1-based)

Default: 1Example: 1
Responses
200

OK

get/v2/organizations/{id}/public-issuers

Export general data of the recipient groups for a given organization.

get
Authorizations
HTTPRequired
Path parameters
organizationIdstringRequired
Query parameters
issuerIdstringOptional
includeCreationDateAndMethodbooleanOptionalDefault: true
includeExpirationDateAndMethodbooleanOptionalDefault: true
includeStaffMembersbooleanOptionalDefault: true
includeArchivedGroupsbooleanOptionalDefault: false
Responses
200

CSV file containing general group data

text/csv
stringOptionalExample: Group ID,Group name,Course/Pathway ID,URL,Learners,Alignment type,Alignment ID,Alignment name,Creation date,Creation method,Expiration date,Expiration method,Staff member name,Staff member ID 68cd3f3a54e2f258d1aedcfa,Teacher epic course,66780,https://zoltanfarkas.instructure.com/courses/66780,1,Badge,68e4bcd536627547e95edeed,Badge 2,Sep 19 2025,Canvas,Sep 19 2026,Manual,Canvas Teacher,canvas-teacher@instructure.com
get/v2/organizations/{organizationId}/group-export/general-data

Create pathway in draft state

post
Authorizations
HTTPRequired
Body
issuerIdstringRequired

ID of the issuer where the pathway will be created

Example: 62aa04adf5afe00d0a6dac72
Responses
200

OK

creationDatestring · date-timeRequired
draftLastUpdatedAtstring · date-timeRequired
draftStructureVersioninteger · int32Required
hasDraftChangesbooleanRequired
hasThirdPartyBadgesbooleanRequired
issuerIdstringRequired

ID of the issuer where the pathway was created

Example: 62aa04adf5afe00d0a6dac72
lastPublishedAtstring · date-time · nullableOptional
pathwayIdstring · nullableOptionalExample: 66aa04adf5afe00d0a6dac72
post/v2/pathways

Delete pathway

delete
Authorizations
HTTPRequired
Path parameters
idstringRequired
Responses
204

Pathway deleted

delete/v2/pathways/{id}

No content

Get aggregate progress status for the entire pathway

get
Authorizations
HTTPRequired
Path parameters
idstringRequired
Responses
200

OK

idstringRequiredExample: 61aa04adf5afe00d0a6dac72
pathwayIdstringRequiredExample: 66aa04adf5afe00d0a6dac72
get/v2/pathways/{id}/aggregate-progress

Get progress status for the recipient group

get
Authorizations
HTTPRequired
Path parameters
idstringRequired
recipientGroupIdstringRequired
Responses
200

OK

idstringRequiredExample: 61aa04adf5afe00d0a6dac72
pathwayIdstringRequiredExample: 66aa04adf5afe00d0a6dac72
get/v2/pathways/{id}/recipient-groups/{recipientGroupId}/progress

Get progress status for the recipient

get
Authorizations
HTTPRequired
Path parameters
idstringRequired
Query parameters
recipientIdentifierstringRequired

Identifier of the recipient, format: recipientType:recipientId

Example: email:mail@example.com
Responses
200

OK

idstringRequiredExample: 61aa04adf5afe00d0a6dac72
pathwayIdstringRequiredExample: 66aa04adf5afe00d0a6dac72
get/v2/pathways/{id}/recipient-progress

Update pathway group subscriptions

post
Authorizations
HTTPRequired
Path parameters
idstringRequired
Body
groupIdsToAddstring[]RequiredExample: 61aa04adf5afe00d0a6dac72
groupIdsToRemovestring[]RequiredExample: 67aa04adf5afe00d0a6dac72
Responses
200

OK

No content

post/v2/pathways/{id}/subscriptions

No content

Get draft version

get
Authorizations
HTTPRequired
Path parameters
idstringRequired
Responses
200

OK

creationDatestring · date-timeRequired
draftLastUpdatedAtstring · date-timeRequired
draftStructureVersioninteger · int32Required
hasDraftChangesbooleanRequired
hasThirdPartyBadgesbooleanRequired
issuerIdstringRequired

ID of the issuer where the pathway was created

Example: 62aa04adf5afe00d0a6dac72
lastPublishedAtstring · date-time · nullableOptional
pathwayIdstring · nullableOptionalExample: 66aa04adf5afe00d0a6dac72
get/v2/pathways/{id}/versions/draft

Update pathway draft

put
Authorizations
HTTPRequired
Path parameters
idstringRequired
Body
issuerIdstringRequired
Responses
200

OK

creationDatestring · date-timeRequired
draftLastUpdatedAtstring · date-timeRequired
draftStructureVersioninteger · int32Required
hasDraftChangesbooleanRequired
hasThirdPartyBadgesbooleanRequired
issuerIdstringRequired

ID of the issuer where the pathway was created

Example: 62aa04adf5afe00d0a6dac72
lastPublishedAtstring · date-time · nullableOptional
pathwayIdstring · nullableOptionalExample: 66aa04adf5afe00d0a6dac72
put/v2/pathways/{id}/versions/draft

Reverts pathway draft to the current published version

post
Authorizations
HTTPRequired
Path parameters
idstringRequired
Responses
200

OK

creationDatestring · date-timeRequired
draftLastUpdatedAtstring · date-timeRequired
draftStructureVersioninteger · int32Required
hasDraftChangesbooleanRequired
hasThirdPartyBadgesbooleanRequired
issuerIdstringRequired

ID of the issuer where the pathway was created

Example: 62aa04adf5afe00d0a6dac72
lastPublishedAtstring · date-time · nullableOptional
pathwayIdstring · nullableOptionalExample: 66aa04adf5afe00d0a6dac72
post/v2/pathways/{id}/versions/draft/revert

Get published version

get
Authorizations
HTTPRequired
Path parameters
idstringRequired
Responses
200

OK

creationDatestring · date-timeRequired
draftLastUpdatedAtstring · date-timeRequired
draftStructureVersioninteger · int32Required
hasDraftChangesbooleanRequired
hasThirdPartyBadgesbooleanRequired
issuerIdstringRequired

ID of the issuer where the pathway was created

Example: 62aa04adf5afe00d0a6dac72
lastPublishedAtstring · date-time · nullableOptional
pathwayIdstring · nullableOptionalExample: 66aa04adf5afe00d0a6dac72
get/v2/pathways/{id}/versions/published

Promote current draft version to published

post
Authorizations
HTTPRequired
Path parameters
idstringRequired
Responses
200

OK

creationDatestring · date-timeRequired
draftLastUpdatedAtstring · date-timeRequired
draftStructureVersioninteger · int32Required
hasDraftChangesbooleanRequired
hasThirdPartyBadgesbooleanRequired
issuerIdstringRequired

ID of the issuer where the pathway was created

Example: 62aa04adf5afe00d0a6dac72
lastPublishedAtstring · date-time · nullableOptional
pathwayIdstring · nullableOptionalExample: 66aa04adf5afe00d0a6dac72
post/v2/pathways/{id}/versions/published

Evaluate experience on the pathway for a user

post
Authorizations
HTTPRequired
Path parameters
pathwayIdstringRequired
experienceIdstring · uuidRequired
Body
passedbooleanRequired
recipientone ofRequired
or
or
Responses
204

No Content

No content

post/v2/pathways/{pathwayId}/experience/{experienceId}/submit

No content

Evaluate experience on the pathway for multiple users

post

CSV file should contain recipientId,passed header row. Each row should contain a single entry of recipientId (email:mail@example.com) and a passed value (true/false) separated by a comma.

Authorizations
HTTPRequired
Path parameters
pathwayIdstringRequired
experienceIdstring · uuidRequired
Body
stringOptionalExample: recipientId,passed email:mail@example.com,true
Responses
200

OK

post/v2/pathways/{pathwayId}/experience/{experienceId}/submit-csv

Get your own BadgeUser profile

get
Required scopes
This endpoint requires the following scopes:
  • : See who you are
  • : Update your profile
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Responses
200

OK

application/json
errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
get/v2/users/self

Update your own BadgeUser

patch
Required scopes
This endpoint requires the following scopes:
  • : See who you are
  • : Update your profile
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Body
firstNamestringOptionalExample: Jane
lastNamestringOptionalExample: Doe
marketingOptInbooleanOptionalExample: true
Responses
200

OK

application/json
errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
patch/v2/users/self

Update your own BadgeUser

put
Required scopes
This endpoint requires the following scopes:
  • : See who you are
  • : Update your profile
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Body
firstNamestringOptionalExample: Jane
lastNamestringOptionalExample: Doe
marketingOptInbooleanOptionalExample: true
Responses
200

OK

application/json
errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
put/v2/users/self

Get a single BadgeUser profile

get
Required scopes
This endpoint requires the following scopes:
  • : See who you are
  • : Update your profile
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Responses
200

OK

application/json
errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
get/v2/users/{idOrEntityId}

Update a BadgeUser

patch
Required scopes
This endpoint requires the following scopes:
  • : See who you are
  • : Update your profile
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Body
firstNamestringOptionalExample: Jane
lastNamestringOptionalExample: Doe
marketingOptInbooleanOptionalExample: true
Responses
200

OK

application/json
errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
patch/v2/users/{idOrEntityId}

Update a BadgeUser

put
Required scopes
This endpoint requires the following scopes:
  • : See who you are
  • : Update your profile
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
idOrEntityIdstringRequired
Body
firstNamestringOptionalExample: Jane
lastNamestringOptionalExample: Doe
marketingOptInbooleanOptionalExample: true
Responses
200

OK

application/json
errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
put/v2/users/{idOrEntityId}

Get list of Assertions for the specified scope

get
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
scopestring · enumRequiredPossible values:
idOrEntityIdstringRequired
Query parameters
recipientstringOptional

A recipient identifier to filter by

numinteger · int32Optional

Request pagination of results, before/after cursors may be provided in response header

include_expiredbooleanOptionalDefault: false
include_revokedbooleanOptionalDefault: false
afterstringOptional

Pagination cursor provided in "Link" response header

beforestringOptional

Pagination cursor provided in "Link" response header

Responses
200

List of Assertions

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
get/v2/{scope}/{idOrEntityId}/assertions

Issue a new Assertion to a recipient

post
Required scopes
This endpoint requires the following scopes:
  • : Award badges and update your issuers
Authorizations
OAuth2authorizationCodeRequired

OAuth2 authorizationCode flow is currently not functional on the Swagger UI.

Authorization URL: Token URL:
Path parameters
scopestring · enumRequiredPossible values:
idOrEntityIdstringRequired

The entity ID of the selected scope entity

Example: K829IK8RS6ercwkpeFOn-Q
Body

Request to award an assertion. When request scope is issuers, one of badgeclass or badgeclassOpenBadgeId must be provided.

allowDuplicateAwardsbooleanOptional

If set to false and the recipient already has this assertion, then the request will fail

badgeclassstring · nullableOptional

ID or Entity ID of the badge class to be awarded

Example: K829IK8RS6ercwkpeFOn-Q
badgeclassOpenBadgeIdstring · uri · nullableOptional

OB URL of the badge class to be awarded

Example: https://api.badgr.io/public/badges/K829IK8RS6ercwkpeFOn-Q
expiresstring · date-time · nullableOptional
issuedOnstring · date-time · nullableOptional

Timestamp when the assertion was issued

narrativestring · nullableOptional

Markdown narrative of the achievement

Responses
201

Created

errorCodestring · nullableOptional
latestTermsVersioninteger · int32 · nullableOptional
nonFieldErrorsstring[]Required
timestampstring · date-time · nullableOptional
validationErrorsstring[]Required
post/v2/{scope}/{idOrEntityId}/assertions

Last updated

Was this helpful?