Platitun · API · Catalogue and requests · Request a new catalogue position
Request a new catalogue position
POST /api/v1/catalog/requestsKey scope: catalog · changes data, the Idempotency-Key header is required
A request to add a service or a plan the catalogue lacks. A request NEVER edits the catalogue itself: an administrator decides — otherwise the storefront would end up with two identical products under different names.
Duplication is caught BEFORE writing: if such a service or plan exists, the response names it — you will not have to search.
Request fields
| Field | Type | What it is |
|---|---|---|
kind required | string | “service” — a new service, “tariff” — a new plan for an existing one. |
serviceName | string | The new service name as the vendor writes it. |
vendor | string | Who makes it. |
categorySlug | string | Which catalogue section. |
productTypes | array | Which product types are possible for it. |
serviceSlug | string | For a plan: the slug of the service it belongs to. |
tariffName | string | The vendor plan name. |
sourceUrl required | string | A link to the vendor’s official page. Without it there is nothing to verify. |
comment | string | What the administrator should know. |
Response fields
| Field | Type | What it is |
|---|---|---|
id | string | The request id. |
selfAdded | boolean | Whether the request is marked with the self-add right. It still goes to moderation. |
Refusal reasons
A rule refusal arrives as {"error":"rejected","refusal":{"kind":"…"}} with status 409. Refusals common to all endpoints are in the rules section.
| Code | What happened and what to do |
|---|---|
catalog | The request is malformed: something required is missing, or the link is not to the vendor’s official page. |
already_in_catalog | Such a position already exists in the catalogue — the response names it. Create your listing for it. |
already_requested | Such a request is already in moderation. Wait for the decision. |
no_such_service | The service you ask to add a plan to does not exist in the catalogue. |
tariff_exists | This service already has such a plan — the response names it. |
Nearby in this section
GET /api/v1/me— Who am IGET /api/v1/catalog/services— Search the catalogueGET /api/v1/catalog/services/{slug}— Everything about a positionGET /api/v1/catalog/usual-price— The usual price for a positionGET /api/v1/catalog/demand— Demand: what buyers are waiting forGET /api/v1/catalog/requests— My catalogue requests