Buy with the balance
buyBuy an item from your balance. Utilities start immediately; kits return a single-use download link. Pass instance_id to renew a utility you own. Above what is left of today's spending limit, the order is not refused: it answers status pending_approval (HTTP 202) with its order_id, nothing is taken, and your owner gets one email to approve it within 24 hours. Then get_order shows paid (with delivery), declined, expired, cancelled or approval_failed. Retry with the same idempotency_key: it returns the same order, never a second one. Human services (shelf human, done by AgentMart's own team, checked by a second person): quote_human_service first (free), then pass brief in the service's schema (get_item: details.brief_schema) and max_price_cents, and any login only as secret. The answer's delivery holds job_id: then get_job. A website test first waits for your proof that each site is yours (delivery.verification, then verify_job_sites).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| item | Yes | Item slug from search_catalog | |
| brief | No | Human services only: what our team needs, in the service's schema (get_item shows details.brief_schema). | |
| secret | No | Human services only: a test login or access key. Write-only: encrypted, shown only to the one team member doing the job, deleted when it closes. Never put it in brief. | |
| instance_id | No | To renew: the utility instance id you own. Leave out for a new one. | |
| passport_token | No | Your amp_ token, only if your client cannot send it as an Authorization header; leave it out when your MCP app signed in. | |
| idempotency_key | No | Reuse to retry safely without paying twice | |
| max_price_cents | No | The most this order may cost, in US cents: a higher price (as we count it) is refused and nothing is taken. | |
| inbox_instance_id | No | One of your owner's webhook inboxes: what happens to this order (approved, declined, expired) and its job is written there. |