Basic conventions
- Base URL
https://www.icook.cloud - Authentication
- The endpoints listed on this page do not require any credentials; code-accessible endpoints use the token in the link itself as the credential
- Format
- JSON (
application/json; charset=utf-8); all times are in UTC - Errors
400 invalid parameter · 401 missing access code · 404 not found; the response body has the form {"error":"…"} - Cross-origin requests
- No CORS headers are returned — cross-origin calls from browsers are blocked. Call from your server. If direct browser access is necessary, email us with the origin domain.
- Rate
- There is no hard quota. Cache responsibly; polling Store Projects progress once per minute is sufficient, rather than once per second
- Version
- There is no version number. Fields are added but not removed; if a breaking change is necessary, known consumers are notified by email in advance
These endpoints power the public pages on this site — the API returns exactly what you see on a project page, no more and no less.
Open data
No credentials are required. Suitable for bringing project progress into your own dashboard.
GET/api/projects
List of active Store Projects. Projects with active status.
GET/api/projects/:id
Details for a single project. Includes three additional cross-stage status fields beyond the list response.
Revenue, costs, issues, person responsible, and opening date are not returned as fields at all — this is a design red line, not an omission.
GET/api/projects/:id/sites
The project's shortlist of candidate spaces (the deliverable from ② Site Selection).
Note: `note` is a public field and is displayed publicly with the project page. Treat notes as public when writing them — do not include your price floor, competitor names, or any assessment that should not be seen.
GET/api/projects/:id/menus
The project's candidate menu shortlist (the deliverable from ① Diagnose). It has the same structure as candidate spaces and stores only menu_id references.
GET/api/projects/:id/shipments
The project's shipment progress. Redacted: returns only the number of shipments, their current milestone, arrival date, and carton count.
Only shipments that are finalized or later are returned. Cargo value, HS CODE, delivery address, carrier, and bill of lading number are never returned.
GET/api/projects/:id/training-readiness
The project's ⑧ Training readiness. Aggregated counts only; no roster or personal information.
Completion is calculated against required items, not created rows — therefore `cert_required` is typically much greater than the number of entered rows.
Code-accessible endpoints
The link is the credential. We issue the token with the relevant business link; it cannot be requested publicly — each received link provides access only to its associated document.
GET/api/ticket/:code
Proposal evaluation status. code is the 8-character tracking code shown on the successful submission page.
The proposal body, quote, and attachments are not returned.
GET/api/quote/:token
Client quote. The token comes from a /q/ link issued by us.
Quotes with an Access code require `?pass=<access-code>`; otherwise, the response is 401. Cost price, markup, and gross margin are never returned.
GET/api/booking/:token
Destination of a logistics packing-list client link. The token comes from a /logistics/f/ link issued by us; packing lists are completed on freight.icook.cloud, and this endpoint returns only the corresponding client link.
Also supports `?pass=`. Packing-list contents are not returned.
GET/api/booking-share/:token
Destination of a logistics packing-list carrier link. The token comes from a /logistics/s/ link issued by us; this endpoint returns only the corresponding freight carrier link.
Packing-list contents are not returned.