Skip to content

Delete Offers Bulk

Request

Delete a set of offers, identified by their IDs in the request. Use the opaque offer IDs as returned by other endpoints such as POST /offers/find.

An offer referenced in a sourcing line litem can only be deleted if force_delete is set to true, otherwise the full delete request fails with a conflict error. Public off-the-shelf offers can never be deleted, including them causes the full delete request to fail with a conflict error.

The endpoint enforces a limit of 100,000 offer IDs that can be included in one request. If more offers need to be deleted, then the endpoint should be called multiple times.

On success, the endpoint returns the IDs of the offers that were actually deleted. Requested IDs that did not exist are absent, which makes the operation idempotent.

Security
BearerAuth
Query
force_deleteboolean

If this is missing or set to false, then a request to delete offers is rejected if the offer is referenced as a selected solution in a sourcing line item. If this is set to true, then the offer is deleted even if referenced, and the respective solution is reset to pending.

Default:false
Headers
Acceptstring(OfferAcceptHeader)required

Set this to application/api.luminovo.offer-v1+json.

Value:"application/api.luminovo.offer-v1+json"
Bodyapplication/jsonrequired
idsArray of stringsrequired

The set of offer IDs to be deleted.

Example:
[ "PrivateOffTheShelf:5e3fbd0b-5b61-46ac-9b93-36e2fc76d69b", "Custom:220a0cb7-7163-4235-b8b8-472b6f2e137c" ]
POST
/offers/delete
curl -i -X POST \
  'https://api.luminovo.com/offers/delete?force_delete=false' \
  -H 'Accept: application/api.luminovo.offer-v1+json' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "ids": [
      "PrivateOffTheShelf:5e3fbd0b-5b61-46ac-9b93-36e2fc76d69b",
      "Custom:220a0cb7-7163-4235-b8b8-472b6f2e137c"
    ]
  }'

Responses

Delete successful.

Bodyapplication/json
deleted_idsArray of stringsrequired

The set of IDs that were actually deleted. Requested IDs that did not exist are absent, which makes the operation idempotent.

Example:
[ "PrivateOffTheShelf:f879beea-a554-4fd0-ab34-ee5d3bf0f0e2" ]
Response
{ "deleted_ids": [ "PrivateOffTheShelf:f879beea-a554-4fd0-ab34-ee5d3bf0f0e2" ] }