---
title: "List a fan's RSVPs"
method: POST
path: "/v1/fans/rsvps/search"
tags: ["fans"]
---

# List a fan's RSVPs

`POST /v1/fans/rsvps/search`

## Request body

- union
  - object
    - `cursor` string — Opaque cursor from a prior response.
    - `email` string, email — Fan email address.
    - `externalId` string, required — Integration-owned, customer-scoped fan identifier.
    - `fanId` string — Opaque Laylo fan identifier.
    - `limit` integer — RSVPs per page; defaults to 50 and caps at 200.
    - `phone` string — E.164 phone number including the national code, for example +12025550100.
  - object
    - `cursor` string — Opaque cursor from a prior response.
    - `email` string, email, required — Fan email address.
    - `externalId` string — Integration-owned, customer-scoped fan identifier.
    - `fanId` string — Opaque Laylo fan identifier.
    - `limit` integer — RSVPs per page; defaults to 50 and caps at 200.
    - `phone` string — E.164 phone number including the national code, for example +12025550100.
  - object
    - `cursor` string — Opaque cursor from a prior response.
    - `email` string, email — Fan email address.
    - `externalId` string — Integration-owned, customer-scoped fan identifier.
    - `fanId` string — Opaque Laylo fan identifier.
    - `limit` integer — RSVPs per page; defaults to 50 and caps at 200.
    - `phone` string, required — E.164 phone number including the national code, for example +12025550100.
  - object
    - `cursor` string — Opaque cursor from a prior response.
    - `email` string, email — Fan email address.
    - `externalId` string — Integration-owned, customer-scoped fan identifier.
    - `fanId` string, required — Opaque Laylo fan identifier.
    - `limit` integer — RSVPs per page; defaults to 50 and caps at 200.
    - `phone` string — E.164 phone number including the national code, for example +12025550100.

## Response `200`

RSVPs recorded for the selected fan, with contact information omitted.

- object
  - `data` object, required
    - `rsvps` object[], required
      - `createdAt` string, date-time, required — When the RSVP was recorded, in ISO 8601 with an explicit UTC offset.
      - `dropId` string, required — Opaque Laylo drop identifier.
      - `fan` object, required — A customer-scoped fan representation. Contact information is never returned by the public API.
        - `id` string, required — Opaque Laylo fan identifier.
        - `inferredDisplayName` string — Optional non-contact display name inferred by Laylo.
        - `joinedAt` string, date-time — When the fan first joined, in ISO 8601 with an explicit UTC offset.
        - `location` object — Optional non-contact location.
          - `city` string — City name.
          - `country` string — Country name or code.
          - `state` string — State or region.
      - `id` string, required — Opaque RSVP identifier.
      - `status` 'confirmed', required — RSVP state.
  - `page_info` object, required — Cursor pagination state. Pass next_cursor back as the cursor query parameter to fetch the next page.
    - `has_more` boolean, required — Whether another page exists.
    - `next_cursor` string, nullable, required — Opaque cursor for the next page, or null at the end.

## Other responses

- `400` — The request body is malformed.
- `401` — The integrator credential or customer API key is invalid.
- `403` — The customer account behind the API key has no paid Laylo plan.
- `404` — No route matches the requested path.
- `405` — The path exists, but the HTTP method is not supported.
- `409` — The request conflicts with the current resource state.
- `429` — The per-integrator rate limit for this operation is exceeded.
- `500` — An unexpected server error occurred.

---

[API](https://skmtc.dev/laylo/apis/laylo-api.md) · [All operations](https://skmtc.dev/laylo/apis/laylo-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/laylo/laylo-api/revisions/000d81a01b74/schema)
