Custom credential attributes let an issuing workflow supply programme-specific values. Match field names and permitted values to the current template and API contract before issuing records.

Validate the data contract before a bulk request

The existing examples below describe the documented Custom. field convention. Check the exact field name, type, requiredness and current endpoint documentation; do not infer support for a new field or authentication protocol from an example.

Keep assessment and transport responsibilities separate

The institution decides who earned the achievement and approves the source data. The API transports an issuance request; it does not independently validate the learner’s competence or identity. Place these responsibilities within the institutional issuance lifecycle.

Test failure and correction paths

Test a missing required value, an unexpected field, duplicate requests and a correction in a safe test programme. Agree retry and reconciliation behavior with the current API documentation; this guide does not promise automatic idempotency or a particular integration.

Check the record after issuance

Inspect the returned credential against the approved input and credential proof and status checks. Where the programme uses Open Badges achievement fields, distinguish the credential’s standard fields from institution-specific attributes. Never place secrets or unnecessary personal data in a public credential.

Existing operational reference

Handling Custom Attributes in Templates

CertifyMe allows you to dynamically insert custom data fields into your digital credentials using custom attributes. This guide outlines how to use the CertifyMe API to assign these attributes during the credential issuance process.

Audience: Developers integrating CertifyMe’s credential issuance API into their systems, particularly those using custom fields in templates.


Overview

Custom attributes are dynamic data fields defined within a template on the CertifyMe platform. These can include information such as "eventdate", "Credits", "CourseName", and more. When issuing a credential via API, you must provide these custom values prefixed with Custom. followed by the exact field name used in the template.


Endpoint Information

URL:
https://eu2.certifyme.org/api/v2/credential

Method:
POST

Headers:

Authorization: <API Token>
accept: application/json
content-type: application/json


Request Body Parameters

Field Type Description
name string Recipient's full name.
email string Recipient's email address.
template_ID string ID of the template to be used (retrieved from the CertifyMe dashboard).
text string Additional text shown on certificate (e.g., designation).
verify_mode string Verification type (e.g., SSN, Code, None).
verify_code string Verification code if applicable.
Custom.<Field> string Custom attributes defined in the template (see examples below).

Custom field names must exactly match those defined in your CertifyMe template (case-sensitive).
Prefix Custom. is mandatory for all custom fields.


Custom Attribute Syntax

"Custom.<FieldName>": "<Value>"

Where:

  • <FieldName> is the exact name of the custom field as defined in the template.
  • <Value> is the value you’d like to assign to that field.


Example Requests

1. Single Custom Attribute: eventdate

curl --request POST \
  --url https://eu2.certifyme.org/api/v2/credential \
  --header 'Authorization: <API Token>' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '
{
  "name": "Anju",
  "template_ID": "12",
  "email": "anju@certifyme.cc",
  "text": "Manager, CertifyMe",
  "verify_mode": "SSN",
  "verify_code": "123456",
  "Custom.eventdate": "29th April"
}'

2. Multiple Custom Attributes: eventdate, Credits

curl --request POST \
  --url https://eu2.certifyme.org/api/v2/credential \
  --header 'Authorization: <API Token>' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '
{
  "name": "Anju",
  "template_ID": "12",
  "email": "anju@certifyme.cc",
  "text": "Manager, CertifyMe",
  "verify_mode": "SSN",
  "verify_code": "123456",
  "Custom.eventdate": "29th April",
  "Custom.Credits": "100"
}'

3. Extended Example with More Custom Fields

curl --request POST \
  --url https://eu2.certifyme.org/api/v2/credential \
  --header 'Authorization: <API Token>' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '
{
  "name": "Anju",
  "template_ID": "12",
  "email": "anju@certifyme.cc",
  "text": "Manager, CertifyMe",
  "verify_mode": "SSN",
  "verify_code": "123456",
  "Custom.eventdate": "29th April",
  "Custom.Credits": "100",
  "Custom.CourseName": "Advanced Leadership"
}'


Tips for Success

  • Custom field names must be an exact match (case-sensitive).
  • Prefix Custom. is mandatory.
  • You may include as many custom fields as are defined in the template.
  • Use the API playground to generate and validate request payloads.


Support

For support or questions, please contact support@certifyme.cc.

Plan your next step

Discuss the actual award, evidence and implementation requirements with your institution. Request an institutional demo.

Frequently Asked Questions

Can I invent a new custom field in a request?

Confirm the field in the template and current API contract first. An example payload is not permission to assume new schema fields or accepted types.

Does a successful API response prove the learner's competence?

No. It reports the API operation. The institution remains responsible for approved achievement and assessment data.