Base URL
All endpoints are under one base URL:Authentication
Every request needs an API key of your organization. Only admins can create keys.1
Open the Developers page
In the Studio, go to Settings → Developers.
2
Create a key
Click New API key. Give it a name, such as the app that will use it, and click Create key.
3
Copy the key
Copy the key and keep it in a safe place, such as a secrets manager. Never put it in code that runs in a browser.
Authorization header of every request:
Bearer . To check a key, call Authenticate.
Use one key per app, so you can revoke one without breaking the others. When you revoke a key on the Developers page, every request that uses it is refused at once.
Requests
- Send parameters as a JSON body, with the header
Content-Type: application/json. Form-encoded bodies are not supported. - Parameters in the query string are ignored. The only exception is Credential Activity, which also reads them on a
GETrequest. - Every endpoint accepts both
POSTandGET, except Platform Status, which acceptsGETonly. UsePOSTwhenever you send a body, because many HTTP tools do not send a body withGET.
Responses
Responses are JSON. Most bodies have asuccess field: true when the request worked, false when it did not.
Dates in responses are ISO 8601 in UTC, for example 2026-03-15T10:30:00.412870Z.
Pagination
Endpoints that return lists take two optional body parameters:
Send both as whole numbers, such as
2 or "2". Any other value returns 400 with invalid_page. A page_size above 500 is cut to 500. The default page_size depends on the endpoint:
The response gives back
page and page_size, and total: the number of items on all pages together.
Errors
When a request fails, the body tells you why:error_code in your code. The error text can change. A missing or wrong API key gets a 403 with a different body. See Errors for every status code and error code.
Endpoints
Authenticate
Check your API key and get your organization’s name.
Platform Status
Check that Hyperstack is up, and see your credit balance.
Errors
Status codes, error bodies and error codes.
Create Credential Group
Create a group for a course, program or event.
Update Credential Group
Change a group’s title, description, code, expiry or other settings.
View Credential Group
Get the details of one group by its key.
List Groups
Get all groups in your organization, page by page.
Search Groups
Find groups by words in their title.
Issue Credential
Issue a credential to a recipient and publish it at once.
Generate Credential (Draft)
Create a credential as a draft, to publish later.
Publish Credential
Publish a draft credential.
View Credential
Get one credential and its status.
Update Credential
Set or remove a credential’s expiry date.
Search Credentials
Find credentials by recipient, group, date or attribute.
List Credentials
Get all published credentials, newest first.
Credential Activity
Get the views, shares, downloads and clicks of your credentials.
Update Recipient
Set a recipient’s attribute values.
Subscribe to Webhook
Tell Hyperstack where to send events.
Unsubscribe from Webhook
Stop sending events to your endpoint.
Webhook Events
What your endpoint receives when a credential is issued.
Open Badges
Get credentials as Open Badges 2.0 and 3.0, and your issuer DID.
MCP Server
Let AI assistants work in your organization, and see every tool.

