canonical: https://jentic.com/apis/drive.api.cityrelaysolutions.com/drive-api-cityrelaysolutions

# Drive Api Cityrelaysolutions Opago API Documentation

The Opago API manages short-term rental operations for City Relay's property portfolio, handling guest bookings, flat records, housekeeping and maintenance services, and property issues. Agents can create and update bookings against individual flats, check whether dates overlap an existing reservation, schedule services and assign tasks to employees, and track issues by type. Reference-data endpoints return available cities, buildings, neighborhoods, hosts, and service types so bookings and services attach to the right location. Authentication uses a bearer access token retrieved from a login endpoint, with a separate refresh flow for expired tokens.

## For AI agents

Create and update guest bookings, schedule housekeeping and maintenance services, and log property issues for short-term rental flats. Covers 50 operations across bookings, flats, services, and issues.

## Scope

Does not handle payment processing, guest messaging, or channel distribution to listing sites. Use for short-term rental booking, service, and property operations only.

## Capabilities

- Create and update guest bookings against specific flats, including check-in and check-out information
- Check whether new booking dates overlap an existing reservation for a flat
- Schedule housekeeping and maintenance services for a flat and assign tasks to employees
- Log and update maintenance issues against a property using typed issue categories
- Retrieve upcoming bookings and bookings filtered by check-in or check-out date ranges
- Manage flat records, flat notes, and extra services across cities, buildings, and neighborhoods

## Use cases

### AI Agent Booking Operations

Let an AI agent manage short-term rental bookings end to end: it creates a booking against a flat, checks that the dates do not overlap an existing reservation, and updates check-in and check-out information as guests arrive and leave. Through Jentic the agent discovers the Opago operation it needs by intent and calls it with the right flat and booking identifiers, so reservation handling runs without a developer wiring each endpoint by hand.

Example prompt: Create a booking for flat 1024 with check-in 2026-11-01 and check-out 2026-11-05, confirm it does not overlap an existing booking, then set the check-in information

### Housekeeping and Service Scheduling

Property operations teams schedule cleaning and maintenance services for each flat and assign them to staff. The Opago API creates a service for a flat, assigns a task to an employee at the schedule level, and updates scheduled tasks or overtime requests as the day changes. Services attach to a flat and a service type drawn from the service-type and extra-service-type reference endpoints.

Example prompt: Create a cleaning service for flat 1024 due 2026-11-05, then assign the task to an available employee at the schedule level

### Maintenance Issue Tracking

When something breaks in a unit, the API logs a typed issue against the property and tracks it to resolution. Agents retrieve the list of issue types, create an issue with the relevant type, fetch an issue by ID, and update its details as the repair progresses. This keeps maintenance records attached to the specific flat rather than in a separate ticketing tool.

Example prompt: Retrieve the issue-types, create an issue for flat 1024 using the matching type, then update the issue with repair notes and status

### Flat and Reference Data Lookup

Before booking or servicing a unit, agents resolve the right property and location. The API lists flats by host or external ID, returns available promoted flats for rent, and exposes reference data for cities, buildings, neighborhoods, areas, and hosts. Flat notes capture unit-specific context, with typed note categories and editable comments.

Example prompt: Retrieve flats for host 55, pick an available promoted flat, and read its flat-notes before creating a booking

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/createBooking` | Create a new booking |
| PATCH | `/updateBooking` | Update an existing booking |
| DELETE | `/cancelBooking` | Cancel a booking |
| POST | `/checkIfBookingOverlaps` | Check if booking dates overlap existing bookings |
| POST | `/createService` | Create a new service |
| POST | `/createIssue` | Create a new issue |
| GET | `/getUpcomingBookings` | Retrieve upcoming bookings |
| POST | `/createFlat` | Create a new flat |

## Key resources

- **Bookings** — Create, update, cancel, and query bookings by flat, external ID, or check-in and check-out date ranges
- **Flats** — List and create flats, look them up by host or external ID, and manage flat notes
- **Services** — Create and update housekeeping and maintenance services and extra services for a flat
- **Tasks** — Assign tasks to employees at the schedule level and update scheduled tasks and overtime requests
- **Issues** — Log and update maintenance issues by type and retrieve them by ID
- **Reference data** — Retrieve service types, cities, areas, buildings, neighborhoods, and hosts

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 63 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 73 / 100
  - Developer Experience & Jentic Compatibility: 62 / 100
  - AI-Readiness & Agent Experience: 47 / 100
  - Agent Usability: 94 / 100
  - Security: 60 / 100
  - AI Discoverability: 73 / 100
- **View full report:** https://jentic.com/apis/drive.api.cityrelaysolutions.com/drive-api-cityrelaysolutions/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring Opago by hand means handling its bearer-token login and refresh flow, choosing the production or sandbox host, and threading access tokens through every call. Through Jentic you install once, import Opago from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** Opago carries flat and booking ids in the request body and query, not the URL path, so rules bound which operations your agent may call rather than which flat it touches. You choose the operations it needs, such as reading bookings and creating services, so destructive ones like cancelling a booking or deleting a flat-note are not included unless you add them.
- **Credential handling:** Your Opago access token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a booking' or 'schedule a cleaning service', and Jentic returns the matching Opago operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Smily (BookingSync) API** — Vacation rental management platform covering properties, bookings, and rates
- **OwnerRez API** — Short-term rental management with properties, bookings, and guest records
- **Cloudbeds API** — Hospitality property management for reservations, guests, and rooms
- **PropertyInspect API** — Property inspection and condition reporting that pairs with rental operations

## FAQ

### What authentication does the Opago API use?

The Opago API authenticates with a bearer access token per its OpenAPI spec. You retrieve an access_token and refresh_token from the login endpoint, send the access token as `Authorization: Bearer {access_token}` on every other call, and use the refresh endpoint to get a new token when it expires. Through Jentic the token is stored encrypted by your own Jentic One instance and injected at call time, so it never enters the agent's context.

### Can I check booking availability with the Opago API?

Yes. The check-overlap operation tells you whether a flat's requested dates overlap an existing reservation, and the booking query operations return upcoming bookings and bookings within check-in or check-out date ranges. Agents use these to confirm a unit is free before creating a booking.

### What are the rate limits for the Opago API?

The OpenAPI spec does not specify rate limits. Contact City Relay API support at antanas@cityrelay.com for current limits before running high-volume booking or service operations.

### Is there an Opago MCP server?

You don't need an MCP server to give your agent the Opago API. Jentic connects it directly from the API Directory: import it, store your access token once, and your agent calls operations like creating a booking or scheduling a service. Operations are discovered on demand, so no extra server's tool definitions sit in your agent's context.

### Can I limit what my agent is allowed to do with the Opago API?

Yes. Write a rule that allows only the operations the agent needs, such as reading bookings and creating services, so it can check availability and schedule work but cannot cancel bookings or delete flat-notes. Opago passes flat and booking ids in the request body, so rules bound which operations run rather than which flat, and every call the agent makes is logged.

### How do I create a booking with the Opago API through Jentic?

Search Jentic for 'create a short-term rental booking' to find the create-booking operation, then call it with the flat id and check-in and check-out dates after confirming the dates do not overlap an existing reservation. To run it on your own infrastructure, install Jentic One from its GitHub repo.
