1. Every request has an id
Every answer carries two headers that lead to its record:
Hyke-Request-Id: req_01J8ZK3V9Q
Hyke-Details: https://api.hykestudio.com/v1/requests/req_01J8ZK3V9Q
Hyke-Details is the address of that request's full record.
2. Two ways to look one up
In the dashboard. Open Usage, choose "Look up a request" and paste the id. You are already signed in, so nothing else is needed.
From your own code. Call the record's address with your secret key in the Authorization header:
curl "https://api.hykestudio.com/v1/requests/req_01J8ZK3V9Q" \
-H "Authorization: Bearer YOUR_SECRET_KEY"
The secret key goes only in the header, never in the address, and a publishable key is not accepted here. A secret key sent in an address is refused and marked for you to regenerate.
3. What the record shows
| Part | What it tells you |
|---|---|
requested |
Every option as your request sent it |
served |
What we actually served: the vehicle, its years, the colour, angle, width, format and background |
match |
How close the vehicle is to what you asked for, a one-line summary, and each difference |
generation |
While the vehicle is being made, where it stands and when it should be ready |
plan |
Your plan, whether the request was full or basic, and when the month resets |
image_url |
The picture address for exactly what was served |
4. Reading a difference
Each entry in match.differences names the option that differed, what you sent, what we served, and a sentence saying why:
{ "field": "width", "kind": "assumed", "requested": null, "served": 1536,
"why": "not-specified",
"explanation": "No width was given, so we served our standard 1536 — full plans can ask for up to 3072." }
The kind is one of four: assumed (you did not say, so we chose), substituted (you asked, we could not, and we served something else), restricted (your plan or what is left of your allowance does not include it) or ignored (we do not offer it).
5. Before a request, not after
To see what a request would get without making it, add .json to the picture address: /v1/vehicle.json, called with your secret key in the header. It answers with the same parts as a record, and it is never counted against your allowance.
6. How long records are kept
Records are kept for 90 days. An older record answers that it has expired. An id that is not your account's answers exactly as one that was never issued, so nothing can be learned by guessing.
Your plate text is never kept. Where a request carried plate text, its record shows YOUR_PLATE_TEXT in its place.