> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flashquotes.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Event

> Retrieve a single event, optionally expanding related objects

Retrieves the event with the given id.

By default the response includes the event's own scalar fields plus the foreign-key ids for related objects (`bookingId`, `locationId`, `eventBriefId`). Relations are inlined only when requested via `expand[]`.

## Expanding related objects

Pass one or more `expand[]` query parameters to inline related objects. On this endpoint, paths are written as-is — no prefix.

```bash theme={null}
curl "https://app.flashquotes.com/api/events/evt_8K3aN1qV2x?expand[]=booking.lead&expand[]=services" \
  -H "x-api-key: $FLASHQUOTES_API_KEY"
```

Allow-listed expand paths:

| Path                | Adds                                                        |
| ------------------- | ----------------------------------------------------------- |
| `location`          | The event's `location` object                               |
| `services`          | The event's `services` array                                |
| `staff`             | The event's `staff` array                                   |
| `addons`            | The event's `addons` array                                  |
| `resources`         | The event's `resources` array                               |
| `booking`           | The parent `booking` object                                 |
| `booking.lead`      | `lead` inside `booking` (auto-promotes `booking`)           |
| `booking.eventType` | `eventType` inside `booking` (auto-promotes `booking`)      |
| `booking.invoices`  | `invoices` array inside `booking` (auto-promotes `booking`) |

<Note>
  Requesting any nested `booking.*` path automatically expands `booking` itself — you do not need to list `booking` separately.
</Note>

### Expanded response

With `expand[]=booking.lead&expand[]=booking.invoices`, the response inlines the nested objects under `booking`:

```json theme={null}
{
  "object": "event",
  "id": "evt_8K3aN1qV2x",
  "booking": {
    "object": "booking",
    "id": "bkg_4F2yL8",
    "lead": {
      "object": "lead",
      "id": "led_2T7nC4",
      "companyName": "Acme",
      "firstName": "Jane",
      "lastName": "Doe",
      "email": "jane@acme.com"
    },
    "invoices": [
      {
        "object": "invoice",
        "id": "inv_9P5xK3",
        "status": "Paid",
        "total": 250000,
        "amountPaid": 250000,
        "amountDue": 0,
        "url": "https://app.flashquotes.com/invoice/..."
      }
    ]
  }
}
```

### Limits

* Maximum **20** expand paths per request (duplicates are deduplicated).
* Maximum nesting depth of **4** segments.
* Unknown or malformed paths return `400`.


## OpenAPI

````yaml GET /events/{id}
openapi: 3.0.1
info:
  title: Flashquotes API
  description: API for accessing event, form, and invoice data from Flashquotes
  version: 1.0.0
  contact:
    name: Flashquotes Support
    email: support@flashquotes.com
servers:
  - url: https://app.flashquotes.com/api
    description: Production server
security:
  - apiKey: []
paths:
  /events/{id}:
    get:
      summary: Get Event
      description: >-
        Retrieve a single event by id. By default returns the event's own scalar
        fields and foreign-key ids; pass expand[] to inline related objects.
      parameters:
        - name: id
          in: path
          required: true
          description: The event id.
          example: evt_8K3aN1qV2x
          schema:
            type: string
        - name: expand[]
          in: query
          required: false
          description: >-
            Inline related objects. Allow-listed paths: location, services,
            staff, addons, resources, booking, booking.lead, booking.eventType,
            booking.invoices. Requesting any `booking.*` path auto-promotes
            `booking`. Max 20 paths, max depth 4.
          explode: true
          example:
            - booking.lead
            - location
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: Event retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
              examples:
                Default:
                  summary: Default (no expand)
                  value:
                    object: event
                    id: evt_8K3aN1qV2x
                    name: Acme launch party
                    clientName: Jane Doe
                    clientEmail: jane@acme.com
                    clientPhone: '+15555550123'
                    serviceStartTime: '2026-06-12T18:00:00.000Z'
                    serviceEndTime: '2026-06-12T23:00:00.000Z'
                    staffNumber: 4
                    resourceNumber: 2
                    guestCount: 120
                    companyId: cmp_a1b2c3
                    locationId: loc_7H2pQ9
                    bookingId: bkg_4F2yL8
                    eventBriefId: ebf_3R9wM1
                    eventBriefUrl: https://app.flashquotes.com/event-briefs/ebf_3R9wM1
                    multiDay: false
                    tipJarAllowed: true
                    outdoors: false
                    createdAt: '2026-05-01T14:23:11.000Z'
                    updatedAt: '2026-05-08T09:12:44.000Z'
                WithExpand:
                  summary: With expand[]=booking.lead&expand[]=booking.invoices
                  value:
                    object: event
                    id: evt_8K3aN1qV2x
                    name: Acme launch party
                    serviceStartTime: '2026-06-12T18:00:00.000Z'
                    bookingId: bkg_4F2yL8
                    locationId: loc_7H2pQ9
                    booking:
                      object: booking
                      id: bkg_4F2yL8
                      fullName: Jane Doe
                      email: jane@acme.com
                      phone: '+15555550123'
                      totalPriceCents: 250000
                      currency:
                        isoCode: USD
                      lead:
                        object: lead
                        id: led_2T7nC4
                        firstName: Jane
                        lastName: Doe
                        email: jane@acme.com
                        companyName: Acme
                      invoices:
                        - object: invoice
                          id: inv_9P5xK3
                          invoiceNumber: INV-1042
                          status: Paid
                          total: 250000
                          amountPaid: 250000
                          amountDue: 0
                          dueDate: '2026-06-01T00:00:00.000Z'
                          taxable: true
                          bookingId: bkg_4F2yL8
                          currency:
                            isoCode: USD
                          url: https://app.flashquotes.com/invoice/9P5xK3...
        '400':
          description: Invalid expand path
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  type: invalid_request_error
                  code: invalid_parameter
                  message: 'Unknown expand path: ''booking.foo'''
                  param: expand
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  type: authentication_error
                  code: missing_or_invalid_api_key
                  message: Unauthorized, invalid or missing API key
        '404':
          description: Event not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  type: invalid_request_error
                  code: not_found
                  message: Event not found
                  param: id
components:
  schemas:
    Event:
      type: object
      description: >-
        Default response includes only the fields below plus foreign-key ids
        (bookingId, locationId, eventBriefId). Related objects (location,
        services, staff, addons, resources, booking) appear only when requested
        via expand[].
      example:
        object: event
        id: evt_8K3aN1qV2x
        name: Acme launch party
        clientName: Jane Doe
        clientEmail: jane@acme.com
        clientPhone: '+15555550123'
        siteContactName: Mark Site
        siteContactPhone: '+15555550199'
        eventDescription: Evening reception with passed apps
        eventAddress: 500 Market St, San Francisco, CA 94105
        additionalLocationInfo: Load in via rear loading dock
        specialNotes: No nuts in any service items
        parkingLoadingInfo: Free street parking after 6pm
        serviceStartTime: '2026-06-12T18:00:00.000Z'
        serviceEndTime: '2026-06-12T23:00:00.000Z'
        staffNumber: 4
        resourceNumber: 2
        companyId: cmp_a1b2c3
        locationId: loc_7H2pQ9
        bookingId: bkg_4F2yL8
        eventBriefId: ebf_3R9wM1
        eventBriefUrl: https://app.flashquotes.com/event-briefs/ebf_3R9wM1
        createdAt: '2026-05-01T14:23:11.000Z'
        updatedAt: '2026-05-08T09:12:44.000Z'
        staffDressCode: Black tie
        customData:
          internal_ref: ACME-Q2
        multiDay: false
        guestCount: 120
        loadingTime: 30
        setupTime: 60
        breakdownTime: 45
        unloadingTime: 30
        shiftStartTime: '2026-06-12T16:30:00.000Z'
        shiftEndTime: '2026-06-12T23:45:00.000Z'
        specialPrepTime: 15
        travelToEventTime: 45
        travelFromEventTime: 45
        tipJarAllowed: true
        outdoors: false
      properties:
        object:
          type: string
          enum:
            - event
        id:
          type: string
        name:
          type: string
        clientName:
          type: string
        clientEmail:
          type: string
        clientPhone:
          type: string
        siteContactName:
          type: string
        siteContactPhone:
          type: string
        eventDescription:
          type: string
        eventAddress:
          type: string
        additionalLocationInfo:
          type: string
        specialNotes:
          type: string
        parkingLoadingInfo:
          type: string
        serviceStartTime:
          type: string
          format: date-time
        serviceEndTime:
          type: string
          format: date-time
        staffNumber:
          type: integer
        resourceNumber:
          type: integer
        companyId:
          type: string
        locationId:
          type: string
        bookingId:
          type: string
          nullable: true
        eventBriefId:
          type: string
          nullable: true
        eventBriefUrl:
          type: string
          nullable: true
          description: Public URL to view the event brief, or null if no brief exists.
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        staffDressCode:
          type: string
          nullable: true
        customData:
          description: Arbitrary JSON metadata attached to the event.
        multiDay:
          type: boolean
        guestCount:
          type: integer
          nullable: true
        loadingTime:
          type: integer
          nullable: true
          description: Minutes.
        setupTime:
          type: integer
          nullable: true
          description: Minutes.
        breakdownTime:
          type: integer
          nullable: true
          description: Minutes.
        unloadingTime:
          type: integer
          nullable: true
          description: Minutes.
        shiftStartTime:
          type: string
          format: date-time
          nullable: true
        shiftEndTime:
          type: string
          format: date-time
          nullable: true
        specialPrepTime:
          type: integer
          nullable: true
          description: Minutes.
        travelToEventTime:
          type: integer
          nullable: true
          description: Minutes.
        travelFromEventTime:
          type: integer
          nullable: true
          description: Minutes.
        tipJarAllowed:
          type: boolean
        outdoors:
          type: boolean
        location:
          $ref: '#/components/schemas/Location'
          description: Present only when `expand[]=location` (or `data.location` on list).
        services:
          type: array
          items:
            $ref: '#/components/schemas/Service'
          description: Present only when expanded.
        staff:
          type: array
          items:
            $ref: '#/components/schemas/Staff'
          description: Present only when expanded.
        addons:
          type: array
          items:
            $ref: '#/components/schemas/Addon'
          description: Present only when expanded.
        resources:
          type: array
          items:
            $ref: '#/components/schemas/Resource'
          description: Present only when expanded.
        booking:
          $ref: '#/components/schemas/Booking'
          description: >-
            Present only when expanded (auto-promoted by any `booking.*`
            expand).
      required:
        - object
        - id
        - locationId
        - bookingId
    ErrorResponse:
      type: object
      example:
        error:
          type: invalid_request_error
          code: invalid_parameter
          message: limit must be an integer between 1 and 100
          param: limit
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - api_error
                - invalid_request_error
                - authentication_error
                - permission_error
                - rate_limit_error
                - idempotency_error
            code:
              type: string
              description: >-
                Machine-readable error code (e.g. `not_found`,
                `invalid_parameter`, `missing_or_invalid_api_key`).
            message:
              type: string
            param:
              type: string
              description: Name of the offending parameter, when applicable.
              nullable: true
          required:
            - type
            - code
            - message
      required:
        - error
    Location:
      type: object
      properties:
        object:
          type: string
          enum:
            - location
        id:
          type: string
        name:
          type: string
        streetAddress:
          type: string
        city:
          type: string
        state:
          type: string
        zip:
          type: string
        timeZone:
          type: string
    Service:
      type: object
      properties:
        object:
          type: string
          enum:
            - service
        id:
          type: string
        name:
          type: string
        description:
          type: string
          nullable: true
        imageUrl:
          type: string
          nullable: true
    Staff:
      type: object
      properties:
        object:
          type: string
          enum:
            - staff
        id:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
        phone:
          type: string
          nullable: true
        role:
          type: string
          nullable: true
        status:
          type: string
    Addon:
      type: object
      properties:
        object:
          type: string
          enum:
            - addon
        id:
          type: string
        name:
          type: string
        description:
          type: string
          nullable: true
        imageUrl:
          type: string
          nullable: true
        unitPriceCents:
          type: integer
    Resource:
      type: object
      properties:
        object:
          type: string
          enum:
            - resource
        id:
          type: string
        name:
          type: string
        description:
          type: string
          nullable: true
        imageUrl:
          type: string
          nullable: true
        category:
          type: string
          nullable: true
        status:
          type: string
    Booking:
      type: object
      properties:
        object:
          type: string
          enum:
            - booking
        id:
          type: string
        quoteId:
          type: string
          nullable: true
        leadId:
          type: string
          nullable: true
        entityToInvoice:
          type: string
        fullName:
          type: string
        email:
          type: string
        phone:
          type: string
        paymentMethod:
          type: string
          nullable: true
        billingNotes:
          type: string
          nullable: true
        cardOnFile:
          type: boolean
        totalPriceCents:
          type: integer
        gratuityAmountCents:
          type: integer
          nullable: true
        eventTypeId:
          type: string
          nullable: true
        canceledAt:
          type: string
          format: date-time
          nullable: true
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        currency:
          type: object
          properties:
            isoCode:
              type: string
              example: USD
        lead:
          $ref: '#/components/schemas/Lead'
          description: Present only when `expand[]=booking.lead`.
        eventType:
          $ref: '#/components/schemas/EventType'
          description: Present only when `expand[]=booking.eventType`.
        invoices:
          type: array
          items:
            $ref: '#/components/schemas/Invoice'
          description: Present only when `expand[]=booking.invoices`.
    Lead:
      type: object
      properties:
        object:
          type: string
          enum:
            - lead
        id:
          type: string
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        email:
          type: string
          nullable: true
        phone:
          type: string
          nullable: true
        companyName:
          type: string
          nullable: true
    EventType:
      type: object
      properties:
        object:
          type: string
          enum:
            - eventType
        id:
          type: string
        name:
          type: string
    Invoice:
      type: object
      description: Slim invoice shape used everywhere invoices appear in the public API.
      properties:
        object:
          type: string
          enum:
            - invoice
        id:
          type: string
        invoiceNumber:
          type: string
        description:
          type: string
          nullable: true
        notes:
          type: string
          nullable: true
        poNumber:
          type: string
          nullable: true
        dueDate:
          type: string
          format: date-time
        voidedAt:
          type: string
          format: date-time
          nullable: true
        taxable:
          type: boolean
        discountAmountCents:
          type: integer
          nullable: true
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        bookingId:
          type: string
        leadId:
          type: string
          nullable: true
        currency:
          type: object
          properties:
            isoCode:
              type: string
        url:
          type: string
          description: Encrypted public URL to view the invoice.
        status:
          type: string
          description: >-
            Computed invoice status (e.g. Draft, Open, Paid, Overdue,
            PartiallyPaid).
        total:
          type: integer
          description: Total amount in the smallest currency unit (cents).
        amountPaid:
          type: integer
          description: Amount paid excluding failed payments, in cents.
        amountDue:
          type: integer
          description: Outstanding amount in cents.
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authentication

````