Skip to main content
The Hyperstack API lets your app do what you do in the Studio: create credential groups, issue and publish credentials, find them again, and get told when a credential is issued.

Base URL

All endpoints are under one base URL:
Use HTTPS for every request.

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.
Send the key in the Authorization header of every request:
The header also works with the bare key, without 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.
Anyone with your key can issue and manage credentials for your organization. Keep it secret.

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 GET request.
  • Every endpoint accepts both POST and GET, except Platform Status, which accepts GET only. Use POST whenever you send a body, because many HTTP tools do not send a body with GET.

Responses

Responses are JSON. Most bodies have a success 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:
Use 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.
Last modified on October 20, 2026