Skip to content

One trial summary

GET
/trial-cards/{clientKey}
curl --request GET \
--url https://api.harperharbor.com/open/v1/trial-cards/example \
--header 'Authorization: Bearer <token>'
clientKey
required
string
/^[A-Za-z0-9_-]{1,64}$/

Names the trial; re-sending the same key updates it.

Summary.

Media typeapplication/json
object
clientKey
string
roleId
string
created
boolean
expiresAt

Earliest expiry time. Cleanup may run a few minutes later.

string format: date-time
slots
object
used
integer
max
integer
sections

Sha256 per section

object
key
additional properties
string
changed
Array<string>
worldbook
object
worldbookId
string
entries
integer
created
integer
deleted
integer
Examplegenerated
{
"clientKey": "example",
"roleId": "example",
"created": true,
"expiresAt": "2026-04-15T12:00:00Z",
"slots": {
"used": 1,
"max": 1
},
"sections": {
"additionalProperty": "example"
},
"changed": [
"example"
],
"worldbook": {
"worldbookId": "example",
"entries": 1,
"created": 1,
"deleted": 1
}
}

trial_not_found after expiry.

Media typeapplication/json
object
error
required

Machine-readable code. unauthorized means authentication failed. Refresh the token; if refresh fails, request authorization again.

string
message
required

One English sentence a client may show verbatim.

string
retryable
boolean
detail

Present on some 4xx errors with the offending part.

object
key
additional properties
any
Example
{
"error": "unauthorized"
}