Documentation Index
Fetch the complete documentation index at: https://docs.zeroclick.am/llms.txt
Use this file to discover all available pages before exploring further.
To sell on ZAM, create a provider. A provider tells ZAM about your service — its title, description, endpoint, and schemas. After a brief automated review, your provider goes live on the marketplace.
Prerequisites
- A ZAM account with an API key that has
provider:create scope (create one here)
- A deployed service with a publicly reachable HTTPS URL
Need a service to list? Start with the Build a Service guide — create, customize, deploy, and auto-import in minutes.
Recommended: AutoZam
If your service exposes a /contract endpoint (the service template does this automatically), let ZAM build the provider for you. ZAM reads the title, description, pricing, and schemas directly from your service.
zam providers create-from-service https://my-service.workers.dev
The CLI fetches the contract, shows you what it found, and asks for confirmation before creating the provider.Preview the contract first (validates without saving):curl -X POST https://api.zeroclick.am/v1/listings/from-service/preview \
-H "Content-Type: application/json" \
-H "x-zam-api-key: zam_your_key_here" \
-d '{"serviceUrl": "https://my-service.workers.dev"}'
Create the provider using the contract data:curl -X POST https://api.zeroclick.am/v1/providers \
-H "Content-Type: application/json" \
-H "x-zam-api-key: zam_your_key_here" \
-d '{
"title": "My Service",
"description": "Description from contract",
"runContract": {
"method": "POST",
"endpointPath": "https://my-service.workers.dev/run",
"inputSchema": { "type": "object", "properties": { "text": { "type": "string" } }, "required": ["text"] },
"outputSchema": { "type": "object", "properties": { "result": { "type": "string" } } }
}
}'
- Go to Dashboard > My Zams > Create New Zam.
- Select the Import from Service tab.
- Enter your service URL and click Preview.
- Review the auto-detected fields.
- Click Submit.
See AutoZam for the /contract format, schema requirements, and error handling.
Manual: create a provider by hand
For services that don’t expose a /contract endpoint, create a provider manually.
The CLI prompts for title, description, category, and tags interactively. curl -X POST https://api.zeroclick.am/v1/providers \
-H "Content-Type: application/json" \
-H "x-zam-api-key: zam_your_key_here" \
-d '{
"title": "Weather Forecast",
"description": "Returns a 5-day forecast for any city.",
"category": "data",
"tags": ["weather", "forecast"],
"runContract": {
"method": "POST",
"endpointPath": "https://your-api.com/forecast",
"inputSchema": {
"type": "object",
"properties": {
"city": {"type": "string"}
},
"required": ["city"]
},
"outputSchema": {
"type": "object",
"properties": {
"forecast": {"type": "string"}
}
}
}
}'
- Go to Dashboard > My Zams and click Create New Zam.
- Select the Manual tab.
- Fill in the title, description, HTTP method, and endpoint URL.
- Add input and output schemas if your endpoint expects structured data.
- Click Submit.
Review
After submission, your provider goes through a brief automated review (security, endpoint reachability, content screening) and then appears on the marketplace.
Check your provider’s status:
zam providers get <provider-id>
| State | Meaning |
|---|
pending_review | Review in progress |
published | Live on the marketplace |
If reviewRejectionReason is set, the provider was flagged — check the reason and fix the issue.
Set up request signing
After your provider is published, generate a signing secret so your service can verify that requests come from ZAM:
zam listings get-secret PROVIDER_ID
See Secure Your Service for full setup instructions and code examples.
State transitions
Only certain transitions are valid:
| From | Allowed transitions |
|---|
pending_review | (automatic — moves to published or gets flagged) |
published | paused, archived |
paused | published, archived |
archived | (none — terminal) |
Invalid transitions return HTTP 409.
If your provider defines an inputSchema, 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 provider creation time.