---
search:
  tags:
    - Operations
    - POST
seo:
  description: >-
    Sends a pending offer to the customer. The offer must be in "pending"
    status. Reference for the POST /{id}/send endpoint in the Offers API.
sidebar:
  label: Send offer
  badge: POST
title: Send offer
type: openapi-operation
---
Sends a pending offer to the customer. The offer must be in "pending" status.

`POST /{id}/send`

**Responses**

- `200` — Offer sent successfully
- `400` — Bad request - Offer is not in a sendable state
- `401` — Unauthorized - Missing or invalid authentication
- `403` — Forbidden - Caller can view this offer but is not allowed to send it
- `404` — Not found - Offer does not exist or caller is not allowed to view it
- `409` — Offer is still being prepared (credit/upsells); retry once processing completes
- `500` — Internal server error

Response example, 200:

```json
{
  "success": true,
  "sentAt": "2024-01-20T12:00:00Z"
}
```

Response example, 400 · offerNotPending:

```json
{
  "code": "OFFER_NOT_PENDING",
  "message": "Offer cannot be sent because it is not in \"pending\" status"
}
```

Response example, 400 · offerSendingError:

```json
{
  "code": "OFFER_SENDING_ERROR",
  "message": "Error sending offer to customer"
}
```

Response example, 401:

```json
{
  "code": "UNAUTHORIZED",
  "message": "Missing authentication token"
}
```

Response example, 403 · insufficientScope:

```json
{
  "code": "INSUFFICIENT_SCOPE",
  "message": "The presented token is missing the `write:offers` scope, which this endpoint requires. Create a token with the scopes you need at https://developer.sibipro.com."
}
```

Response example, 403 · permissionDenied:

```json
{
  "code": "FORBIDDEN",
  "message": "User does not have permission to send this offer"
}
```

Response example, 404:

```json
{
  "code": "OFFER_NOT_FOUND",
  "message": "Offer not found"
}
```

Response example, 409 · offerProcessing:

```json
{
  "code": "OFFER_PROCESSING",
  "message": "Offer is still being prepared. Please retry shortly."
}
```

Response example, 409 · upsellsGenerating:

```json
{
  "code": "UPSELLS_GENERATING",
  "message": "Upsell generation for this offer is still in progress. Please retry shortly."
}
```

Response example, 500:

```json
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "An unexpected error occurred"
}
```
