Backpack

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

get
Authorizations
Path parameters
idOrEntityIdstringRequired
Responses
200
OK
*/*
get
GET /v2/backpack/collections/{idOrEntityId} HTTP/1.1
Host: api.badgr.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "status": {
    "success": true,
    "description": "ok"
  },
  "result": [
    {
      "id": "6116c84d1ff787222b6c4d15",
      "entityId": "dwUFfLWhQ3CutEowC1LB7g",
      "name": "My Collection",
      "description": "This is a collection of my favorite badges",
      "share_url": "https://example.com/collections/1",
      "shareHash": "text",
      "published": true,
      "owner": "UQbhRmNrQ4qn9_FJ5-eTtA",
      "assertions": [
        "UQbhRmNrQ4qn9_FJ5-eTtA"
      ],
      "credentials": [
        "UQbhRmNrQ4qn9_FJ5-eTtA"
      ],
      "entityType": "BackpackCollection"
    }
  ],
  "timestamp": "2025-07-05T01:47:28.441Z",
  "validationErrors": [
    "text"
  ],
  "nonFieldErrors": [
    "text"
  ],
  "fieldErrors": {
    "ANY_ADDITIONAL_PROPERTY": [
      "text"
    ]
  },
  "errorCode": "text",
  "warnings": {
    "ANY_ADDITIONAL_PROPERTY": [
      "text"
    ]
  },
  "latestTermsVersion": 1
}

Update a Collection

put
Authorizations
Path parameters
idOrEntityIdstringRequired
Body
namestringOptional

Name of the collection

Example: My Collection
descriptionstringOptional

Short description of the Collection

Example: This is a collection of my favorite badges
publishedbooleanOptional

True if the Collection should have a share url

Example: true
assertionsstring[]Optional

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

Example: UQbhRmNrQ4qn9_FJ5-eTtA
credentialsstring[]Optional

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

Example: UQbhRmNrQ4qn9_FJ5-eTtA
Responses
200
OK
*/*
put
PUT /v2/backpack/collections/{idOrEntityId} HTTP/1.1
Host: api.badgr.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 181

{
  "name": "My Collection",
  "description": "This is a collection of my favorite badges",
  "published": true,
  "assertions": [
    "UQbhRmNrQ4qn9_FJ5-eTtA"
  ],
  "credentials": [
    "UQbhRmNrQ4qn9_FJ5-eTtA"
  ]
}
{
  "status": {
    "success": true,
    "description": "ok"
  },
  "result": [
    {
      "id": "6116c84d1ff787222b6c4d15",
      "entityId": "dwUFfLWhQ3CutEowC1LB7g",
      "name": "My Collection",
      "description": "This is a collection of my favorite badges",
      "share_url": "https://example.com/collections/1",
      "shareHash": "text",
      "published": true,
      "owner": "UQbhRmNrQ4qn9_FJ5-eTtA",
      "assertions": [
        "UQbhRmNrQ4qn9_FJ5-eTtA"
      ],
      "credentials": [
        "UQbhRmNrQ4qn9_FJ5-eTtA"
      ],
      "entityType": "BackpackCollection"
    }
  ],
  "timestamp": "2025-07-05T01:47:28.441Z",
  "validationErrors": [
    "text"
  ],
  "nonFieldErrors": [
    "text"
  ],
  "fieldErrors": {
    "ANY_ADDITIONAL_PROPERTY": [
      "text"
    ]
  },
  "errorCode": "text",
  "warnings": {
    "ANY_ADDITIONAL_PROPERTY": [
      "text"
    ]
  },
  "latestTermsVersion": 1
}

Delete a collection

delete
Authorizations
Path parameters
idOrEntityIdstringRequired
Responses
204
No Content
delete
DELETE /v2/backpack/collections/{idOrEntityId} HTTP/1.1
Host: api.badgr.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*

No content

Get detail on an Assertion in the user's Backpack

get
Authorizations
Path parameters
idOrEntityIdstringRequired
Query parameters
Responses
200
OK
*/*
get
GET /v2/backpack/assertions/{idOrEntityId} HTTP/1.1
Host: api.badgr.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "status": {
    "success": true,
    "description": "ok"
  },
  "result": [
    {
      "entityType": "Assertion",
      "id": "6116c84d1ff787222b6c4d15",
      "entityId": "i9CirfwJTuSfiqg0FFUBdQ",
      "openBadgeId": "https://api.badgr.io/public/assertions/i9CirfwJTuSfiqg0FFUBdQ",
      "createdAt": "2025-07-05T01:47:28.441Z",
      "createdBy": "Hey7J-GRSJeu6FNnHQwNyw",
      "badgeclass": "K829IK8RS6ercwkpeFOn-Q",
      "badgeclassOpenBadgeId": "https://api.badgr.io/public/badges/K829IK8RS6ercwkpeFOn-Q",
      "issuer": "ZvYydoQhRtOKalNzFPZR2A-Q",
      "issuerOpenBadgeId": "https://api.badgr.io/public/issuers/ZvYydoQhRtOKalNzFPZR2A",
      "image": "https://api.badgr.io/public/assertions/SsCfI7FlTr6hAJe4irXnfQ/image",
      "recipient": {
        "identity": "sha256$4c2657856f",
        "hashed": true,
        "type": "email",
        "salt": "jgsu868",
        "plaintextIdentity": "[email protected]"
      },
      "issuedOn": "2025-07-05T01:47:28.441Z",
      "narrative": "text",
      "evidence": [
        {
          "url": "https://example.com",
          "narrative": "text",
          "name": "text",
          "description": "text",
          "genre": "text",
          "audience": "text"
        }
      ],
      "revoked": true,
      "revocationReason": "text",
      "acceptance": "Unaccepted",
      "expires": "2025-07-05T01:47:28.441Z",
      "extensions": {
        "ANY_ADDITIONAL_PROPERTY": {}
      },
      "assertionRef": {
        "assertionUrl": "https://api.badgr.io/public/assertions/lY1LJ6K4RqG7ThGLYvWNng"
      },
      "badgeRef": {
        "badgeUrl": "https://api.badgr.io/public/badges/iOMWsaF1QbmMCofM54JlUg"
      },
      "issuerRef": {
        "issuerUrl": "https://api.badgr.ws/public/issuers/Uu4wd2I1SKmD3vmtMJ19hw"
      },
      "pending": true,
      "source": "local",
      "sourceUrl": "https://example.com/assertions/1",
      "originalJson": "{}",
      "imagePath": "uploads/badges/assertion-lY1LJ6K4RqG7ThGLYvWNng.png",
      "ob3AwardProperties": {
        "activityStart": "2025-07-05T01:47:28.441Z",
        "activityEnd": "2025-07-05T01:47:28.441Z",
        "licenseNumber": "text",
        "role": "text"
      }
    }
  ],
  "timestamp": "2025-07-05T01:47:28.441Z",
  "validationErrors": [
    "text"
  ],
  "nonFieldErrors": [
    "text"
  ],
  "fieldErrors": {
    "ANY_ADDITIONAL_PROPERTY": [
      "text"
    ]
  },
  "errorCode": "text",
  "warnings": {
    "ANY_ADDITIONAL_PROPERTY": [
      "text"
    ]
  },
  "latestTermsVersion": 1
}

Update acceptance of an Assertion in the user's Backpack

put
Authorizations
Path parameters
idOrEntityIdstringRequired
Responses
200
OK
*/*
put
PUT /v2/backpack/assertions/{idOrEntityId} HTTP/1.1
Host: api.badgr.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "status": {
    "success": true,
    "description": "ok"
  },
  "result": [
    {
      "entityType": "Assertion",
      "id": "6116c84d1ff787222b6c4d15",
      "entityId": "i9CirfwJTuSfiqg0FFUBdQ",
      "openBadgeId": "https://api.badgr.io/public/assertions/i9CirfwJTuSfiqg0FFUBdQ",
      "createdAt": "2025-07-05T01:47:28.441Z",
      "createdBy": "Hey7J-GRSJeu6FNnHQwNyw",
      "badgeclass": "K829IK8RS6ercwkpeFOn-Q",
      "badgeclassOpenBadgeId": "https://api.badgr.io/public/badges/K829IK8RS6ercwkpeFOn-Q",
      "issuer": "ZvYydoQhRtOKalNzFPZR2A-Q",
      "issuerOpenBadgeId": "https://api.badgr.io/public/issuers/ZvYydoQhRtOKalNzFPZR2A",
      "image": "https://api.badgr.io/public/assertions/SsCfI7FlTr6hAJe4irXnfQ/image",
      "recipient": {
        "identity": "sha256$4c2657856f",
        "hashed": true,
        "type": "email",
        "salt": "jgsu868",
        "plaintextIdentity": "[email protected]"
      },
      "issuedOn": "2025-07-05T01:47:28.441Z",
      "narrative": "text",
      "evidence": [
        {
          "url": "https://example.com",
          "narrative": "text",
          "name": "text",
          "description": "text",
          "genre": "text",
          "audience": "text"
        }
      ],
      "revoked": true,
      "revocationReason": "text",
      "acceptance": "Unaccepted",
      "expires": "2025-07-05T01:47:28.441Z",
      "extensions": {
        "ANY_ADDITIONAL_PROPERTY": {}
      },
      "assertionRef": {
        "assertionUrl": "https://api.badgr.io/public/assertions/lY1LJ6K4RqG7ThGLYvWNng"
      },
      "badgeRef": {
        "badgeUrl": "https://api.badgr.io/public/badges/iOMWsaF1QbmMCofM54JlUg"
      },
      "issuerRef": {
        "issuerUrl": "https://api.badgr.ws/public/issuers/Uu4wd2I1SKmD3vmtMJ19hw"
      },
      "pending": true,
      "source": "local",
      "sourceUrl": "https://example.com/assertions/1",
      "originalJson": "{}",
      "imagePath": "uploads/badges/assertion-lY1LJ6K4RqG7ThGLYvWNng.png",
      "ob3AwardProperties": {
        "activityStart": "2025-07-05T01:47:28.441Z",
        "activityEnd": "2025-07-05T01:47:28.441Z",
        "licenseNumber": "text",
        "role": "text"
      }
    }
  ],
  "timestamp": "2025-07-05T01:47:28.441Z",
  "validationErrors": [
    "text"
  ],
  "nonFieldErrors": [
    "text"
  ],
  "fieldErrors": {
    "ANY_ADDITIONAL_PROPERTY": [
      "text"
    ]
  },
  "errorCode": "text",
  "warnings": {
    "ANY_ADDITIONAL_PROPERTY": [
      "text"
    ]
  },
  "latestTermsVersion": 1
}

Remove an assertion from the backpack

delete
Authorizations
Path parameters
idOrEntityIdstringRequired
Responses
204
No Content
delete
DELETE /v2/backpack/assertions/{idOrEntityId} HTTP/1.1
Host: api.badgr.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*

No content

Upload a new Assertion to the backpack

post

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

Authorizations
Body
urlstring · uriOptional

URL of the badge to import

Example: https://example.com/assertions/1
assertionobjectOptional

OpenBadge JSON of the award to import

imagestringOptional

Image URL or base64 encoded image data of the assertion.

Example: https://example.com/assertions/1/image
Responses
201
Created
*/*
post
POST /v2/backpack/import HTTP/1.1
Host: api.badgr.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 106

{
  "url": "https://example.com/assertions/1",
  "assertion": {},
  "image": "https://example.com/assertions/1/image"
}
{
  "status": {
    "success": true,
    "description": "ok"
  },
  "result": [
    {
      "entityType": "Assertion",
      "id": "6116c84d1ff787222b6c4d15",
      "entityId": "i9CirfwJTuSfiqg0FFUBdQ",
      "openBadgeId": "https://api.badgr.io/public/assertions/i9CirfwJTuSfiqg0FFUBdQ",
      "createdAt": "2025-07-05T01:47:28.441Z",
      "createdBy": "Hey7J-GRSJeu6FNnHQwNyw",
      "badgeclass": "K829IK8RS6ercwkpeFOn-Q",
      "badgeclassOpenBadgeId": "https://api.badgr.io/public/badges/K829IK8RS6ercwkpeFOn-Q",
      "issuer": "ZvYydoQhRtOKalNzFPZR2A-Q",
      "issuerOpenBadgeId": "https://api.badgr.io/public/issuers/ZvYydoQhRtOKalNzFPZR2A",
      "image": "https://api.badgr.io/public/assertions/SsCfI7FlTr6hAJe4irXnfQ/image",
      "recipient": {
        "identity": "sha256$4c2657856f",
        "hashed": true,
        "type": "email",
        "salt": "jgsu868",
        "plaintextIdentity": "[email protected]"
      },
      "issuedOn": "2025-07-05T01:47:28.441Z",
      "narrative": "text",
      "evidence": [
        {
          "url": "https://example.com",
          "narrative": "text",
          "name": "text",
          "description": "text",
          "genre": "text",
          "audience": "text"
        }
      ],
      "revoked": true,
      "revocationReason": "text",
      "acceptance": "Unaccepted",
      "expires": "2025-07-05T01:47:28.441Z",
      "extensions": {
        "ANY_ADDITIONAL_PROPERTY": {}
      },
      "assertionRef": {
        "assertionUrl": "https://api.badgr.io/public/assertions/lY1LJ6K4RqG7ThGLYvWNng"
      },
      "badgeRef": {
        "badgeUrl": "https://api.badgr.io/public/badges/iOMWsaF1QbmMCofM54JlUg"
      },
      "issuerRef": {
        "issuerUrl": "https://api.badgr.ws/public/issuers/Uu4wd2I1SKmD3vmtMJ19hw"
      },
      "pending": true,
      "source": "local",
      "sourceUrl": "https://example.com/assertions/1",
      "originalJson": "{}",
      "imagePath": "uploads/badges/assertion-lY1LJ6K4RqG7ThGLYvWNng.png",
      "ob3AwardProperties": {
        "activityStart": "2025-07-05T01:47:28.441Z",
        "activityEnd": "2025-07-05T01:47:28.441Z",
        "licenseNumber": "text",
        "role": "text"
      }
    }
  ],
  "timestamp": "2025-07-05T01:47:28.441Z",
  "validationErrors": [
    "text"
  ],
  "nonFieldErrors": [
    "text"
  ],
  "fieldErrors": {
    "ANY_ADDITIONAL_PROPERTY": [
      "text"
    ]
  },
  "errorCode": "text",
  "warnings": {
    "ANY_ADDITIONAL_PROPERTY": [
      "text"
    ]
  },
  "latestTermsVersion": 1
}

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

get
Authorizations
Responses
200
OK
*/*
get
GET /v2/backpack/collections HTTP/1.1
Host: api.badgr.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "status": {
    "success": true,
    "description": "ok"
  },
  "result": [
    {
      "id": "6116c84d1ff787222b6c4d15",
      "entityId": "dwUFfLWhQ3CutEowC1LB7g",
      "name": "My Collection",
      "description": "This is a collection of my favorite badges",
      "share_url": "https://example.com/collections/1",
      "shareHash": "text",
      "published": true,
      "owner": "UQbhRmNrQ4qn9_FJ5-eTtA",
      "assertions": [
        "UQbhRmNrQ4qn9_FJ5-eTtA"
      ],
      "credentials": [
        "UQbhRmNrQ4qn9_FJ5-eTtA"
      ],
      "entityType": "BackpackCollection"
    }
  ],
  "timestamp": "2025-07-05T01:47:28.441Z",
  "validationErrors": [
    "text"
  ],
  "nonFieldErrors": [
    "text"
  ],
  "fieldErrors": {
    "ANY_ADDITIONAL_PROPERTY": [
      "text"
    ]
  },
  "errorCode": "text",
  "warnings": {
    "ANY_ADDITIONAL_PROPERTY": [
      "text"
    ]
  },
  "latestTermsVersion": 1
}

Create a new Collection

post
Authorizations
Body
namestringRequired

Name of the collection

Example: My Collection
descriptionstringOptional

Short description of the Collection

Example: This is a collection of my favorite badges
publishedbooleanRequired

True if the Collection should have a share url

Example: true
Responses
201
Created
*/*
post
POST /v2/backpack/collections HTTP/1.1
Host: api.badgr.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 100

{
  "name": "My Collection",
  "description": "This is a collection of my favorite badges",
  "published": true
}
{
  "status": {
    "success": true,
    "description": "ok"
  },
  "result": [
    {
      "id": "6116c84d1ff787222b6c4d15",
      "entityId": "dwUFfLWhQ3CutEowC1LB7g",
      "name": "My Collection",
      "description": "This is a collection of my favorite badges",
      "share_url": "https://example.com/collections/1",
      "shareHash": "text",
      "published": true,
      "owner": "UQbhRmNrQ4qn9_FJ5-eTtA",
      "assertions": [
        "UQbhRmNrQ4qn9_FJ5-eTtA"
      ],
      "credentials": [
        "UQbhRmNrQ4qn9_FJ5-eTtA"
      ],
      "entityType": "BackpackCollection"
    }
  ],
  "timestamp": "2025-07-05T01:47:28.441Z",
  "validationErrors": [
    "text"
  ],
  "nonFieldErrors": [
    "text"
  ],
  "fieldErrors": {
    "ANY_ADDITIONAL_PROPERTY": [
      "text"
    ]
  },
  "errorCode": "text",
  "warnings": {
    "ANY_ADDITIONAL_PROPERTY": [
      "text"
    ]
  },
  "latestTermsVersion": 1
}

Get a list of Assertions in authenticated user's backpack

get
Authorizations
Query parameters
Responses
200
OK
*/*
get
GET /v2/backpack/assertions HTTP/1.1
Host: api.badgr.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "status": {
    "success": true,
    "description": "ok"
  },
  "result": [
    {
      "entityType": "Assertion",
      "id": "6116c84d1ff787222b6c4d15",
      "entityId": "i9CirfwJTuSfiqg0FFUBdQ",
      "openBadgeId": "https://api.badgr.io/public/assertions/i9CirfwJTuSfiqg0FFUBdQ",
      "createdAt": "2025-07-05T01:47:28.441Z",
      "createdBy": "Hey7J-GRSJeu6FNnHQwNyw",
      "badgeclass": "K829IK8RS6ercwkpeFOn-Q",
      "badgeclassOpenBadgeId": "https://api.badgr.io/public/badges/K829IK8RS6ercwkpeFOn-Q",
      "issuer": "ZvYydoQhRtOKalNzFPZR2A-Q",
      "issuerOpenBadgeId": "https://api.badgr.io/public/issuers/ZvYydoQhRtOKalNzFPZR2A",
      "image": "https://api.badgr.io/public/assertions/SsCfI7FlTr6hAJe4irXnfQ/image",
      "recipient": {
        "identity": "sha256$4c2657856f",
        "hashed": true,
        "type": "email",
        "salt": "jgsu868",
        "plaintextIdentity": "[email protected]"
      },
      "issuedOn": "2025-07-05T01:47:28.441Z",
      "narrative": "text",
      "evidence": [
        {
          "url": "https://example.com",
          "narrative": "text",
          "name": "text",
          "description": "text",
          "genre": "text",
          "audience": "text"
        }
      ],
      "revoked": true,
      "revocationReason": "text",
      "acceptance": "Unaccepted",
      "expires": "2025-07-05T01:47:28.441Z",
      "extensions": {
        "ANY_ADDITIONAL_PROPERTY": {}
      },
      "assertionRef": {
        "assertionUrl": "https://api.badgr.io/public/assertions/lY1LJ6K4RqG7ThGLYvWNng"
      },
      "badgeRef": {
        "badgeUrl": "https://api.badgr.io/public/badges/iOMWsaF1QbmMCofM54JlUg"
      },
      "issuerRef": {
        "issuerUrl": "https://api.badgr.ws/public/issuers/Uu4wd2I1SKmD3vmtMJ19hw"
      },
      "pending": true,
      "source": "local",
      "sourceUrl": "https://example.com/assertions/1",
      "originalJson": "{}",
      "imagePath": "uploads/badges/assertion-lY1LJ6K4RqG7ThGLYvWNng.png",
      "ob3AwardProperties": {
        "activityStart": "2025-07-05T01:47:28.441Z",
        "activityEnd": "2025-07-05T01:47:28.441Z",
        "licenseNumber": "text",
        "role": "text"
      }
    }
  ],
  "timestamp": "2025-07-05T01:47:28.441Z",
  "validationErrors": [
    "text"
  ],
  "nonFieldErrors": [
    "text"
  ],
  "fieldErrors": {
    "ANY_ADDITIONAL_PROPERTY": [
      "text"
    ]
  },
  "errorCode": "text",
  "warnings": {
    "ANY_ADDITIONAL_PROPERTY": [
      "text"
    ]
  },
  "latestTermsVersion": 1
}

Last updated

Was this helpful?