Configuring the Credentium® Integration Plugin for Moodle
This guide explains all configuration options for the Credentium® Integration plugin at global, category, and course levels.
Configuration Hierarchy
The plugin uses a hierarchical configuration system:
Global Settings (Site-wide)
↓
Category Settings (Optional, for multi-tenant)
↓
Course Settings (Per-course)
Courses can inherit API credentials from their parent category or use global settings.
Global Settings
Location: Site Administration > Plugins > Local plugins > Credentium® Integration
Enable Credentium Integration
| Setting | Description |
|---|---|
| Enable Credentium Integration | Master switch to enable/disable the plugin site-wide |
When disabled:
- No credentials will be issued
- Course completion events are ignored
- Existing configurations are preserved
API Configuration
| Setting | Description | Example |
|---|---|---|
| API URL | Credentium API endpoint | https://issuer.credentium.com/api |
| API Key | Authentication key | cred_abc123.xyz789 |
API Key Format: The key contains two parts separated by a dot:
- Public identifier (before the dot)
- Secret (after the dot)
Security: API keys are stored securely and displayed as password fields.
Test Connection
Click Test connection to verify your API credentials:
- Opens a new window with test results
- Shows number of available templates
- Lists template names and IDs
- Reports any connection errors
Category Mode
| Setting | Description |
|---|---|
| Enable category mode | Allow separate API credentials per course category. When enabled, you can configure different Credentium API credentials for each course category, and courses within those categories will inherit the category's API settings instead of the global settings. |
Enable this for:
- Multi-tenant deployments (different organizations per category)
- Departments with separate Credentium accounts
- Testing vs production configurations
When Category Mode is enabled:
- Category administrators can configure API credentials at the category level
- Courses can choose to inherit credentials from their parent category
- Each category can connect to a different Credentium organization
Debug Logging
| Setting | Description |
|---|---|
| Enable debug logging | Write detailed logs to PHP error log |
Enable temporarily for troubleshooting. Logs include:
- Event processing details
- API request/response information
- Grade calculation data
- Error details
Note: Disable in production to reduce log volume.
Data Retention (GDPR Compliance)
| Setting | Description | Default |
|---|---|---|
| Data retention period | How long to keep credential issuance records before automatic deletion | 365 days |
This setting ensures GDPR compliance by implementing data minimization principles:
- Records older than the configured period are permanently deleted
- A scheduled task runs daily at 2:00 AM (server time) to clean up old records
- Deletion applies to all credential issuance records regardless of status (issued, failed, or pending)
- Available units: days, weeks
For complete details about privacy, data handling, and GDPR compliance, see the dedicated Privacy and GDPR Compliance article.
Category Settings
Location: Category > Credentium Category Settings Requires: Category mode enabled globally Permission: local/credentium:managecategory
Enable for Category
| Setting | Description |
|---|---|
| Enable Credentium for this category | Enable Credentium for all courses in this category |
When enabled, courses in this category (and subcategories) can use these API credentials.
API Credentials
| Setting | Description |
|---|---|
| API URL | Category-specific Credentium API endpoint |
| API Key | Category-specific authentication key |
Security: Category API keys are encrypted at rest using Moodle's encryption API.
Operational Controls
| Setting | Description |
|---|---|
| Pause all issuances | Temporarily stop all credential issuances for this category |
| Rate limit (credentials per hour) | Maximum credentials to issue per hour (leave empty for unlimited) |
Pause Issuances:
- Pending credentials remain pending
- New completions are queued but not processed
- Useful for maintenance or investigations
Rate Limit:
- Prevents overwhelming the API
- Excess credentials queue for later processing
- Checked per category
Category Inheritance
Categories form a hierarchy. When resolving configuration:
- Check if course has
inherit_category = 1 - Walk up category tree to find first enabled category config
- If none found, use global settings
Example:
Faculty of Engineering (enabled, has API config)
└── Department of CS (not configured)
└── Python Course (inherit_category = 1)
→ Uses Faculty of Engineering's API credentials
Course Settings
Location: Course > More > Credentium Settings Permission: local/credentium:managecourse
Step-by-Step: Enable Credentium Integration for a Course
Follow these steps to enable automatic credential issuance for a specific course:
Step 1: Access Course Settings
- Navigate to your course in Moodle
- Click the More menu in the course navigation
- Select Credentium Settings
Step 2: Enable the Integration
- Check Enable Credentium for this course
- This activates automatic credential issuance when students complete the course
Step 3: Select a Credential Template
- From the Credential Template dropdown, select the template to use
- If you don't see any templates, click Refresh templates to load them from Credentium
- IMPORTANT: Only select templates marked as supported. Templates with "(unsupported)" label cannot be used because they have multiple Learning Assessment claims
Step 4: Configure Grade Sending (Optional)
- Check Send grade with credential if you want the student's final course grade included
- The grade will be sent to Credentium and included in the credential
Step 5: Save Changes
- Click Save changes to activate the configuration
- From now on, students completing this course will automatically receive their credential
Course Settings Reference
| Setting | Description |
|---|---|
| Enable Credentium for this course | Enable automatic credential issuance on completion |
When enabled, students receive credentials automatically when they complete the course.
Credential Template
| Setting | Description |
|---|---|
| Credential Template | Select which template to use for this course |
Important Notes:
- Templates are loaded from Credentium API
- Only active templates are shown
- Templates with multiple Learning Assessments are marked "(unsupported)" and cannot be selected - this is because Moodle sends a single course grade that can only map to one Learning Assessment claim
- Click Refresh templates to update the list
Category Inheritance
| Setting | Description |
|---|---|
| Use category API credentials | Use API credentials from parent category instead of global |
Only shown when category mode is enabled. When checked:
- API credentials are resolved from category hierarchy
- Shows which category's configuration will be used
Grade Options
| Setting | Description | Default |
|---|---|---|
| Send grade with credential | Include the student's final course grade | Enabled |
When enabled:
- Student's final grade is sent to Credentium
- Grade is captured after course completion
- Plugin waits for grade aggregation if needed
Grade Handling:
- Sent as raw points (not percentage)
- Credentium converts to appropriate format based on template
- Only sent if student has a final grade
Template Selection Guide
What Templates Are Available?
Templates come from your Credentium organization:
- Created in Credentium Issuer
- Must be in "Active" status
- Cached for 1 hour (click Refresh to update)
Template Requirements
For Moodle integration, templates should:
- Have at most one Learning Assessment claim (for grade mapping)
- Be marked as Active in Credentium
- Have all required fields configured
Multi-Assessment Templates
Templates with multiple Learning Assessments are marked "(unsupported)" because:
- Moodle sends a single course grade
- Cannot map to multiple assessment claims
- Use single-assessment templates for Moodle courses
Configuration Examples
Example 1: Simple Setup (Single Organization)
Global Settings:
- Enable Credentium Integration: Yes
- API URL:
https://issuer.credentium.com/api - API Key:
cred_abc123.xyz789 - Enable category mode: Disabled
Course Settings:
- Enable Credentium for this course: Yes
- Template: "Course Completion Certificate"
- Send Grade: Yes
Example 2: Multi-Tenant Setup (Multiple Departments)
Global Settings:
- Enable Credentium Integration: Yes
- Enable category mode: Yes
Category: Business School:
- Enable Credentium for this category: Yes
- API URL:
https://issuer.credentium.com/api - API Key:
cred_business.key123
Category: Engineering:
- Enable Credentium for this category: Yes
- API URL:
https://issuer.credentium.com/api - API Key:
cred_engineering.key456
Course in Business School:
- Enable Credentium for this course: Yes
- Use category API credentials: Yes
- Template: "MBA Certificate"
Example 3: Testing Configuration
Category: Test Courses:
- Enable Credentium for this category: Yes
- API URL:
https://issuer.credentium.com/api - API Key: (use a separate test API key)
- Rate limit (credentials per hour): 10 (limit for testing)
Production Categories:
- Use production API credentials
- No rate limit
Best Practices
API Key Management
- Use separate API keys for different purposes
- Rotate keys periodically
- Don't share keys between environments
Template Organization
- Create dedicated templates for Moodle courses
- Use descriptive template names
- Keep templates simple (one assessment per template)
Testing
- Test with a single course first
- Verify credentials appear in Credentium
- Check grade values are correct
- Test completion criteria thoroughly
Monitoring
- Enable debug logging during initial setup
- Check issuance reports regularly
- Monitor for failed issuances
- Review error messages promptly
Frequently Asked Questions
Why don't I see any templates?
- Check API credentials are correct
- Click "Test connection" to verify
- Ensure templates are Active in Credentium
- Click "Refresh templates" to update cache
Can I use different templates for the same course?
No, each course is configured with one template. To offer multiple credentials:
- Create separate courses
- Or use Credentium's manual issuance for additional credentials
What happens if I change the template?
- Future completions use the new template
- Already issued credentials are not affected
- Pending issuances use the template at time of completion
How do I test without issuing real credentials?
Options:
- Use a test Credentium environment with separate API credentials
- Create a test category with rate limiting
- Use a test student account
Need Help?
If you have questions about configuration, please contact:
Credentium Support Email: support@credentium.com
Last updated: January 2026
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article