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).
PrefixCustom.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.
