Skip to content

Issue a Badge

Issue a Badge

Please note that an archived badge template cannot be used to issue new badges.

Duplicate Badges

A badge is considered a duplicate if it shares the same badge_template as another badge and if it fulfills one or more of the following criteria:

  • Has the same recipient_email
  • Issued to the same user
  • Has the same issuer_earner_id

Duplicate badges cannot be issued by default. However, organization admins can allow earners to receive duplicate badges from a particular badge template via editing the badge template settings.

Required Fields

  • recipient_email
  • issued_to_first_name
  • issued_to_last_name
  • badge_template_id
  • issued_at

Optional Fields

  • issued_to_middle_name the user's middle name
  • issuer_earner_id allows you to attach your own system's user ID to a badge for recordkeeping. The issuer_earner_id will be returned in API calls and in reports, but it will not be shown to the user on the Credly site. Default: null
  • locale allows you to define the language badge notification emails will be sent in. Available locales include: "en", "fr", "de", "ko", "ja", "zh-CN", "pt", "es-ES", "es-US", "fr-CA", "pt-BR". Default: "en"
  • suppress_badge_notification_email prevents Credly from sending notification or reminder emails to the user about this badge. This allows you to send your own badge notification to the user without sending a duplicate email. Default: false.
  • expires_at allows you to specify an expiration date for the badge. If left null the badge template's default expiration is used. Set this to false to indicate "no expiration".
  • country_name allows you to indicate what country the earner of this badge is from
  • state_or_province allows you to indicate what state or province the earner of this badge is from
  • evidence

Request

POST /organizations/<organization_id>/badges

Request Body

{
  "recipient_email": "user1@example.com",
  "badge_template_id": "cfaf2910-ea5f-46f1-89a5-db525dad6e58",
  "issued_at": "2014-04-01 09:41:00 -0500",
  "issued_to_first_name": "Earner First Name",
  "issued_to_last_name": "Earner Last Name",
  "expires_at": null,
  "issuer_earner_id": "abc123",
  "locale": "en",
  "suppress_badge_notification_email": false
}

Response

201 Created Location: <badge_url>

{
  "data": {
    "user": {
      "id": "08cba456-8063-4001-a6d9-9ad7a8e8bd6e",
      "email": "08cba456-8063-4001-a6d9-9ad7a8e8bd6e@example.com",
      "first_name": "Alfred",
      "middle_name": "Beaker",
      "last_name": "Skiles",
      "current_position_name": "*****",
      "current_organization_name": "*****",
      "confirmed": true,
      "photo": null,
      "photo_url": null,
      "url": "https://www.credly.com/users/alfred-beaker-skiles"
    },
    "created_by": {
      "type": "Organization",
      "id": "e6eda68e-e3b9-4824-8176-2ea8d74570f7",
      "name": "Organization 267",
      "url": "https://api.credly.com/v1/organizations/e6eda68e-e3b9-4824-8176-2ea8d74570f7",
      "vanity_url": "https://www.credly.com/org/organization-267",
      "internationalize_badge_templates": false,
      "share_to_ziprecruiter": true,
      "twitter_url": "https://twitter.com/example",
      "verified": true
    },
    "issuer": {
      "summary": "issued by Organization 267",
      "entities": [
        {
          "label": "Issued by",
          "primary": true,
          "entity": {
            "type": "Organization",
            "id": "e6eda68e-e3b9-4824-8176-2ea8d74570f7",
            "name": "Organization 267",
            "url": "https://api.credly.com/v1/organizations/e6eda68e-e3b9-4824-8176-2ea8d74570f7",
            "vanity_url": "https://www.credly.com/org/organization-267",
            "internationalize_badge_templates": false,
            "share_to_ziprecruiter": true,
            "twitter_url": "https://twitter.com/example",
            "verified": true
          }
        }
      ]
    },
    "printing_enabled": false,
    "print_method": null,
    "badge_template": {
      "primary_badge_template_id": null,
      "variant_name": null,
      "id": "a5396cfb-7c87-4982-b830-82973564fe26",
      "allow_duplicate_badges": true,
      "description": "Dynamically deliver go forward e-tailers",
      "default_expires_at": null,
      "default_expires_at_date": null,
      "default_expires_at_type": null,
      "earn_this_badge_url": null,
      "enable_earn_this_badge": false,
      "enable_detail_attribute_visibility": true,
      "global_activity_url": "https://www.example.com/foo",
      "lock_badge_state": false,
      "name": "Badge Template 109",
      "state": "active",
      "public": true,
      "badges_count": 1,
      "recipient_type": "User",
      "send_expiring_badge_notifications": false,
      "settings_enable_related_badges": true,
      "show_badge_lmi": false,
      "show_lmi_jobs": false,
      "show_skill_tag_links": true,
      "vanity_slug": "badge-template-109",
      "record_to_blockchain": null,
      "translatable": false,
      "printing_disabled": false,
      "visibility": "public",
      "variants_allowed": false,
      "variant_type": null,
      "allow_delete": false,
      "allow_archive": true,
      "available_locales": [

      ],
      "only_one_skill_required": false,
      "linkedin_share_default_message": "View my verified achievement from @Org_Name.",
      "level": null,
      "time_to_earn": null,
      "cost": null,
      "type_category": null,
      "criteria_url_name": null,
      "criteria_url": null,
      "certification": true,
      "state_updated_at": null,
      "created_at": "2014-04-01T14:41:00.000Z",
      "updated_at": "2014-04-01T14:41:00.000Z",
      "show_template_settings": false,
      "get_issue_count": 1,
      "get_variants_issue_count": 0,
      "image": {
        "id": "2eeeec33-bf14-41ee-b053-34d8b4e08928",
        "url": "/system/test/images/2eeeec33-bf14-41ee-b053-34d8b4e08928/fake-600x600.png"
      },
      "image_url": "https://cdn.example.com/path/to/image.png",
      "url": "https://www.credly.com/org/organization-267/badge/badge-template-109",
      "owner": {
        "type": "Organization",
        "id": "e6eda68e-e3b9-4824-8176-2ea8d74570f7",
        "name": "Organization 267",
        "enable_blockchain": false,
        "url": "https://api.credly.com/v1/organizations/e6eda68e-e3b9-4824-8176-2ea8d74570f7",
        "vanity_url": "https://www.credly.com/org/organization-267",
        "vanity_slug": "organization-267",
        "verified": true,
        "viewable": true
      },
      "alignments": [
        {
          "id": "31c08040-eaef-4019-a303-65eb61849327",
          "name": "Alignment 116",
          "url": "http://www.example.com/alignment",
          "description": "Self-enabling cohesive task-force"
        }
      ],
      "recommendations": [
        {
          "id": "5f550d81-60b2-4166-b0e2-438f7f08c565",
          "title": "Recommendation Title",
          "type": "information",
          "activity_url": "http://www.example.com/recommendation"
        }
      ],
      "required_badge_templates": [

      ],
      "badge_template_activities": [
        {
          "id": "fe2cfc80-ffbd-404a-9b98-1c815419a352",
          "title": "Kickboxing Activity",
          "activity_type": "Schedule / Registration",
          "activity_url": "http://www.example.com/awesomepage",
          "required_badge_template_id": null
        }
      ],
      "skills": [
        "Skill 335",
        "Skill 336",
        "Skill 337"
      ],
      "endorsements": [

      ]
    },
    "id": "85e43b0a-6bb8-4d46-b6de-f6bba7d324b9",
    "issued_to": "Earner First Name Earner Last Name",
    "issued_to_first_name": "Earner First Name",
    "issued_to_middle_name": null,
    "issued_to_last_name": "Earner Last Name",
    "issuer_earner_id": "abc123",
    "locale": "en",
    "public": true,
    "translate_metadata": false,
    "replacement_badge_id": null,
    "replaces_badge_id": null,
    "revocation_reason": null,
    "state": "pending",
    "suppress_badge_notification_email": false,
    "updated_at": "2014-04-01T14:41:00.000Z",
    "completed_pathway_id": null,
    "recipient_email": "user1@example.com",
    "country": null,
    "country_code": null,
    "state_or_province": null,
    "created_at": "2014-04-01T14:41:00.000Z",
    "expires_at": null,
    "expires_at_date": null,
    "issued_at": "2014-04-01T14:41:00.000Z",
    "issued_at_date": "2014-04-01",
    "state_updated_at": null,
    "is_private_badge": false,
    "image": {
      "id": "2eeeec33-bf14-41ee-b053-34d8b4e08928",
      "url": "/system/test/images/2eeeec33-bf14-41ee-b053-34d8b4e08928/fake-600x600.png"
    },
    "image_url": "https://cdn.example.com/path/to/image.png",
    "alignments": [
      {
        "name": "Alignment 116",
        "description": "Self-enabling cohesive task-force"
      }
    ],
    "evidence": [

    ],
    "accept_badge_url": "https://www.credly.com/badges/85e43b0a-6bb8-4d46-b6de-f6bba7d324b9/accept"
  },
  "metadata": {
  }
}

Badge Evidence

A Badge can have multiple items of evidence associated with it. The four evidence types are KeyValueGroupEvidence, PlainTextEvidence, UrlEvidence, and IdEvidence. Here is an example of creating a badge with all four types:

Request Body

{
  "recipient_email": "test@example.com",
  "badge_template_id": "63f87fa1-f7e5-4925-981d-54ec312df1ec",
  "issued_at": "2014-04-01 09:41:00 -0500",
  "issued_to": "Firstname Lastname",
  "issued_to_first_name": "Firstname",
  "issued_to_last_name": "Lastname",
  "expires_at": null,
  "evidence": [
    {
      "type": "KeyValueGroupEvidence",
      "name": "Custom Evidence",
      "values": [
        {
          "type": "KeyValuePairEvidence",
          "key": "Testing Center",
          "value": "Central Test Facility, Minneapolis, MN",
          "url": "http://www.url-in-custom-evidence-is-optional.com"
        }
      ]
    },
    {
      "type": "PlainTextEvidence",
      "title": "Evidence",
      "description": "The evidence is clear."
    },
    {
      "type": "UrlEvidence",
      "value": "http://www.example.com/evidence",
      "description": "Description in URL evidence is optional",
      "name": "Evidence"
    },
    {
      "type": "IdEvidence",
      "title": "Drivers License Example",
      "description": "AAABBBCCC"
    }
  ]
}

Response

201 Created Location: <badge_url>

{
  "data": {
    "user": {
    },
    "created_by": {
      "type": "Organization",
      "id": "442575ba-7aaf-4253-b956-0de0a95e3083",
      "name": "Organization 271",
      "url": "https://api.credly.com/v1/organizations/442575ba-7aaf-4253-b956-0de0a95e3083",
      "vanity_url": "https://www.credly.com/org/organization-271",
      "internationalize_badge_templates": false,
      "share_to_ziprecruiter": true,
      "twitter_url": "https://twitter.com/example",
      "verified": true
    },
    "issuer": {
      "summary": "issued by Organization 271",
      "entities": [
        {
          "label": "Issued by",
          "primary": true,
          "entity": {
            "type": "Organization",
            "id": "442575ba-7aaf-4253-b956-0de0a95e3083",
            "name": "Organization 271",
            "url": "https://api.credly.com/v1/organizations/442575ba-7aaf-4253-b956-0de0a95e3083",
            "vanity_url": "https://www.credly.com/org/organization-271",
            "internationalize_badge_templates": false,
            "share_to_ziprecruiter": true,
            "twitter_url": "https://twitter.com/example",
            "verified": true
          }
        }
      ]
    },
    "printing_enabled": false,
    "print_method": null,
    "badge_template": {
      "primary_badge_template_id": null,
      "variant_name": null,
      "id": "9f72da48-e79c-4e4b-a14f-bcbde0492e53",
      "allow_duplicate_badges": true,
      "description": "Dynamically deliver go forward e-tailers",
      "default_expires_at": null,
      "default_expires_at_date": null,
      "default_expires_at_type": null,
      "earn_this_badge_url": null,
      "enable_earn_this_badge": false,
      "enable_detail_attribute_visibility": true,
      "global_activity_url": "https://www.example.com/foo",
      "lock_badge_state": false,
      "name": "Badge Template 111",
      "state": "active",
      "public": true,
      "badges_count": 1,
      "recipient_type": "User",
      "send_expiring_badge_notifications": false,
      "settings_enable_related_badges": true,
      "show_badge_lmi": false,
      "show_lmi_jobs": false,
      "show_skill_tag_links": true,
      "vanity_slug": "badge-template-111",
      "record_to_blockchain": null,
      "translatable": false,
      "printing_disabled": false,
      "visibility": "public",
      "variants_allowed": false,
      "variant_type": null,
      "allow_delete": false,
      "allow_archive": true,
      "available_locales": [

      ],
      "only_one_skill_required": false,
      "linkedin_share_default_message": "View my verified achievement from @Org_Name.",
      "level": null,
      "time_to_earn": null,
      "cost": null,
      "type_category": null,
      "criteria_url_name": null,
      "criteria_url": null,
      "certification": true,
      "state_updated_at": null,
      "created_at": "2014-04-01T14:41:00.000Z",
      "updated_at": "2014-04-01T14:41:00.000Z",
      "show_template_settings": false,
      "get_issue_count": 1,
      "get_variants_issue_count": 0,
      "image": {
        "id": "d5c7ab70-70e9-41b2-993a-8f3c7649ca55",
        "url": "/system/test/images/d5c7ab70-70e9-41b2-993a-8f3c7649ca55/fake-600x600.png"
      },
      "image_url": "https://cdn.example.com/path/to/image.png",
      "url": "https://www.credly.com/org/organization-271/badge/badge-template-111",
      "owner": {
        "type": "Organization",
        "id": "442575ba-7aaf-4253-b956-0de0a95e3083",
        "name": "Organization 271",
        "enable_blockchain": false,
        "url": "https://api.credly.com/v1/organizations/442575ba-7aaf-4253-b956-0de0a95e3083",
        "vanity_url": "https://www.credly.com/org/organization-271",
        "vanity_slug": "organization-271",
        "verified": true,
        "viewable": true
      },
      "alignments": [
        {
          "id": "3cb80c7c-7772-4aff-b00d-672daada8ebb",
          "name": "Alignment 120",
          "url": "http://www.example.com/alignment",
          "description": "Self-enabling cohesive task-force"
        }
      ],
      "recommendations": [
        {
          "id": "470532d8-9ba0-4b8b-ad81-9015e16469b4",
          "title": "Recommendation Title",
          "type": "information",
          "activity_url": "http://www.example.com/recommendation"
        }
      ],
      "required_badge_templates": [

      ],
      "badge_template_activities": [
        {
          "id": "a30b24bb-0498-4094-abbe-bfa63c2f2933",
          "title": "Kickboxing Activity",
          "activity_type": "Schedule / Registration",
          "activity_url": "http://www.example.com/awesomepage",
          "required_badge_template_id": null
        }
      ],
      "skills": [
        "Skill 341",
        "Skill 342",
        "Skill 343"
      ],
      "endorsements": [

      ]
    },
    "id": "2ec89987-de49-413e-9e16-6df144dc5242",
    "issued_to": "Firstname Lastname",
    "issued_to_first_name": "Firstname",
    "issued_to_middle_name": null,
    "issued_to_last_name": "Lastname",
    "issuer_earner_id": null,
    "locale": "en",
    "public": true,
    "translate_metadata": false,
    "replacement_badge_id": null,
    "replaces_badge_id": null,
    "revocation_reason": null,
    "state": "pending",
    "suppress_badge_notification_email": false,
    "updated_at": "2014-04-01T14:41:00.000Z",
    "completed_pathway_id": null,
    "recipient_email": "test@example.com",
    "country": null,
    "country_code": null,
    "state_or_province": null,
    "created_at": "2014-04-01T14:41:00.000Z",
    "expires_at": null,
    "expires_at_date": null,
    "issued_at": "2014-04-01T14:41:00.000Z",
    "issued_at_date": "2014-04-01",
    "state_updated_at": null,
    "is_private_badge": false,
    "image": {
      "id": "d5c7ab70-70e9-41b2-993a-8f3c7649ca55",
      "url": "/system/test/images/d5c7ab70-70e9-41b2-993a-8f3c7649ca55/fake-600x600.png"
    },
    "image_url": "https://cdn.example.com/path/to/image.png",
    "alignments": [
      {
        "name": "Alignment 120",
        "description": "Self-enabling cohesive task-force"
      }
    ],
    "evidence": [
      {
        "id": "3c3d6000-84a7-4c53-b028-fdad3aa7d21c",
        "type": "KeyValueGroupEvidence",
        "name": "Custom Evidence",
        "values": [
          {
            "key": "Testing Center",
            "value": "Central Test Facility, Minneapolis, MN",
            "url": "http://www.url-in-custom-evidence-is-optional.com"
          }
        ]
      },
      {
        "id": "792d5270-78d2-414a-b910-6c16da7df4e3",
        "type": "PlainTextEvidence",
        "title": "Evidence",
        "description": "The evidence is clear."
      },
      {
        "id": "4532b892-e4dc-4ef7-b460-fd58e65835a4",
        "type": "UrlEvidence",
        "name": "Evidence",
        "description": "Description in URL evidence is optional",
        "value": "http://www.example.com/evidence"
      },
      {
        "id": "127d0782-0384-4666-a502-3e78ab5771cc",
        "type": "IdEvidence",
        "title": "Drivers License Example",
        "description": "AAABBBCCC"
      }
    ],
    "accept_badge_url": "https://www.credly.com/badges/2ec89987-de49-413e-9e16-6df144dc5242/accept"
  },
  "metadata": {
  }
}

Get Issued Badges

Request

GET /organizations/<organization_id>/badges
Query Param Description
filter=<filter> Gets badges issued by the specified organization that match the filter
sort=<sort> Sorts the results based on the sort parameter
page=<page_number> Gets the specified page of badges with the specified state issued by the specified organization

Filtering

The filter parameter has the following format: key::value. You can combine keys for stricter searches, e.g. state::pending|user_id::42.

Results can be filtered with the following keys:

Key Description
query Partial matches on badge user full name, or user email address (partial email address matches beginning with '@' e.g. @example.com or @*.example.com)
state Returns badges in the specified state (pending, accepted, rejected, revoked); allows multiple states delimited by comma
user_id Returns badges for the user with the specified user ID
issued_at_min Returns badges with issue date on or after the specified date (YYYY-MM-DD)
issued_at_max Returns badges with issue date on or before the specified date (YYYY-MM-DD)
issued_at_date_min Returns badges with the time zone-agnostic issue date on or after the specified date (YYYY-MM-DD)
issued_at_date_max Returns badges with the time zone-agnostic issue date on or before the specified date (YYYY-MM-DD)
issuer_id Returns badges issued by an organization with the specified ID; allows multiple IDs delimited by comma
issuer_earner_id Returns badges with the specified issuer earner ID
public Returns badges that are public or non-public for specified true or false value
badge_templates[owner_id] Returns issued badges owned by an organization with the specified ID; allows multiple IDs delimited by comma
badge_templates[name] Partial matches on badge template name
badge_templates[reporting_tags] Returns badges with specified reporting tags as a comma delimited list
badge_templates[skills] Returns badges matching any of the skills specified as a comma delimited list
created_at_min Returns badges created on or after the specified date (YYYY-MM-DD)
created_at_max Returns badges created on or before the specified date (YYYY-MM-DD)
expires_at_min Returns badges expiring on or after the specified date (YYYY-MM-DD), including badges with no expiration date
expires_at_max Returns badges expiring on or before the specified date (YYYY-MM-DD)
expires_at_date_min Returns badges with time zone-agnostic expiration on or after the specified date (YYYY-MM-DD), including badges with no expiration date
expires_at_date_max Returns badges with time zone-agnostic expiration on or before the specified date (YYYY-MM-DD)
state_updated_at_min Returns badges with state change on or after the specified date (YYYY-MM-DD)
state_updated_at_max Returns badges with state change on or before the specified date (YYYY-MM-DD)
updated_at_min Returns badges with change on or after the specified date (YYYY-MM-DD)
updated_at_max Returns badges with change on or before the specified date (YYYY-MM-DD)
badge_template_id Returns badges with the specified badge template ID; allows multiple IDs delimited by comma
recipient_email Returns issued badges with recipient email matching the specified value
recipient_email_all Returns issued badges belonging to the user who has a primary or secondary email matching the specified value

Sorting

The sort parameter has the following format: key1|key2. You can optionally include a - to indicate descending order. e.g. -issued_at would return results in order with the most recently issued badges first.

Results can be sorted with the following keys:

Key Description
created_at Date the badge was created
issued_at Date the badge was issued
state_updated_at Date the badge's state was updated (pending, accepted, rejected, revoked)
badge_templates[name] Name of the badge template
users[first_name] First name of the user that the badge was issued to
users[last_name] Last name of the user that the badge was issued to

Paging

At most 50 results are returned at a time. Include an optional page parameter to fetch the next page of results. Requests made with excessively large page numbers may be prohibited and respond with 400 Bad Request. If you need to access large volumes of badge data, use the Get Badges in Bulk endpoint, instead.

Response

200 OK

{
  "data": [
    {
      "user": {
        "id": "779c8150-3020-4799-8f4d-0b306885ea9a",
        "email": "779c8150-3020-4799-8f4d-0b306885ea9a@example.com",
        "first_name": "Alfred",
        "middle_name": "Beaker",
        "last_name": "Skiles",
        "current_position_name": "*****",
        "current_organization_name": "*****",
        "confirmed": true,
        "photo": null,
        "photo_url": null,
        "url": "https://www.credly.com/users/alfred-beaker-skiles.8b4522fc"
      },
      "created_by": {
        "type": "Organization",
        "id": "6c816b4b-ee8b-4f47-8468-2e8ce0ced20c",
        "name": "Organization 273",
        "url": "https://api.credly.com/v1/organizations/6c816b4b-ee8b-4f47-8468-2e8ce0ced20c",
        "vanity_url": "https://www.credly.com/org/organization-273",
        "internationalize_badge_templates": false,
        "share_to_ziprecruiter": true,
        "twitter_url": "https://twitter.com/example",
        "verified": true
      },
      "issuer": {
        "summary": "issued by Organization 273",
        "entities": [
          {
            "label": "Issued by",
            "primary": true,
            "entity": {
              "type": "Organization",
              "id": "6c816b4b-ee8b-4f47-8468-2e8ce0ced20c",
              "name": "Organization 273",
              "url": "https://api.credly.com/v1/organizations/6c816b4b-ee8b-4f47-8468-2e8ce0ced20c",
              "vanity_url": "https://www.credly.com/org/organization-273",
              "internationalize_badge_templates": false,
              "share_to_ziprecruiter": true,
              "twitter_url": "https://twitter.com/example",
              "verified": true
            }
          }
        ]
      },
      "printing_enabled": false,
      "print_method": null,
      "badge_template": {
        "primary_badge_template_id": null,
        "variant_name": null,
        "id": "7d47e38d-76d4-4749-b3eb-0b7395016474",
        "allow_duplicate_badges": true,
        "description": "Dynamically deliver go forward e-tailers",
        "default_expires_at": null,
        "default_expires_at_date": null,
        "default_expires_at_type": null,
        "earn_this_badge_url": null,
        "enable_earn_this_badge": false,
        "enable_detail_attribute_visibility": true,
        "global_activity_url": "https://www.example.com/foo",
        "lock_badge_state": false,
        "name": "Badge Template 112",
        "state": "active",
        "public": true,
        "badges_count": 0,
        "recipient_type": "User",
        "send_expiring_badge_notifications": false,
        "settings_enable_related_badges": true,
        "show_badge_lmi": false,
        "show_lmi_jobs": false,
        "show_skill_tag_links": true,
        "vanity_slug": "badge-template-112",
        "record_to_blockchain": null,
        "translatable": false,
        "printing_disabled": false,
        "visibility": "public",
        "variants_allowed": false,
        "variant_type": null,
        "allow_delete": true,
        "allow_archive": false,
        "available_locales": [

        ],
        "only_one_skill_required": false,
        "linkedin_share_default_message": "View my verified achievement from @Org_Name.",
        "level": null,
        "time_to_earn": null,
        "cost": null,
        "type_category": null,
        "criteria_url_name": null,
        "criteria_url": null,
        "certification": true,
        "state_updated_at": null,
        "created_at": "2014-04-01T14:41:00.000Z",
        "updated_at": "2014-04-01T14:41:00.000Z",
        "show_template_settings": false,
        "get_issue_count": 0,
        "get_variants_issue_count": 0,
        "image": {
          "id": "299822fc-916b-483f-8fdb-0899f4d198c8",
          "url": "/system/test/images/299822fc-916b-483f-8fdb-0899f4d198c8/fake-600x600.png"
        },
        "image_url": "https://cdn.example.com/path/to/image.png",
        "url": "https://www.credly.com/org/organization-273/badge/badge-template-112",
        "owner": {
          "type": "Organization",
          "id": "6c816b4b-ee8b-4f47-8468-2e8ce0ced20c",
          "name": "Organization 273",
          "enable_blockchain": false,
          "url": "https://api.credly.com/v1/organizations/6c816b4b-ee8b-4f47-8468-2e8ce0ced20c",
          "vanity_url": "https://www.credly.com/org/organization-273",
          "vanity_slug": "organization-273",
          "verified": true,
          "viewable": true
        },
        "alignments": [
          {
            "id": "ce9c009d-ea9a-413d-a4cb-390c68f0b161",
            "name": "Alignment 122",
            "url": "http://www.example.com/alignment",
            "description": "Self-enabling cohesive task-force"
          }
        ],
        "recommendations": [
          {
            "id": "2c646a16-472e-41f3-8732-5ee9f40d0916",
            "title": "Recommendation Title",
            "type": "information",
            "activity_url": "http://www.example.com/recommendation"
          }
        ],
        "required_badge_templates": [

        ],
        "badge_template_activities": [
          {
            "id": "9df6923e-fb54-498e-8a2a-a10d2cfdb132",
            "title": "Kickboxing Activity",
            "activity_type": "Schedule / Registration",
            "activity_url": "http://www.example.com/awesomepage",
            "required_badge_template_id": null
          }
        ],
        "skills": [
          "Skill 344",
          "Skill 345",
          "Skill 346"
        ],
        "endorsements": [

        ]
      },
      "id": "3392ae98-9a54-4032-9e8d-dfc89a0de0b1",
      "issued_to": "Alfred Beaker Skiles",
      "issued_to_first_name": "Alfred",
      "issued_to_middle_name": "Beaker",
      "issued_to_last_name": "Skiles",
      "issuer_earner_id": null,
      "locale": "en",
      "public": true,
      "translate_metadata": false,
      "replacement_badge_id": null,
      "replaces_badge_id": null,
      "revocation_reason": null,
      "state": "accepted",
      "suppress_badge_notification_email": false,
      "updated_at": "2014-04-01T14:41:00.000Z",
      "completed_pathway_id": null,
      "recipient_email": "user10001@example.com",
      "country": "United States",
      "country_code": "USA",
      "state_or_province": "Minnesota",
      "created_at": "2014-04-01T14:41:00.000Z",
      "expires_at": "2016-04-01T14:41:00.000Z",
      "expires_at_date": "2016-04-01",
      "issued_at": "2014-04-01T14:41:00.000Z",
      "issued_at_date": "2014-04-01",
      "state_updated_at": "2014-04-01T14:41:00.000Z",
      "is_private_badge": false,
      "image": {
        "id": "299822fc-916b-483f-8fdb-0899f4d198c8",
        "url": "/system/test/images/299822fc-916b-483f-8fdb-0899f4d198c8/fake-600x600.png"
      },
      "image_url": "https://cdn.example.com/path/to/image.png",
      "alignments": [
        {
          "name": "Alignment 122",
          "description": "Self-enabling cohesive task-force"
        }
      ],
      "evidence": [
        {
          "id": "0a586c01-0758-40ea-a274-69a88f2cb7f8",
          "type": "UrlEvidence",
          "name": "Acclaim",
          "description": "Description in URL evidence is optional",
          "value": "http://www.example.com/path-to-earner-specific-evidence"
        }
      ],
      "badge_url": "https://www.credly.com/badges/3392ae98-9a54-4032-9e8d-dfc89a0de0b1"
    }
  ],
  "metadata": {
    "count": 1,
    "current_page": 1,
    "total_count": 1,
    "total_pages": 1,
    "per": 50,
    "previous_page_url": null,
    "next_page_url": null
  }
}

Get Badges in Bulk

You can get large amounts of badge data more efficiently by using an endpoint similar to Get Issued Badges

Query Param Description
filter=<filter> Gets badges issued by the specified organization that match the filter
badge_format=<format_name> Determines the response payload content can be default or minimal

For performance reasons the high volume endpoint does not support the sort parameter, instead results are sorted by created_at. Badges with the same created_at will be further sorted by id

Request

GET /organizations/<organization_id>/high_volume_issued_badge_search

Filtering

This endpoint supports the same filtering options available for Badge Search Filters

Paging

The only paging mechanism available is a forward cursor. The url returned in the next_page_url will be not empty when there is more data to obtain. To cursor through the results, repeatedly request the url returned in next_page_url until its null in value.

Badge Response Formats

Default

The default response format contains most of the same badge and badge template information as the Get Issued Badges endpoint. It is useful when a moderate amount of data is required at the cost of performance.

Response

200 OK

{
  "data": [
    {
      "id": "6b9a5222-489a-468d-8818-be2b23ee9a2e",
      "issued_to": "Alfred Beaker Skiles",
      "issued_to_first_name": "Alfred",
      "issued_to_middle_name": "Beaker",
      "issued_to_last_name": "Skiles",
      "issuer_earner_id": null,
      "locale": "en",
      "public": true,
      "recipient_email": "user20001@example.com",
      "replacement_badge_id": null,
      "revocation_reason": null,
      "state": "accepted",
      "suppress_badge_notification_email": false,
      "issued_at_date": "2014-04-01",
      "expires_at_date": "2016-04-01",
      "badge_url": "https://www.credly.com/badges/9f53aa64-ce37-4dbe-b6bb-b6d0f02c774d",
      "updated_at": "2014-04-01T14:41:00.000Z",
      "created_at": "2014-04-01T14:41:00.000Z",
      "expires_at": "2016-04-01T14:41:00.000Z",
      "issued_at": "2014-04-01T14:41:00.000Z",
      "state_updated_at": "2018-01-26T20:39:43.166Z",
      "badge_template": {
        "id": "54338420-6837-4757-a771-f239f37c3923",
        "description": "Dynamically deliver go forward e-tailers",
        "global_activity_url": "https://example.com/foo",
        "name": "Badge Template 1",
        "state": "active",
        "public": true,
        "vanity_slug": "badge-template-1",
        "image": {
          "id": "56c140da-a7ae-4766-8dd2-b627487b2b3a",
          "url": "https://cdn.example.com/path/to/image.png"
        },
        "image_url": "https://cdn.example.com/path/to/image.png",
        "url": "https://www.credly.com/org/organization-1/badge/badge-template-1",
        "owner": {
          "type": "Organization",
          "id": "26d9aced-5233-45ae-96c1-6fdb08692b34"
        },
        "state_updated_at": null,
        "created_at": "2014-04-01T14:41:00.000Z",
        "updated_at": "2014-04-01T14:41:00.000Z"
      },
      "created_by": {
        "type": "Organization",
        "id": "26d9aced-5233-45ae-96c1-6fdb08692b34"
      },
      "issuer": {
        "summary": "issued by Organization 1",
        "entities": [
          {
            "label": "Issued by",
            "primary": true,
            "type": "Organization",
            "id": "296087f5-6820-44c6-93aa-cea556aca312",
            "name": "Organization 1"
          }
        ]
      },
      "user": {
        "id": "63baa914-0ced-4bb7-b301-a6a1847feed0"
      }
    }
  ],
  "metadata": {
    "next_page_url": null
  }
}

Minimal

The minimal response format has just enough information to identify the badges returned and view some minimal information about them. This format is best used when large amounts of data are needed in a short time.

Response

200 OK

{
  "data": [
    {
      "id": "67ee7b52-069a-443f-89c3-d9a85dfd2873",
      "issued_to": "Alfred Beaker Skiles",
      "issued_to_first_name": "Alfred",
      "issued_to_middle_name": "Beaker",
      "issued_to_last_name": "Skiles",
      "issuer_earner_id": null,
      "locale": "en",
      "public": true,
      "recipient_email": "user10001@example.com",
      "state": "accepted",
      "badge_url": "https://www.credly.com/badges/9f53aa64-ce37-4dbe-b6bb-b6d0f02c774d",
      "updated_at": "2014-04-01T14:41:00.000Z",
      "created_at": "2014-04-01T14:41:00.000Z",
      "expires_at": "2016-04-01T14:41:00.000Z",
      "issued_at": "2014-04-01T14:41:00.000Z",
      "state_updated_at": "2018-01-26T20:17:45.444Z",
      "badge_template": {
        "id": "2150de13-abd7-47d0-a696-68855cac1bae",
        "name": "Badge Template 2"
      },
      "user": {
        "id": "63855321-2f8e-42f2-8d6c-48b94ea70966"
      }
    }
  ],
  "metadata": {
    "next_page_url": null
  }
}

Replace a Badge

Replacing a badge will create a new badge to take the place of an existing one.

Fields that are not provided will not assume the values from the replaced badge.

(with the exception of expires_at)

For example, if state_or_province is not provided the new badge will not include location information. If a notification_message is included, the badge's recipient will receive an email including that message.

The recipient_email may be changed on a replacement, however this feature is only available on badges with a state of pending. Providing a change of recipient_email on badges in other states will result in an error.

If attempts are made to access the old badge, the service will return a redirect to the new badge's location.

expires_at generated values

If expires_at is included, but left blank, then the value is generated using the badge template's default expiration date if it exists. If no default exists, the badge becomes non-expiring.

The default expiration will also be used if the expires_at parameter is omitted, but the previous badge was expiring.

To override this behavior and force a badge to be non-expiring, expires_at must be set explicitly to false.

Required Fields

  • badge_template_id
  • issued_at

Optional Fields

  • country_name
  • expires_at
  • issued_to_first_name
  • issued_to_middle_name
  • issued_to_last_name
  • issuer_earner_id
  • notification_message
  • state_or_province
  • evidence

Request

POST /organizations/<organization_id>/badges/<badge_id>/replace

Request Body

{
  "badge_template_id": "4008b9b1-1251-40a3-ba90-1bbc9720fc37",
  "issued_at": "2014-04-01 09:41:00 -0500",
  "issued_to": "Firstname Lastname",
  "issued_to_first_name": "Firstname",
  "issued_to_last_name": "Lastname",
  "issuer_earner_id": "earner-1",
  "expires_at": false,
  "country_name": "United States of America",
  "state_or_province": "Minnesota",
  "evidence": [
    {
      "type": "UrlEvidence",
      "value": "http://www.example.com/evidence",
      "description": "Description in URL evidence is optional",
      "name": "Evidence"
    }
  ],
  "notification_message": "Lorem ipsum dolor"
}

Response

201 Created Location: <badge_url>

{
  "data": {
    "user": {
      "id": "78bcff89-3a6e-4823-bf4b-d3c1ffaaa30f",
      "email": "78bcff89-3a6e-4823-bf4b-d3c1ffaaa30f@example.com",
      "first_name": "Alfred",
      "middle_name": "Beaker",
      "last_name": "Skiles",
      "current_position_name": "*****",
      "current_organization_name": "*****",
      "confirmed": true,
      "photo": null,
      "photo_url": null,
      "url": "https://www.credly.com/users/alfred-beaker-skiles"
    },
    "created_by": {
      "type": "Organization",
      "id": "4a795c20-cd14-495e-bed3-76da6b8b8545",
      "name": "Organization 261",
      "url": "https://api.credly.com/v1/organizations/4a795c20-cd14-495e-bed3-76da6b8b8545",
      "vanity_url": "https://www.credly.com/org/organization-261",
      "internationalize_badge_templates": false,
      "share_to_ziprecruiter": true,
      "twitter_url": "https://twitter.com/example",
      "verified": true
    },
    "issuer": {
      "summary": "issued by Organization 261",
      "entities": [
        {
          "label": "Issued by",
          "primary": true,
          "entity": {
            "type": "Organization",
            "id": "4a795c20-cd14-495e-bed3-76da6b8b8545",
            "name": "Organization 261",
            "url": "https://api.credly.com/v1/organizations/4a795c20-cd14-495e-bed3-76da6b8b8545",
            "vanity_url": "https://www.credly.com/org/organization-261",
            "internationalize_badge_templates": false,
            "share_to_ziprecruiter": true,
            "twitter_url": "https://twitter.com/example",
            "verified": true
          }
        }
      ]
    },
    "printing_enabled": false,
    "print_method": null,
    "badge_template": {
      "primary_badge_template_id": null,
      "variant_name": null,
      "id": "6400ecf6-d4c0-4b1f-a291-28ccbaedaee4",
      "allow_duplicate_badges": true,
      "description": "Dynamically deliver go forward e-tailers",
      "default_expires_at": null,
      "default_expires_at_date": null,
      "default_expires_at_type": null,
      "earn_this_badge_url": null,
      "enable_earn_this_badge": false,
      "enable_detail_attribute_visibility": true,
      "global_activity_url": "https://www.example.com/foo",
      "lock_badge_state": false,
      "name": "Badge Template 106",
      "state": "active",
      "public": true,
      "badges_count": 0,
      "recipient_type": "User",
      "send_expiring_badge_notifications": false,
      "settings_enable_related_badges": true,
      "show_badge_lmi": false,
      "show_lmi_jobs": false,
      "show_skill_tag_links": true,
      "vanity_slug": "badge-template-106",
      "record_to_blockchain": null,
      "translatable": false,
      "printing_disabled": false,
      "visibility": "public",
      "variants_allowed": false,
      "variant_type": null,
      "allow_delete": true,
      "allow_archive": false,
      "available_locales": [

      ],
      "only_one_skill_required": false,
      "linkedin_share_default_message": "View my verified achievement from @Org_Name.",
      "level": null,
      "time_to_earn": null,
      "cost": null,
      "type_category": null,
      "criteria_url_name": null,
      "criteria_url": null,
      "certification": true,
      "state_updated_at": null,
      "created_at": "2014-04-01T14:41:00.000Z",
      "updated_at": "2014-04-01T14:41:00.000Z",
      "show_template_settings": false,
      "get_issue_count": 0,
      "get_variants_issue_count": 0,
      "image": {
        "id": "1c716140-29c6-49df-8df3-af3a4f4429d3",
        "url": "/system/test/images/1c716140-29c6-49df-8df3-af3a4f4429d3/fake-600x600.png"
      },
      "image_url": "https://cdn.example.com/path/to/image.png",
      "url": "https://www.credly.com/org/organization-261/badge/badge-template-106",
      "owner": {
        "type": "Organization",
        "id": "4a795c20-cd14-495e-bed3-76da6b8b8545",
        "name": "Organization 261",
        "enable_blockchain": false,
        "url": "https://api.credly.com/v1/organizations/4a795c20-cd14-495e-bed3-76da6b8b8545",
        "vanity_url": "https://www.credly.com/org/organization-261",
        "vanity_slug": "organization-261",
        "verified": true,
        "viewable": true
      },
      "alignments": [
        {
          "id": "c20af11a-323d-464b-83f7-c765effaffef",
          "name": "Alignment 110",
          "url": "http://www.example.com/alignment",
          "description": "Self-enabling cohesive task-force"
        }
      ],
      "recommendations": [
        {
          "id": "db9d6919-a145-4027-83b2-c175b6f07422",
          "title": "Recommendation Title",
          "type": "information",
          "activity_url": "http://www.example.com/recommendation"
        }
      ],
      "required_badge_templates": [

      ],
      "badge_template_activities": [
        {
          "id": "617dfbce-e1cb-48af-a9ed-ddb38911b29b",
          "title": "Kickboxing Activity",
          "activity_type": "Schedule / Registration",
          "activity_url": "http://www.example.com/awesomepage",
          "required_badge_template_id": null
        }
      ],
      "skills": [
        "Skill 326",
        "Skill 327",
        "Skill 328"
      ],
      "endorsements": [

      ]
    },
    "id": "7b3135a9-3a88-4f3a-9440-a7fb143dae59",
    "issued_to": "Firstname Lastname",
    "issued_to_first_name": "Firstname",
    "issued_to_middle_name": null,
    "issued_to_last_name": "Lastname",
    "issuer_earner_id": "earner-1",
    "locale": "en",
    "public": true,
    "translate_metadata": false,
    "replacement_badge_id": null,
    "replaces_badge_id": "8f9f3cb1-1bae-4dd5-a070-39a617368e3a",
    "revocation_reason": null,
    "state": "accepted",
    "suppress_badge_notification_email": false,
    "updated_at": "2014-04-01T14:41:00.000Z",
    "completed_pathway_id": null,
    "recipient_email": "user2@example.com",
    "country": "United States",
    "country_code": "USA",
    "state_or_province": "Minnesota",
    "created_at": "2014-04-01T14:41:00.000Z",
    "expires_at": null,
    "expires_at_date": null,
    "issued_at": "2014-04-01T14:41:00.000Z",
    "issued_at_date": "2014-04-01",
    "state_updated_at": "2014-04-01T14:41:00.000Z",
    "is_private_badge": false,
    "image": {
      "id": "1c716140-29c6-49df-8df3-af3a4f4429d3",
      "url": "/system/test/images/1c716140-29c6-49df-8df3-af3a4f4429d3/fake-600x600.png"
    },
    "image_url": "https://cdn.example.com/path/to/image.png",
    "alignments": [
      {
        "name": "Alignment 110",
        "description": "Self-enabling cohesive task-force"
      }
    ],
    "evidence": [
      {
        "id": "6652506d-64e3-475d-856d-7cadf2931559",
        "type": "UrlEvidence",
        "name": "Evidence",
        "description": "Description in URL evidence is optional",
        "value": "http://www.example.com/evidence"
      }
    ],
    "accept_badge_url": "https://www.credly.com/badges/7b3135a9-3a88-4f3a-9440-a7fb143dae59/accept",
    "badge_url": "https://www.credly.com/badges/7b3135a9-3a88-4f3a-9440-a7fb143dae59"
  },
  "metadata": {
  }
}

Validation Errors

Attempts to replace a badge that has already been replaced will result in a 422 with an error response that includes the current replacement badge ID in the metadata field.

Response

422 Unprocessable Entity

{
  "data": {
    "message": "Validation failed: This badge cannot be replaced because it has already been replaced.",
    "errors": [
      {
        "attribute": "base",
        "attribute_label": "Base",
        "messages": [
          "This badge cannot be replaced because it has already been replaced."
        ]
      }
    ]
  },
  "metadata": {
    "current_badge_id": "bd137a0a-bcd3-4646-a943-cf9f3038cbe9"
  }
}

Revoke a Badge

Revoking a badge will cause requests to the badge's OBI hosted assertion (/api/v1/obi/badgeassertions/<badgeid>) to return HTTP 410 Gone.

Request

PUT /organizations/<organization_id>/badges/<badge_id>/revoke

Request Body

{
  "reason": "Check bounced",
  "suppress_revoke_notification_email": false
}

suppress_revoke_notification_email is optional. Set it to true to suppress the email notification that is ordinarily sent to the earner when a badge is revoked.

Response

200 OK

{
  "data": {
    "user": {
      "id": "b72d1ea5-434e-4461-87c7-6d0fd488d799",
      "email": "b72d1ea5-434e-4461-87c7-6d0fd488d799@example.com",
      "first_name": "Alfred",
      "middle_name": "Beaker",
      "last_name": "Skiles",
      "current_position_name": "*****",
      "current_organization_name": "*****",
      "confirmed": true,
      "photo": null,
      "photo_url": null,
      "url": "https://www.credly.com/users/alfred-beaker-skiles"
    },
    "created_by": {
      "type": "Organization",
      "id": "0b463b20-6b63-473f-946d-a10632c679d3",
      "name": "Organization 257",
      "url": "https://api.credly.com/v1/organizations/0b463b20-6b63-473f-946d-a10632c679d3",
      "vanity_url": "https://www.credly.com/org/organization-257",
      "internationalize_badge_templates": false,
      "share_to_ziprecruiter": true,
      "twitter_url": "https://twitter.com/example",
      "verified": true
    },
    "issuer": {
      "summary": "issued by Organization 257",
      "entities": [
        {
          "label": "Issued by",
          "primary": true,
          "entity": {
            "type": "Organization",
            "id": "0b463b20-6b63-473f-946d-a10632c679d3",
            "name": "Organization 257",
            "url": "https://api.credly.com/v1/organizations/0b463b20-6b63-473f-946d-a10632c679d3",
            "vanity_url": "https://www.credly.com/org/organization-257",
            "internationalize_badge_templates": false,
            "share_to_ziprecruiter": true,
            "twitter_url": "https://twitter.com/example",
            "verified": true
          }
        }
      ]
    },
    "printing_enabled": false,
    "print_method": null,
    "badge_template": {
      "primary_badge_template_id": null,
      "variant_name": null,
      "id": "2d4767c2-c2a5-4e91-94cf-f53a992bcb64",
      "allow_duplicate_badges": true,
      "description": "Dynamically deliver go forward e-tailers",
      "default_expires_at": null,
      "default_expires_at_date": null,
      "default_expires_at_type": null,
      "earn_this_badge_url": null,
      "enable_earn_this_badge": false,
      "enable_detail_attribute_visibility": true,
      "global_activity_url": "https://www.example.com/foo",
      "lock_badge_state": false,
      "name": "Badge Template 104",
      "state": "active",
      "public": true,
      "badges_count": 0,
      "recipient_type": "User",
      "send_expiring_badge_notifications": false,
      "settings_enable_related_badges": true,
      "show_badge_lmi": false,
      "show_lmi_jobs": false,
      "show_skill_tag_links": true,
      "vanity_slug": "badge-template-104",
      "record_to_blockchain": null,
      "translatable": false,
      "printing_disabled": false,
      "visibility": "public",
      "variants_allowed": false,
      "variant_type": null,
      "allow_delete": true,
      "allow_archive": false,
      "available_locales": [

      ],
      "only_one_skill_required": false,
      "linkedin_share_default_message": "View my verified achievement from @Org_Name.",
      "level": null,
      "time_to_earn": null,
      "cost": null,
      "type_category": null,
      "criteria_url_name": null,
      "criteria_url": null,
      "certification": true,
      "state_updated_at": null,
      "created_at": "2014-04-01T14:41:00.000Z",
      "updated_at": "2014-04-01T14:41:00.000Z",
      "show_template_settings": false,
      "get_issue_count": 0,
      "get_variants_issue_count": 0,
      "image": {
        "id": "77b8da5b-9d45-44ee-8dd0-a28615fd943d",
        "url": "/system/test/images/77b8da5b-9d45-44ee-8dd0-a28615fd943d/fake-600x600.png"
      },
      "image_url": "https://cdn.example.com/path/to/image.png",
      "url": "https://www.credly.com/org/organization-257/badge/badge-template-104",
      "owner": {
        "type": "Organization",
        "id": "0b463b20-6b63-473f-946d-a10632c679d3",
        "name": "Organization 257",
        "enable_blockchain": false,
        "url": "https://api.credly.com/v1/organizations/0b463b20-6b63-473f-946d-a10632c679d3",
        "vanity_url": "https://www.credly.com/org/organization-257",
        "vanity_slug": "organization-257",
        "verified": true,
        "viewable": true
      },
      "alignments": [
        {
          "id": "36ffa523-51ea-44fa-a59e-f12acc3fb211",
          "name": "Alignment 106",
          "url": "http://www.example.com/alignment",
          "description": "Self-enabling cohesive task-force"
        }
      ],
      "recommendations": [
        {
          "id": "6f58eb26-a1ed-4ae2-82f5-baf258a8adfe",
          "title": "Recommendation Title",
          "type": "information",
          "activity_url": "http://www.example.com/recommendation"
        }
      ],
      "required_badge_templates": [

      ],
      "badge_template_activities": [
        {
          "id": "0643137c-3c7b-4cc4-ada9-b3e584e09ab4",
          "title": "Kickboxing Activity",
          "activity_type": "Schedule / Registration",
          "activity_url": "http://www.example.com/awesomepage",
          "required_badge_template_id": null
        }
      ],
      "skills": [
        "Skill 320",
        "Skill 321",
        "Skill 322"
      ],
      "endorsements": [

      ]
    },
    "id": "a158606d-d714-4f42-991c-fb072b4e0111",
    "issued_to": "Alfred Beaker Skiles",
    "issued_to_first_name": "Alfred",
    "issued_to_middle_name": "Beaker",
    "issued_to_last_name": "Skiles",
    "issuer_earner_id": null,
    "locale": "en",
    "public": true,
    "translate_metadata": false,
    "replacement_badge_id": null,
    "replaces_badge_id": null,
    "revocation_reason": "Check bounced",
    "state": "revoked",
    "suppress_badge_notification_email": false,
    "updated_at": "2014-04-01T14:41:00.000Z",
    "completed_pathway_id": null,
    "recipient_email": "user10001@example.com",
    "country": "United States",
    "country_code": "USA",
    "state_or_province": "Minnesota",
    "created_at": "2014-04-01T14:41:00.000Z",
    "expires_at": "2016-04-01T14:41:00.000Z",
    "expires_at_date": "2016-04-01",
    "issued_at": "2014-04-01T14:41:00.000Z",
    "issued_at_date": "2014-04-01",
    "state_updated_at": "2014-04-01T14:41:00.000Z",
    "is_private_badge": false,
    "image": {
      "id": "77b8da5b-9d45-44ee-8dd0-a28615fd943d",
      "url": "/system/test/images/77b8da5b-9d45-44ee-8dd0-a28615fd943d/fake-600x600.png"
    },
    "image_url": "https://cdn.example.com/path/to/image.png",
    "alignments": [
      {
        "name": "Alignment 106",
        "description": "Self-enabling cohesive task-force"
      }
    ],
    "evidence": [
      {
        "id": "d188fd09-20a6-4791-8a6c-79dc39e6af1c",
        "type": "UrlEvidence",
        "name": "Acclaim",
        "description": "Description in URL evidence is optional",
        "value": "http://www.example.com/path-to-earner-specific-evidence"
      }
    ]
  },
  "metadata": {
  }
}

Validation Errors

Attempts to revoke a badge that has already been replaced will result in a 422 with an error response that includes the current replacement badge ID in the metadata field.

Response

422 Unprocessable Entity

  {
  "data": {
    "message": "Validation failed: This badge cannot be revoked because it has been replaced.",
    "errors": [
      {
        "attribute": "base",
        "attribute_label": "Base",
        "messages": [
          "This badge cannot be revoked because it has been replaced."
        ]
      }
    ]
  },
  "metadata": {
    "current_badge_id": "ed326c02-09d2-465d-ad81-19de77029f59"
  }
}

Delete a Badge

Deleting a badge will remove all information, statistics, and history related to that badge from Credly's server. This deletion process complies with the GDPR regulations regarding the deletion of a user's personal data. As this process can take some time to accomplish, an email will be sent to the organization's technical contact email when it has finished.

After the process has been completed, all attempts to view the deleted badge or badge stats either via the UI or API will return a 404 response. Deleted data can not be recovered.

Request

DELETE /organizations/<organization_id>/badges/<badge_id>

Request Body

There is no request body for this operation.

Response

204 No Content

Replaced Badges

Replaced badges can not be deleted directly via the API. If a badge has been replaced, you should call DELETE on the current version. In this case, all previous forms of the badge will be automatically deleted at the same time as the active one.

Response

The following response will be returned if you attempt to delete a replaced badge through the API.

422 Unprocessable Entity

{
  "data": {
    "message": "You can not delete replaced badges. Delete the current version instead."
  },
  "metadata": null
}