---
search:
  tags:
    - Operations
    - GET
seo:
  description: >-
    Retrieves an offer by its ID. Reference for the GET /{id} endpoint in the
    Offers API.
sidebar:
  label: Get offer
  badge: GET
title: Get offer
type: openapi-operation
---
Retrieves an offer by its ID.

`GET /{id}`

**Responses**

- `200` — Offer retrieved successfully
- `401` — Unauthorized - Missing or invalid authentication
- `403` — Forbidden - Caller is not allowed to view this offer
- `404` — Not found - Offer does not exist
- `500` — Internal server error

Response example, 200:

```json
{
  "id": "offer-123",
  "orderIds": [
    "string"
  ],
  "thirdPartyId": "ext-123",
  "customerName": "string",
  "customerEmail": "string",
  "customerPhone": "string",
  "fullAddress": "string",
  "line1": "string",
  "line2": "string",
  "city": "string",
  "stateOrProvince": "string",
  "postalCode": "string",
  "status": "pending",
  "generatingUpsells": true,
  "processing": true,
  "acceptedByRole": "curator",
  "offerSentAt": "string",
  "selectedOffering": [
    {
      "productId": "string",
      "curatorSelectedAddons": [
        {
          "addonId": "string"
        }
      ],
      "customerSelectedAddons": [
        {
          "addonId": "string"
        }
      ]
    }
  ],
  "offerings": [
    {
      "products": [
        {
          "productId": "string",
          "curatorSelectedAddons": [
            {
              "addonId": "string"
            }
          ]
        }
      ]
    }
  ],
  "buyoutAmountCents": 50000,
  "creditAmountCents": 75000,
  "companySpendCents": 0,
  "customerSpendCents": 0,
  "offerPricingBreakdown": {
    "subtotal": 0,
    "tax": 0,
    "total": 0,
    "discounts": [
      {
        "amount": 0
      }
    ],
    "fees": [
      {
        "amount": 0
      }
    ],
    "pricedItems": [
      {
        "id": "string",
        "title": "string",
        "purchasePrice": 0,
        "addons": [
          {
            "id": "string",
            "title": "string",
            "purchasePrice": 0
          }
        ]
      }
    ]
  }
}
```

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 `read: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 view this offer"
}
```

Response example, 404:

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

Response example, 500:

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