Prerequisites
- A ZAM account with an API key that has
listing:createscope - A deployed service with a publicly reachable URL
Recommended: AutoZam
If your service exposes a/contract endpoint (the service template does this automatically), let ZAM build the listing for you. ZAM reads the title, description, pricing, and schemas directly from your service.
- API
- CLI
- Dashboard
Preview first (validates without saving):Create the listing:
/contract format, schema requirements, and error handling.
Manual: create a listing by hand
For services that don’t expose a/contract endpoint, create a listing manually.
- API
- CLI
- Dashboard
listingState to "draft" to save without publishing. Publish later with a PATCH request.Publish a draft
- API
- CLI
- Dashboard
State transitions
Only certain transitions are valid:| From | Allowed transitions |
|---|---|
draft | published |
published | paused, archived |
paused | published, archived |
archived | (none — terminal) |
Input validation
If your listing defines aninputSchema, ZAM validates every activation request against it before calling your endpoint. Buyers who send malformed data receive a 400 error; your endpoint never sees the bad request.
Both inputSchema and outputSchema must be valid JSON Schema. ZAM validates them at listing creation time.