One product, with its parameters and public key
const url = 'https://app.dycrypt.com/o/acme/api/products/1';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://app.dycrypt.com/o/acme/api/products/1 \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Responses
Section titled “Responses”The product.
object
Signed into every licence as prd.
The JDK name: Ed25519, SHA256withRSA, SHA256withECDSA.
Where the private key lives — managed
See the licence-mode guides — Offline verifies alone, Online must check in, Hybrid does both.
Public — it is in the URL every installed application calls.
Whether a check token exists. Never the token itself.
Whether /fetch is available for this product. Off by default.
How many of the five fingerprint components must match.
How many machines a licence for this product binds at once. The default for new licences only.
One parameter a licence for this product carries. The parameter list IS the
licence’s shape: every value collected becomes a claim under key.
The issuer owns v, lid, prd, org, iat, exp and grace; a
product parameter may not shadow them.
object
The claim name in the signed JSON.
Allowed values, for ENUM.
Whether the signing service can currently open this key.
Example
{ "algorithm": "ED25519", "licenceType": "OFFLINE", "allowedLicenceTypes": [ "OFFLINE" ], "params": [ { "type": "STRING" } ]}No credential, or one that no longer resolves — revoked, expired, deleted. Replace it.
Every failure in this API has this shape and no other.
object
Example
{ "error": "this token does not have licenses:write"}Authenticated, but not allowed: a missing scope, a read-only role, a plan limit reached, or a credential used under another organisation’s slug. The right credential doing something it may not do.
Every failure in this API has this shape and no other.
object
Example
{ "error": "this token does not have licenses:write"}No such record, or no such endpoint.
Every failure in this API has this shape and no other.
object
Example
{ "error": "this token does not have licenses:write"}