# Read active approved sponsor placements (/docs/api-reference/api/v1/sponsors/placements/get)

`GET https://mmb-blurware-alpha.vercel.app/api/v1/sponsors/placements`

Read active approved sponsor placements

Public bounded endpoint. All times are UTC epoch milliseconds. List responses are cursor-paginated. Booking creation requires a UUID idempotencyKey; repeating it returns the same reservation. Browser sessions use the same service with same-origin mutation protection.

Operation ID: `sponsorship_placements`

OpenAPI document: https://mmb-blurware-alpha.vercel.app/openapi.json

## Authentication

Optional bearer token: `Authorization: Bearer $MMB_API_KEY`. Public bot templates also accept keyless requests at a lower rate limit.

## Request

This operation has no request parameters or body.

## Responses

### `200` — Response

**application/json**

```json
{
  "type": "object",
  "properties": {
    "placements": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "headline": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "cta": {
            "type": "string"
          },
          "targetUrl": {
            "type": "string"
          },
          "logoText": {
            "type": "string"
          },
          "bookingId": {
            "type": "string"
          },
          "side": {
            "type": "string",
            "enum": [
              "left",
              "right"
            ]
          },
          "sponsorName": {
            "type": "string"
          },
          "demo": {
            "type": "boolean"
          }
        },
        "required": [
          "headline",
          "body",
          "cta",
          "targetUrl",
          "logoText",
          "bookingId",
          "side",
          "sponsorName",
          "demo"
        ]
      }
    }
  },
  "required": [
    "placements"
  ]
}
```

### `400` — Response

**application/json**

```json
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "retryAfter": {
      "type": "number"
    }
  },
  "required": [
    "error",
    "message"
  ]
}
```

### `401` — Response

**application/json**

```json
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "retryAfter": {
      "type": "number"
    }
  },
  "required": [
    "error",
    "message"
  ]
}
```

### `403` — Response

**application/json**

```json
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "retryAfter": {
      "type": "number"
    }
  },
  "required": [
    "error",
    "message"
  ]
}
```

### `404` — Response

**application/json**

```json
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "retryAfter": {
      "type": "number"
    }
  },
  "required": [
    "error",
    "message"
  ]
}
```

### `409` — Response

**application/json**

```json
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "retryAfter": {
      "type": "number"
    }
  },
  "required": [
    "error",
    "message"
  ]
}
```

### `429` — Response

**application/json**

```json
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "retryAfter": {
      "type": "number"
    }
  },
  "required": [
    "error",
    "message"
  ]
}
```

### `503` — Response

**application/json**

```json
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "retryAfter": {
      "type": "number"
    }
  },
  "required": [
    "error",
    "message"
  ]
}
```