marketplace
POST /v1/marketplace/listings/from-domain
Sell a domain held with Zinn® — a draft listing, filled in from the domain.
Authentication
Send an API key as a bearer token. This endpoint does not state a specific permission in the specification, so give your key the least it needs and check the response rather than assuming.
This endpoint takes no organisation id. Your key already identifies the organisation it belongs to, and the response is scoped to it.
Try it
Replace anything in angle brackets with your own values, and the key placeholder with a key from your dashboard.
curl -X POST https://api.zinndigital.com/v1/marketplace/listings/from-domain \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "domain_id": <string> }'Signed in? The API console in your dashboard fills in your real organisation id and your own key, and runs the request against the live API so you can see the actual response. Open this endpoint in the API console
Details
docs/57 §3.1, docs/714 §3. Creates (or returns the open) draft domain listing. When it sells, the domain, its DNS zone and any mail on it move into the buyer's account with no transfer code; the seller's registrant record is NOT carried, and the buyer cannot confirm receipt until they have entered their own. While the listing is in review, live or paused the domain's transfer code, transfer lock, auto-renew and removal are held. Needs domains.dns.manage AND an approved Zinner® account. Refused for a domain that is not active, is the address of a site (sell the site), or expires within 30 days without auto-renew.
Request body
| Name | Type | Required | What it is |
|---|---|---|---|
domain_id | string | Yes | — |
title | string | No | — |
Response
| Name | Type | Required | What it is |
|---|---|---|---|
id | string | Yes | — |
vendor_id | string | Yes | — |
marketplace_id | string | Yes | — |
marketplace_key | string | Yes | — |
category_id | string | No | — |
listing_type_id | string | Yes | — |
listing_type_key | string | Yes | — |
schema_version | integer | Yes | The version this listing's values were authored against. Stamped once, never moved — a later schema must not reinterpret an older listing. |
title | string | Yes | — |
slug | string | Yes | Permanent once live. It is the public URL. |
summary | string | Yes | — |
field_values | object | Yes | "{key: {v, ver}}" — uniform two keys, ver: null for a seller-declared value, so no consumer branches on key presence. ⛔ A domain value is NOT here — it is in the reveal… |
field_schema | MarketplaceFieldDefinition[] | No | Present on the detail read; the schema THIS listing is authored against. |
state | MarketplaceListingState | Yes | ⛔ archived, never deleted. A listing that sold has public URLs, backlinks and an order behind it, and a 404 costs rankings that do not come back. |
price_minor | integer | Yes | — |
price_max_minor | integer | Yes | — |
currency | string | Yes | — |
published_at | string | No | — |
packages | MarketplacePackage[] | Yes | — |
inclusion_items | MarketplaceInclusionItem[] | No | What comes with the asset, as the seller composed it. Rows carrying zinn_asset were added by the platform because the listing sells a site or domain hosted with us (docs/714… |
inclusion_revision | integer | No | How many times the seller has revised the list since publishing. |
zinn_site_id | string | No | The site on our hosting this listing sells, set by listListingFromSite only. When the listing sells, the site moves into the buyer's account automatically. |
zinn_domain_id | string | No | The domain in our account this listing sells, set by listListingFromDomain only. |
Errors this endpoint can return
401 · 404 · 422