# Promotion Detail Get

Fetch a Morrisons offer page with identifiers, active dates, reward groups, and its decorated products.

- Platform: [Morrisons](https://docs.upscrape.com/docs/platforms/morrisons)
- Capability ID: `morrisons.promotion.detail.get`
- Cost: 1 credit per request
- Maximum runtime: 30 seconds
- Execute endpoint: `POST https://data.upscrape.com/execute`

## Request

Use the exact public capability ID in the shared execute envelope.

```bash
curl --request POST \
  --url https://data.upscrape.com/execute \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Content-Type: application/json" \
  --header "Prefer: wait=30" \
  --data '{
  "input": {
    "promotion_id": "6820a0fa-47cb-4d0d-867f-b7e029adc935"
  },
  "capability": "morrisons.promotion.detail.get"
}'
```

## Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `promotion_id` | `string` | No |  |
| `url` | `string` | No |  |

### Example input

```json
{
  "promotion_id": "6820a0fa-47cb-4d0d-867f-b7e029adc935"
}
```

## Response

Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.

### Illustrative sample output

This redacted fixture is an example, not a fixed response schema.

```json
{
  "items": [
    {
      "available": true,
      "brand": "Morrisons",
      "image": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/658e83f8-1c72-4083-a0a3-0a23e1510dc7/300x300.jpg",
      "images": [
        {
          "bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/658e83f8-1c72-4083-a0a3-0a23e1510dc7/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/658e83f8-1c72-4083-a0a3-0a23e1510dc7/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/658e83f8-1c72-4083-a0a3-0a23e1510dc7/640x640.webp 6…",
          "description": "Morrisons Squeezy Burger Relish (310g)",
          "fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/658e83f8-1c72-4083-a0a3-0a23e1510dc7/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/658e83f8-1c72-4083-a0a3-0a23e1510dc7/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/658e83f8-1c72-4083-a0a3-0a23e1510dc7/200x200.webp 2…",
          "src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/658e83f8-1c72-4083-a0a3-0a23e1510dc7/500x500.jpg"
        }
      ],
      "name": "Morrisons Squeezy Burger Relish (310g)",
      "price": {
        "current": {
          "amount": "1.70",
          "currency": "GBP"
        },
        "unit": {
          "current": {
            "amount": "5.48",
            "currency": "GBP"
          },
          "label": "fop.price.per.kg"
        }
      },
      "product_id": "dc1cb091-8e98-4145-b603-9a064008039c",
      "rating": {
        "count": 9,
        "overall": "3.4"
      },
      "retailer_product_id": "105213678",
      "url": "https://groceries.morrisons.com/products/morrisons-squeezy-burger-relish-310g/105213678"
    },
    {
      "available": true,
      "brand": "Morrisons",
      "image": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/af9c7af3-959c-4fa0-938c-dd8c6135e21c/300x300.jpg",
      "images": [
        {
          "bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/af9c7af3-959c-4fa0-938c-dd8c6135e21c/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/af9c7af3-959c-4fa0-938c-dd8c6135e21c/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/af9c7af3-959c-4fa0-938c-dd8c6135e21c/640x640.webp 6…",
          "description": "Morrisons Sliced White Rolls 6 Pack",
          "fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/af9c7af3-959c-4fa0-938c-dd8c6135e21c/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/af9c7af3-959c-4fa0-938c-dd8c6135e21c/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/af9c7af3-959c-4fa0-938c-dd8c6135e21c/200x200.webp 2…",
          "src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/af9c7af3-959c-4fa0-938c-dd8c6135e21c/500x500.jpg"
        }
      ],
      "name": "Morrisons Sliced White Rolls 6 Pack",
      "price": {
        "current": {
          "amount": "0.95",
          "currency": "GBP"
        },
        "unit": {
          "current": {
            "amount": "15.8",
            "currency": "GBX"
          },
          "label": "fop.price.per.each"
        }
      },
      "product_id": "702fe59d-abda-454a-81a8-3147e881c41c",
      "rating": {
        "count": 71,
        "overall": "2.4"
      },
      "retailer_product_id": "105694619",
      "url": "https://groceries.morrisons.com/products/morrisons-sliced-white-rolls-6-pack/105694619"
    },
    {
      "available": true,
      "brand": "Morrisons",
      "image": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/eee4746d-6778-4881-9d47-7a11622dec1a/300x300.jpg",
      "images": [
        {
          "bopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/eee4746d-6778-4881-9d47-7a11622dec1a/300x300.webp 300w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/eee4746d-6778-4881-9d47-7a11622dec1a/500x500.webp 500w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/eee4746d-6778-4881-9d47-7a11622dec1a/640x640.webp 6…",
          "description": "Morrisons British Iceberg Lettuce",
          "fopSrcset": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/eee4746d-6778-4881-9d47-7a11622dec1a/100x100.webp 100w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/eee4746d-6778-4881-9d47-7a11622dec1a/150x150.webp 150w, https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/eee4746d-6778-4881-9d47-7a11622dec1a/200x200.webp 2…",
          "src": "https://groceries.morrisons.com/images-v3/4b85987b-1398-4173-a0c1-3546047c9d74/eee4746d-6778-4881-9d47-7a11622dec1a/500x500.jpg"
        }
      ],
      "name": "Morrisons British Iceberg Lettuce",
      "price": {
        "current": {
          "amount": "0.89",
          "currency": "GBP"
        },
        "unit": {
          "current": {
            "amount": "89.0",
            "currency": "GBX"
          },
          "label": "fop.price.per.each"
        }
      },
      "product_id": "fa34258d-fcd7-473d-9af0-eaaae6f80be1",
      "rating": {
        "count": 101,
        "overall": "2.4"
      },
      "retailer_product_id": "108370943",
      "url": "https://groceries.morrisons.com/products/morrisons-british-iceberg-lettuce/108370943"
    }
  ],
  "promotion": {
    "active_period": {
      "activeFrom": "2026-07-19T23:00:00Z",
      "activeTo": "2026-09-07T23:00:00Z"
    },
    "breadcrumbs": [],
    "description": "BBQ Burger Bundle for £10",
    "groups": [
      {
        "products": [
          "dc1cb091-8e98-4145-b603-9a064008039c"
        ],
        "quantity": 1,
        "reward": {
          "offer": "£10.00",
          "type": "OFFER"
        }
      },
      {
        "products": [
          "702fe59d-abda-454a-81a8-3147e881c41c"
        ],
        "quantity": 1,
        "reward": {
          "offer": "£10.00",
          "type": "OFFER"
        }
      },
      {
        "products": [
          "fa34258d-fcd7-473d-9af0-eaaae6f80be1"
        ],
        "quantity": 1,
        "reward": {
          "offer": "£10.00",
          "type": "OFFER"
        }
      }
    ],
    "long_description": "Buy all items for £10. Order by 07/09/2026, offer subject to availability. Maximum 20 promotional items per customer.",
    "presentation_mode": "DEFAULT",
    "promotion_id": "6820a0fa-47cb-4d0d-867f-b7e029adc935",
    "promotion_page_type": "BUNDLE",
    "retailer_promotion_id": "1010595828",
    "url": "https://groceries.morrisons.com/offers/bbq-burger-bundle-for-10/1010595828"
  }
}
```
### Illustrative output fields

Derived from the sample above for orientation only. These fields are not a fixed response schema.

| Path | Observed type | Example |
| --- | --- | --- |
| `items` | `array` | 3 items |
| `items` | `array` | 3 items |
| `promotion` | `object` | 10 fields |
| `promotion.active_period` | `object` | 2 fields |
| `promotion.breadcrumbs` | `array` | 0 items |
| `promotion.description` | `string` | BBQ Burger Bundle for £10 |
| `promotion.groups` | `array` | 3 items |
| `promotion.long_description` | `string` | Buy all items for £10. Order by 07/09/2026, offer subject to availabili… |
| `promotion.presentation_mode` | `string` | DEFAULT |
| `promotion.promotion_id` | `string` | 6820a0fa-47cb-4d0d-867f-b7e029adc935 |
| `promotion.promotion_page_type` | `string` | BUNDLE |
| `promotion.retailer_promotion_id` | `string` | 1010595828 |
| `promotion.url` | `string` | https://groceries.morrisons.com/offers/bbq-burger-bundle-for-10/1010595… |

## Execution behavior

A `200` response completed inline. A `202` response was queued; poll `GET /jobs/{id}` until the job reaches `completed` or `failed`. Use an `Idempotency-Key` when retrying must not create a duplicate logical job.

## Related documentation

- [Authentication](https://docs.upscrape.com/docs/api/authentication)
- [Jobs and results](https://docs.upscrape.com/docs/api/jobs)
- [Errors and retries](https://docs.upscrape.com/docs/api/errors)
- [Idempotency](https://docs.upscrape.com/docs/api/idempotency)
