Docs/Build with AI

SDKs

TL;DR

TypeScript: npm install @repull/sdk. Python: pip install repull. Both provide typed clients for all API endpoints. Go, Ruby, PHP SDKs coming soon.

Official SDKs for multiple languages. All follow the same pattern: initialize with your API key and workspace ID, then call resource methods that return typed responses.

TypeScript

The TypeScript SDK provides full type safety for every resource and method. Works in Node.js, Deno, and Bun.

npm install @repull/sdk
import Repull from '@repull/sdk'

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

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

for (const property of properties.data) {
  console.log(property.name, property.address.city)
}

// Get a single reservation
const reservation = await repull.reservations.get('res_abc123')
console.log(reservation.guest.name, reservation.checkIn, reservation.status)

Python

The Python SDK supports both sync and async usage. Requires Python 3.8+.

pip install repull
from repull import Repull

client = Repull(
    api_key="sk_live_YOUR_KEY",
    workspace_id="YOUR_WORKSPACE_ID",
)

# List reservations with filters
reservations = client.reservations.list(
    status="CONFIRMED",
    check_in_after="2025-06-01",
)

for res in reservations.data:
    print(f"{res.guest.name} — {res.check_in} to {res.check_out}")

# Async usage
import asyncio
from repull import AsyncRepull

async def main():
    client = AsyncRepull(api_key="sk_live_YOUR_KEY", workspace_id="YOUR_WORKSPACE_ID")
    properties = await client.properties.list()
    print(f"Found {len(properties.data)} properties")

asyncio.run(main())

CLI

The Repull CLI gives you terminal access to the full API. Authenticate once, then run commands directly.

npx @repull/cli login
# List properties
repull properties list

# Get a specific reservation
repull reservations get res_abc123

# List reservations with filters
repull reservations list --status CONFIRMED --limit 10

# Output as JSON for scripting
repull properties list --json | jq '.data[].name'

# Switch workspaces
repull config set workspace YOUR_WORKSPACE_ID

Go

Coming Soon
go get github.com/repull-api/repull-go

Ruby

Coming Soon
gem install repull

PHP

Coming Soon
composer require repull/sdk

GitHub Repositories

All SDKs are open source. Star and contribute on GitHub:

AI