---
title: "Subscribe to IPO Events (SSE)"
method: GET
path: "/v2/events/ipos"
tags: ["Events"]
---

# Subscribe to IPO Events (SSE)

`GET /v2/events/ipos`

The Events API provides event push as well as historical queries via SSE (server sent events).

You can listen to IPO offering lifecycle updates as they happen - including new offerings, offering updates, prospectus availability, the 60-minute pricing window, account-scoped allocation results, and offering cancellations.

Historical events are streamed immediately if queried, and updates are pushed as events occur.

---

**Event types**

Each event has a `verb` field that determines the shape of `payload`. See the `IPOEvent` schema for the full payload structure for each verb.

- `Offering` - initial publication of an offering (system-wide).
- `OfferingUpdate` - update to a previously published offering (system-wide).
- `Prospectus` - prospectus document is now available (system-wide).
- `SixtyMinMail` - 60-minute pricing window has opened, no new orders accepted (system-wide).
- `Allocation` - final allocation result for a specific account. **Account-scoped** - `account_id` and `correspondent` are populated.
- `OfferingCancellation` - offering was cancelled. **No `payload` field is present.**

Use the `offering_reference` field on each event to fetch the full offering metadata via [`GET /v1/ipos/{offering_reference}`](#operation/getIPOOffering).

---

Query Params Rules:
- `since` required if `until` specified
- `since_id` required if `until_id` specified
- `since` and `since_id` can't be used at the same time
- `until` and `until_id` can't be used at the same time

Behavior:
- if `since` or `since_id` not specified this will not return any historic data
- if `until` or `until_id` reached stream will end (status 200)

---

Note for people using the clients generated from this OAS spec. Currently OAS-3 doesn't have full support for representing SSE style responses from an API, so if you are using a generated client and don't specify a `since` and `until` there is a good chance the generated clients will hang waiting for the response to end.

If you require the streaming capabilities we recommend not using the generated clients for this specific usecase until the OAS-3 standards come to a consensus on how to represent this correctly in OAS-3.

## Query parameters

- `since` string, date-time
- `until` string, date-time
- `since_id` string, ulid
- `until_id` string, ulid

## Response `200`

Connected. Events will now start streaming as long as you keep the connection open.

---

[API](https://skmtc.net/alpacahq/apis/gift-city-extensions-api.md) · [All operations](https://skmtc.net/alpacahq/apis/gift-city-extensions-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/alpacahq/gift-city-extensions-api/versions/62e3378bb273/schema)
