---
title: "List reservation message attempts"
method: GET
path: "/reservations/lifecycle/attempts"
---

# List reservation message attempts

`GET /reservations/lifecycle/attempts`

## Request

- Base URL: `https://platform-api.visitoai.com/m2m/v1`
- URL: `https://platform-api.visitoai.com/m2m/v1/reservations/lifecycle/attempts`
- Auth: HTTP bearer

Requires `reservations:read`. Attempt diagnostics are not delivery proof. would_send does not mean delivered. Use nextCursor while hasNext is true.

## Query parameters

- `integrationId` string
- `cursor` string
- `reservationId` string
- `eventType` 'booking_confirmed' | 'pre_checkin' | 'post_checkout_review'
- `result` 'would_send' | 'deferred' | 'skipped' | 'invalid' | 'duplicate' | 'error'

## Response `200`

Success

- ReservationLifecycleOutboundAttemptsResponse
  - `attempts` object[], required
    - `eventId` string, required
    - `lifecycleEventType` union, required
      - 'booking_confirmed'
      - 'pre_checkin'
      - 'post_checkout_review'
    - `result` union, required
      - 'would_send'
      - 'deferred'
      - 'skipped'
      - 'invalid'
      - 'duplicate'
      - 'error'
    - `reason` string, required
    - `integrationId` string, required
    - `integrationName` string
    - `propertyId` string
    - `propertyName` string
    - `senderPhoneNumber` string
    - `senderLabel` string
    - `channelId` string
    - `metaTemplateName` string
    - `metaTemplateLocale` union
      - 'en_US'
      - 'es_MX'
    - `metaTemplateStatus` union
      - 'pending'
      - 'approved'
      - 'rejected'
      - 'paused'
    - `metaTemplateVersion` number
    - `metaTemplateErrorCode` string
    - `metaTemplateErrorMessage` string
    - `providerReservationId` string, required
    - `checkInDate` string
    - `checkOutDate` string
    - `triggerSource` union, required
      - 'sync_transition'
      - 'scheduled_due_scan'
    - `attemptCount` number, required
    - `duplicateCount` number, required
    - `guestPhoneRaw` string
    - `guestPhoneNormalized` string
    - `conversationId` string
    - `conversationLink` string
    - `policy` object, required
      - `outboundEnabled` boolean, required
      - `tenantAllowed` boolean, required
      - `masterEnabled` boolean, required
      - `integrationActive` boolean, required
      - `integrationEligible` boolean, required
      - `eventEnabled` boolean, required
      - `channelMapped` boolean, required
      - `channelActive` boolean, required
      - `respondEnabled` boolean, required
      - `phonePresent` boolean, required
      - `phoneValid` boolean, required
      - `outsideQuietHours` boolean, required
    - `createdAt` string, required
    - `updatedAt` string
  - `availableIntegrations` object[], required
    - `integrationId` string, required
    - `integrationName` string
    - `provider` string
  - `availableStatuses` string[], required
  - `availableStages` string[], required
  - `pageSize` number, required
  - `hasNext` boolean, required
  - `nextCursor` string

## Other responses

- `default`: Structured error

---

[API](https://skmtc.dev/visitoai/apis/visito-m2m-api.md) - [All operations](https://skmtc.dev/visitoai/apis/visito-m2m-api/llms.txt) - [OpenAPI document](https://skmtc.dev/visitoai/apis/visito-m2m-api/revisions/98377d35c234?raw)
