How to create an API key or connect an LMS to POK
The Integrations panel is where you connect POK Proof of Knowledge to the systems you already use. Every option in it produces one of two things: an API key you use to call POK's own API from your systems, or an LTI registration you paste into an LMS so it can request credentials on its own. Pick a listed platform such as Moodle or Canvas for a guided setup, or use "Custom integration" to generate a plain API key or LTI URL for anything else.
Open the Integrations panel
You need the administrator role. "Integrations" only appears in the top bar menu for administrators; operators and readers do not get this item.
In the top navigation bar, click your organization's name, then click "Integrations".
You land on two sections: "My integrations", listing what you already connected, and "Platform list" below it, with every platform you can connect. A column on the left carries a short FAQ ("Integration guide") and, under "Integration documentation", links to the setup guide for each listed LMS.
What you can connect
The "Platform list" section, and the "New integration" dialog opened from "My integrations", offer the same platforms:
- Moodle (LMS): link your Moodle activities to your certificate designs so you can automatically issue them within POK.
- Canvas (LMS): link your Canvas courses with POK and automate credential issuance according to performance or completion of learning activities.
- OPEN edX (LMS): connect your Open edX courses and automate credential issuance in POK based on your students' progress or completion.
- Blackboard (LMS): connect your Blackboard courses with POK and automate credential issuance based on your students' progress and achievements.
- D2L Brightspace (LMS): connect your Brightspace courses with POK and automate credential generation based on your students' progress and achievements.
- Sana (LMS): connect your Sana courses with POK and automatically issue credentials when learners complete them. Sana connects over xAPI, not LTI.
If your system is not on this list, open "New integration" in "My integrations" and pick "Custom integration" ("LTI URL or API Key · any system"). It produces a plain API key or a plain LTI URL that works with anything able to call an API or register an LTI tool.
Each listed LMS has its own setup guide: Moodle, Canvas, Blackboard, D2L Brightspace, Sana, Open edX.
Create an API key
- In "My integrations", click "New integration".
- Click "Custom integration".
- Under "Integration name", type a name that helps you recognize it later, for example the name of the system you are connecting.
- Select "API Key Integration" ("Generate an API Key to connect with direct calls through our API from external systems").
- Click "Confirm".
- Choose the permission the key will have: "Administrator permission" ("It will be able to perform actions such as issuing credentials via API") or "Reader permission" ("It will only be able to perform read-only queries").
- Click "Confirm" again.
POK generates the key and shows it in a dialog. Copy it immediately: "This is the only time you will see it available." Once you close the dialog, the plaintext key is gone for good, the card for that integration in "My integrations" only ever shows it masked afterward. If you lose it, delete the integration and create a new one; there is no way to retrieve the old value.
The dialog will not let you close it carelessly: check "I have copied the API Key and saved it in a safe place" before "Accept" becomes clickable.
OPEN edX is the one exception to this flow. Clicking "Connect" on its platform card skips the name and permission steps entirely: POK immediately creates a key named "OpenEdx" with administrator permission. See the Open edX integration guide for what to do with it on the Open edX side.
What an API key can do
An API key acts as your organization's credentials for a computer system: whoever holds it can call POK's API as if they were your organization, for example to issue credentials automatically. What it is allowed to do depends on the permission you gave it:
- Administrator permission can perform write actions, including issuing credentials via API.
- Reader permission can only perform read-only queries.
For how a request proves it holds a valid key, see API authentication. For the full list of endpoints, start at the API reference. Once you have a key with administrator permission, issuing a credential via the API and filtering by tags is the natural next step.
Register a custom LTI integration
To generate a plain LTI URL instead of an API key, follow the same "Custom integration" flow and pick "LTI Integration" ("Generate an LTI integration URL to connect your LMS in a standardized way") in step 4 instead of "API Key Integration". There is no permission step for an LTI integration.
POK shows the URL once you confirm: "Copy and paste the following URL into your LTI-compatible platform. Make sure to save it to enable connection with POK and not lose it." Unlike an API key, this URL is not a one-time reveal: you can copy it again later by clicking "Copy URL" on its card in "My integrations". A plain custom registration like this one stores no separate credentials to update, so if the connection details change, delete it and create a new one.
Manage your integrations
Every API key, LTI registration and Sana connection you created is a card in "My integrations". An API key or a Sana connection always shows a check mark; an LTI registration shows a check mark once it is active, or a broken-link icon if it never completed its connection.
Change an API key's permission. Click the edit icon on its card. It reopens the same "Choose the permission type for your API Key" dialog; pick the other permission and confirm.
Update Canvas or D2L Brightspace credentials. Click the edit icon on either card to reopen the credential fields and reconnect. For any other integration, delete it and create a new one if the connection details changed.
Reconfigure Sana. Its edit icon does not touch the connection at all, it opens the course-by-course credential setup instead.
Delete an integration. Click the trash icon on its card.
- An API key is removed immediately, with no confirmation. Anything still calling POK with it starts getting rejected right away.
- An LTI registration that is active asks you to confirm first: "You are about to delete an integration in use" and "Once deleted, you will no longer be able to automatically issue certificates from that platform. Are you sure?" One that never finished connecting is removed immediately instead.
- A Sana connection always asks for that same confirmation before it is removed.
Once deleted, the platform on the other end can no longer reach POK through it, and automatic issuance from that source stops until you connect it again.
"Integrations" is not in my menu
Only the administrator role sees "Integrations" in the top bar menu. If you have the operator or reader role, ask an administrator in your organization to create the integration for you, or to give you the administrator role. See users and permissions for what each role can do.
POK says the platform rejected the credentials
This appears while connecting Canvas, D2L Brightspace or Moodle, the platforms where POK calls out to validate what you entered:
- "Please review the information you entered and try again." A generic validation failure; recheck every field.
- "We could not reach that platform. Check the URL and that the site is publicly accessible." POK could not reach the address you gave it.
- "The platform rejected these credentials. Check the token or client secret and that it has the required permissions." The address answered, but it refused the token or client secret.
- "That address answered, but it is not a platform we can integrate with. Check that the URL points to the LMS and that it is a supported version." Something answered, but it is not a supported LMS.
Fix the detail the message points to and try again. If a platform-specific error code appears underneath the message, keep it at hand if you contact support.