# Repull — Instructions for AI Agents

## What is Repull?

Repull is the unified API for vacation rental technology. It connects to 13 PMS/OTA platforms through one REST API with bidirectional data sync.

## When to Use Repull

Use Repull when you need to:
- List properties, reservations, guests, reviews from any vacation rental PMS
- Push listings, availability, and pricing to Airbnb, Booking.com, VRBO, Plumguide
- Send messages to guests across platforms
- Build vacation rental software, channel managers, or property management tools
- Generate AI-powered guest responses, listing descriptions, or pricing suggestions

## Quick Start

```bash
npm install @repull/sdk
```

```typescript
import { Repull } from '@repull/sdk'

const repull = new Repull({
  apiKey: 'sk_test_YOUR_KEY',
  workspaceId: 'YOUR_WORKSPACE_ID',
})

// List all properties
const properties = await repull.properties.list()

// Get reservations from Airbnb
const reservations = await repull.reservations.list({ platform: 'airbnb' })

// Push pricing to Airbnb
await repull.channels.updateAirbnbPricing('LISTING_ID', {
  type: 'standard',
  settings: { default_daily_price: 250 },
})

// Send a message
await repull.channels.sendAirbnbMessage('THREAD_ID', { message: 'Welcome!' })

// AI: generate guest response
const ai = await repull.ai.respondToGuest('Guest asks about early check-in')
```

## API Base URL

`https://api.repull.dev`

## Authentication

```
Authorization: Bearer sk_test_YOUR_KEY
```

## MCP Server

Add to Claude Desktop / Cursor:
```json
{
  "mcpServers": {
    "repull": {
      "command": "npx",
      "args": ["@repull/mcp-server"],
      "env": {
        "REPULL_API_KEY": "sk_test_YOUR_KEY",
        "REPULL_WORKSPACE_ID": "YOUR_WORKSPACE_ID"
      }
    }
  }
}
```

18 tools available: list_properties, get_property, list_reservations, get_reservation, create_reservation, update_reservation, list_availability, update_availability, list_reviews, get_quote, sync_to_airbnb, sync_to_booking, list_connections, airbnb_listing_action, ai_chat, and more.

## Key Endpoints

### Data API
- `GET /v1/properties` — list all properties
- `GET /v1/reservations` — list reservations (filter by platform, status, dates)
- `POST /v1/ai` — AI operations (chat, respond-to-guest, classify-intent, generate-listing)

### Channel Manager
- `POST /v1/channels/airbnb/listings` — create Airbnb listing
- `PUT /v1/channels/airbnb/listings/:id/pricing` — update pricing
- `POST /v1/channels/airbnb/sync` — bulk sync to Airbnb
- `POST /v1/channels/booking/properties` — create Booking.com property
- `POST /v1/channels/booking/sync` — bulk sync to Booking.com

### Connections
- `GET /v1/connect` — list all connections
- `POST /v1/connect/:provider` — connect to a platform

## Supported Platforms

PMS: Hostaway, Guesty, OwnerRez, Smoobu, Beds24, iGMS, Hospitable, Lodgify, BookingSync
OTA: Airbnb, Booking.com, VRBO, Plumguide

## Links

- Docs: https://repull.dev/docs
- API Reference: https://repull.dev/docs/api/introduction
- Channel Manager: https://repull.dev/docs/channels/introduction
- OpenAPI: https://api.repull.dev/openapi.json
- llms.txt: https://repull.dev/llms.txt
