Offers
Post offer
Queues the offer's publication to an authorized group or thread.
POST
/offers/{id}/publishpublications:writeBEHAVIOR
The request validates the input, persists the command, and returns the initial state. Execution can continue in the dedicated queue.
EFFECT
You can create asynchronous work and webhook events after confirmation in the database.
REPETITION
On network failure, confirm the resource status before retrying. Automatically redo only 429 and 5xx with backoff and jitter.
Request
idstring · pathResource identifier.minLength 2 · maxLength 100mandatorysegment_idstring · bodyTarget segment.optionalgroup_idstring · bodyTarget group.optionalwith_imageboolean · bodyDeprecated and ignored. Offers are sent as text with a product link preview, never as photo attachments.optionalAuthorization
Bearer ach_live_...Accept
application/jsonScope
publications:writeExecutable example
curl
curl -X POST 'https://achadu.com/api/v1/offers/resource_id/publish' \
-H 'Authorization: Bearer ach_live_...' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data '{
"segment_id": "string",
"group_id": "string",
"with_image": true
}'Response and errors
Every response includes request_id. Lists add pagination; mutable resources return the persisted state after the operation.
200 application/json
{
"data": {
"id": "off_01J...",
"marketplace": "amazon",
"title": "Air fryer 5L",
"url": "https://example.com/product",
"price": 329.9,
"currency": "BRL",
"review_status": "pending",
"created_at": "2026-08-31T18:20:00.000Z"
},
"request_id": "req_01J..."
}200Operation completed.400Invalid parameter, body or transition.401Missing, invalid, expired or revoked key.402The account plan does not release this interface.403A chave precisa do escopo publications:write.404Feature does not exist in this account.409The current state prevents this operation.413The JSON body exceeds 128 KB.429The 120 requests per minute window has been exceeded.