---
title: "apaleo MCP server for AI agents - actionlake"
description: "Give Claude 275 apaleo actions through one MCP server: booking, finance, rateplan, settings. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/apaleo
updated: 2026-10-23
---

Connectors · Work & projects

# apaleo MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to apaleo and the rest of your systems. It gives your agent 275 apaleo actions (117 reads, 114 writes and 44 that wait for a confirmation) and holds the apaleo credential itself, so the agent never does. It paces apaleo's limits and records every call.

[Connect apaleo free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "apaleo.invoices.list",
  intent: "check which apaleo account is connected"
}
# Gets the list of all invoices (the metadata only, not the files). · read · 1 upstream call
```

- 275 actions in one signed file
- 117 read look, never change
- 114 write create and update
- 44 wait for a yes destructive, confirmed first

Set up

## Connect apaleo in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect apaleo.
   OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `client_id` apaleo client ID of a simple client (client credentials): apaleo app > Settings > Connected apps > Add simple…
   - `client_secret` The simple client's secret, shown once when the client is created
   ```
   account { op: "connections.requirements", service: "apaleo" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "apaleo.invoices.list" }
   # gets the list of all invoices (the metadata only, not the files). · read · 1 upstream call
   check { action: "apaleo.invoices.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

apaleo at a glance

**Sign-in**

OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in.

**You provide**

`client_id` `client_secret`

**Limits we pace to**

10 calls a second, per connection

**API covered**

Apaleo REST API v1 (ten Swagger 2.0 documents)`api.apaleo.com`

**Built from**

apaleo's documentation, read 23 October 2026[api.apaleo.com](https://api.apaleo.com/swagger/account-v1/swagger.json) [api.apaleo.com](https://api.apaleo.com/swagger/availability-v1/swagger.json) [api.apaleo.com](https://api.apaleo.com/swagger/booking-v1/swagger.json)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

111 of 117 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

3, so ask can line apaleo up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in apaleo.

275 actions in 10 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **117** read look, never change
- **114** write create and update
- **44** destructive wait for a confirmation

1. ### Booking
   75
   24 read · 40 write · 11 destructive
   Returns a list of authorizations based on the query parameters · Creates the authorization based on an existing pre-authorization created prior directly with the payment service provider · Creates a link to a payment form that allows guests to complete the authorization · Creates authorization by using a previously created payment account
2. ### Finance
   62
   28 read · 20 write · 14 destructive
   Gets the list of all invoices (the metadata only, not the files). · Creates an invoice for one specific folio. · Gets invoice data. · Get a list of payments.
3. ### Rateplan
   43
   18 read · 17 write · 8 destructive
   Get a list of companies · Create a company · Get a company · Delete a company
4. ### Settings
   33
   16 read · 13 write · 4 destructive
   Get all capture policies. · Create a city tax. · Get all city taxes. · Get invoice addresses
5. ### Inventory
   31
   12 read · 14 write · 5 destructive
   Get a properties list · Creates a property · Get a property · Create a unit group
6. ### Operations
   9
   3 read · 5 write · 1 destructive
   Create a new maintenance window · Get list of maintenances · Create multiple maintenances · Returns number of maintenances
7. ### Availability
   7
   5 read · 2 write · 0 destructive
   Get house-level overbooking for a given property. · Get a list of all available units for a reservation · Get a list of all available services in a property · Get a list of all available unit groups in a property
8. ### Account
   6
   2 read · 3 write · 1 destructive
   Creates an account with an admin user. · Returns all accounts. · Move the account to live. · Returns the current account.

**2 more areas · 9 actions**

- Reports **5**
- Logs **4**

Top actions

## The apaleo API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 15 of apaleo's 15 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `apaleo.invoices.list` Gets the list of all invoices (the metadata only, not the files). | Gets the list of all invoices (the metadata only, not the files). | read | `finance.invoice.list` 101 connectors |
| `apaleo.companies.list` Get a list of companies | Get a list of companies. | read | `crm.company.list` 162 connectors |
| `apaleo.inventory_properties.list` Get a properties list | Get a properties list. | read | `crm.location.list` 48 connectors |
| `apaleo.invoices.create` Creates an invoice for one specific folio. | Creates an invoice for one specific folio. | write | `finance.invoice.create` 74 connectors |
| `apaleo.companies.create` Create a company | Create a company. | write | `crm.company.create` 142 connectors |
| `apaleo.inventory_properties.create` Creates a property | Creates a property. | write | `crm.location.create` 41 connectors |
| `apaleo.folios_payments.list` Get a list of payments. | Get a list of payments. | read | `finance.payment.list` 75 connectors |
| `apaleo.companies.delete` Delete a company | Delete a company. | destructive | `crm.company.delete` 119 connectors |
| `apaleo.folios_payments.create` Trigger a custom payment for the folio. | Trigger a custom payment for the folio. | write | `finance.payment.create` 67 connectors |
| `apaleo.folios_refunds.list` Get a list of refunds. | Get a list of refunds. | read | `finance.refund.list` 23 connectors |
| `apaleo.folios_refunds.get` Get a refund by ID. | Get a refund by ID. | read | `finance.refund.get` 25 connectors |
| `apaleo.blocks.list` Returns a list of blocks | Returns a list of blocks. | read | this connector |

Try it

## Prompts to paste into Claude.

Each one names the apaleo actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Which apaleo invoices are more than 30 days overdue? Group them by customer with the total owed.
   calls `apaleo.invoices.list`
2. Write write
   Creates an invoice for one specific folio in apaleo. Show me exactly what you will send before you save it.
   calls `apaleo.invoices.create`
3. Across systems read
   For each customer, how many invoices are in apaleo and how many tickets in ConnectWise PSA?
   calls `apaleo.invoices.list` `connectwise_manage.tickets.list`

Across your systems

## apaleo, joined to the rest of your business.

One `ask` fetches from apaleo and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

- For each customer, how many invoices are in apaleo and how many tickets in ConnectWise PSA?
  `apaleo.invoices.list` + `connectwise_manage.tickets.list`, on `crm.company` · [ConnectWise PSA](https://actionlake.com/connectors/connectwise-psa)
- For each customer, how many invoices are in apaleo and how many tickets in HubSpot CRM?
  `apaleo.invoices.list` + `hubspot_crm.tickets.list`, on `crm.company` · [HubSpot CRM](https://actionlake.com/connectors/hubspot-crm)

Also mapped by other connectors `crm.company` **227** `finance.invoice` **91** `crm.location` **49**

ask

```
ask {
  intent: "for each customer, how many invoices are in apaleo and how many tickets in ConnectWise PSA",
  steps: [
    { action: "apaleo.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 },
    { action: "connectwise_manage.tickets.list", as: "tix", input: {}, limit: 100, max_pages: 5 },
    { join: {
        left: "inv",
        right: "tix",
        on: "crm.company",
        group_by: "inv.company_name",
        select: ["inv.company_name", "count(inv.id) as invoices", "count(tix.id) as tickets"]
    } }
  ]
}
```

Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for apaleo

## Destructive actions wait for a yes.

44 apaleo actions are destructive. The first 10:

- Delete a company `apaleo.companies.delete`
- Delete a specific block `apaleo.blocks.delete`
- Deletes a folio. `apaleo.folios.delete`
- Delete a certain group booking `apaleo.groups.delete`
- Delete a city tax `apaleo.city_tax.delete`
- Delete a routing. `apaleo.routings.delete`
- Delete a rate plan `apaleo.rate_plans.delete`
- Marks an invoice as paid. `apaleo.invoice_actions.pay`
- Delete a maintenance `apaleo.maintenances.delete`
- Delete a custom sub-account `apaleo.sub_accounts.delete`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do apaleo.companies.delete confirm_policy: **human**

Delete a company?

**intent:** the user asked me to delete a company

run suspended · waiting for a named person · key _apaleo-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "apaleo-agent",
  allowed_actions: ["apaleo.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "apaleo.companies.delete", approver: "lead@example.com" },
    { match: "apaleo.blocks.delete", approver: "lead@example.com" },
    { match: "apaleo.folios.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to apaleo only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What apaleo costs on actionlake.

Every apaleo action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call apaleo refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 275 apaleo actions
- 275 actions page each page of a long list is one call
- 111 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every apaleo action.

275 actions by area: the id your agent calls, what it does, and its effect.

**Booking 75**

- `apaleo.authorization_actions.cancel` Cancels the authorization destructive
- `apaleo.authorization_actions.expire_payment_link` Expires the pending payment link with the payment provider and updates the status to Expired destructive
- `apaleo.authorization_actions.refresh` Updates the requested amount and extends the expiry date of the authorization write
- `apaleo.authorizations.get` Returns a single authorization by ID read
- `apaleo.authorizations.list` Returns a list of authorizations based on the query parameters read
- `apaleo.authorizations_by_authorization.create` Creates the authorization based on an existing pre-authorization created prior directly with the payment service provider write
- `apaleo.authorizations_by_link.create` Creates a link to a payment form that allows guests to complete the authorization write
- `apaleo.authorizations_by_payment_account.create` Creates authorization by using a previously created payment account write
- `apaleo.authorizations_by_terminal.create` Creates the authorization by using the terminal write
- `apaleo.block_actions.amend` Allow to modify a block write
- `apaleo.block_actions.cancel` Cancel a block. destructive
- `apaleo.block_actions.confirm` Confirm a block. write
- `apaleo.block_actions.cutoff_optional` Apply the optional cutoff behavior for a block whose cutoff has been reached. write
- `apaleo.block_actions.release` Release a block. write
- `apaleo.block_actions.set_to_optional` Set a block to optional. write
- `apaleo.block_actions.start_optional` Convert an optional block to tentative when its booking window opens. write
- `apaleo.block_actions.wash` Wash a block. destructive
- `apaleo.blocks.count` Returns number of blocks read
- `apaleo.blocks.create` Creates a block write
- `apaleo.blocks.delete` Delete a specific block destructive
- `apaleo.blocks.get` Returns a specific block. read
- `apaleo.blocks.list` Returns a list of blocks read
- `apaleo.blocks.update` Allows to modify certain block properties write
- `apaleo.bookings.create` Creates a booking for one or more reservations. write
- `apaleo.bookings.create_force` Creates a booking for one or more reservations regardless of availability or restrictions. write
- `apaleo.bookings.get` Returns a specific booking. read
- `apaleo.bookings.list` Returns a list of all bookings, filtered by the specified parameters. read
- `apaleo.bookings.update` Allows to modify certain booking properties write
- `apaleo.bookings_reservations.create` Add one or multiple reservations to an existing booking. write
- `apaleo.bookings_reservations.create_force` Add one or multiple reservations to an existing booking regardless of availability or restrictions. write
- `apaleo.groups.count` Returns number of group bookings read
- `apaleo.groups.create` Creates a group booking. write
- `apaleo.groups.delete` Delete a certain group booking destructive
- `apaleo.groups.get` Returns a specific group booking. read
- `apaleo.groups.list` Returns a list of all group bookings, filtered by the specified parameters. read
- `apaleo.groups.update` Allows to modify certain group booking properties write
- `apaleo.groups_reservations.create` Add one or multiple reservations to an existing group booking using blocked inventory. write
- `apaleo.offer_index.list` Returns offers with rates and availabilities for the specified range. read
- `apaleo.offers.list` Returns offers for one specific stay. read
- `apaleo.payment_account_actions.cancel` Sets payment account status to Canceled destructive
- `apaleo.payment_account_actions.expire_payment_link` Expires the pending payment link with the payment provider and updates the status to Expired destructive
- `apaleo.payment_accounts.get` Returns a single payment account by ID read
- `apaleo.payment_accounts.list` Returns a list of payment accounts based on the query parameters read
- `apaleo.payment_accounts_by_authorization.create` Creates payment account based on an existing authorization created prior externally with the Payment Service Provider write
- `apaleo.payment_accounts_by_link.create` Creates a link to a payment form that allows guests to complete the payment account write
- `apaleo.payment_accounts_by_stored_payment_method.create` Creates payment account based on an existing authorization created prior externally with the Payment Service Provider write
- `apaleo.payment_accounts_by_terminal.create` Creates payment account by using the terminal write
- `apaleo.rate_plan_offers.list` Returns offers for a specific rate plan. read
- `apaleo.reservation_actions.add_city_tax` Adds the city tax to a reservation. write
- `apaleo.reservation_actions.amend` Allows you to amend the stay details of a reservation write
- `apaleo.reservation_actions.amend_force` Allows you to amend the stay details of a reservation regardless of availability or restrictions. write
- `apaleo.reservation_actions.assign_specific_unit` Assign a specific unit to a reservation. write
- `apaleo.reservation_actions.assign_unit` Assign a unit to a reservation. write
- `apaleo.reservation_actions.book_service` Book the service for a specific reservation. write
- `apaleo.reservation_actions.book_service_force` Book the service for a specific reservation regardless of availability. write
- `apaleo.reservation_actions.cancel` Cancel a reservation. destructive
- `apaleo.reservation_actions.checkin` Check-in of a reservation. write
- `apaleo.reservation_actions.checkout` Check-out of a reservation. write
- `apaleo.reservation_actions.lock_unit` Lock unit assignment for a reservation. write
- `apaleo.reservation_actions.noshow` Set a reservation to No-show. destructive
- `apaleo.reservation_actions.remove_city_tax` Removes the city tax from a reservation. write
- `apaleo.reservation_actions.revert_checkin` Reverses the check-in of a reservation. write
- `apaleo.reservation_actions.unassign_units` Unassign units from a reservation. write
- `apaleo.reservation_actions.unlock_unit` Unlock unit assignment for a reservation. write
- `apaleo.reservations.count` Returns the number of reservations fulfilling the criteria specified in the parameters. read
- `apaleo.reservations.get` Returns a specific reservation. read
- `apaleo.reservations.list` Returns a list of all reservations, filtered by the specified parameters. read
- `apaleo.reservations.update` Allows to modify certain reservation properties write
- `apaleo.reservations_offers.list` Returns offers for one specific reservation. read
- `apaleo.reservations_service_offers.list` Returns service offers for one specific reservation. read
- `apaleo.reservations_services.delete` Removes a service from a reservation. destructive
- `apaleo.reservations_services.list` Returns the services booked for a specific reservation. read
- `apaleo.service_offers.list` Returns service offers for one specific stay. read
- `apaleo.types_allowed_values.list` Returns a list of values that a field of the specified type can take in the specified country. read
- `apaleo.types_sources.list` Returns a list of supported sources. read

**Finance 62**

- `apaleo.external_accounts.list` Returns a list of external accounts. read
- `apaleo.finance_accounts.get` Returns one account. read
- `apaleo.finance_accounts_aggregate.query` Aggregates transactions by timestamp for all accounts and a given period. read
- `apaleo.finance_accounts_aggregate_daily.query` Aggregates transactions by date (business day) for all accounts and a given period. read
- `apaleo.finance_accounts_aggregate_pairs_daily.query` Aggregates transactions pairs by date (business day) for all accounts and a given period. read
- `apaleo.finance_accounts_child_accounts.list` Returns a list of child accounts for a specified parent account. read
- `apaleo.finance_accounts_export.query` Returns transactions filtered by timestamp for a property for a given period. read
- `apaleo.finance_accounts_export_daily.query` Returns transactions filtered by date (business day) for a property for a given period. read
- `apaleo.finance_accounts_export_gross_daily.query` Returns gross transactions filtered by date (business day) for a property for a given period. read
- `apaleo.finance_accounts_schema.get` Returns the chart of accounts of the subledger. read
- `apaleo.folio_actions.allowances` Posts an allowance for a folio write
- `apaleo.folio_actions.bulk_allowances` Posts allowances for a folio write
- `apaleo.folio_actions.bulk_move` Move multiple charges from one folio to another. Multiple source folios and multiple target folios can be specified. write
- `apaleo.folio_actions.cancellation_fee` Adds and directly posts a cancellation fee to the folio. If there are any fees configured for the property, an additional charge for each configured fee will be added. If a routing instruction is def… write
- `apaleo.folio_actions.charges` Adds and directly posts a charge to the folio. If there are any fees configured for the property, an additional charge for each configured fee will be added. destructive
- `apaleo.folio_actions.charges_allowances` Posts an allowance for a charge destructive
- `apaleo.folio_actions.charges_split` Splits a charge into two using the percent or amount provided Creates an allowance and two new charges. destructive
- `apaleo.folio_actions.close` Closes a folio. write
- `apaleo.folio_actions.correct` Corrects a folio by moving some charges. This operation creates a new folio with the charges from the request. The payment, equal to the sum of charges, is also split to this new folio so that both f… write
- `apaleo.folio_actions.move_all_charges` Move all charges and transitory charges from one folio to another. destructive
- `apaleo.folio_actions.move_charges` Move multiple charges, allowances and transitory charges from one folio to another. destructive
- `apaleo.folio_actions.move_payments` Move multiple payments from one guest/booking folio to another. write
- `apaleo.folio_actions.no_show_fee` Adds and directly posts a no-show fee to the folio. If there are any fees configured for the property, an additional charge for each configured fee will be added. If a routing instruction is defined… write
- `apaleo.folio_actions.payments_split` Splits a payment into two using the percent or amount provided Creates a refund and two new payments. write
- `apaleo.folio_actions.post_charges` Posts all unposted charges for the whole length of stay. destructive
- `apaleo.folio_actions.reopen` Reopens a folio. write
- `apaleo.folio_actions.transitory_charges` Adds and directly posts a transitory charge to the folio. If there are any fees configured for the property, an additional charge for each configured fee will be added. destructive
- `apaleo.folios.count` Returns number of folios. read
- `apaleo.folios.create` Create additional folios for a reservation, or new external folios write
- `apaleo.folios.delete` Deletes a folio. destructive
- `apaleo.folios.get` Returns one folio. read
- `apaleo.folios.list` Returns a list of all folios. read
- `apaleo.folios.update` Allows to modify certain properties of a folio write
- `apaleo.folios_payments.cancel` Cancels a pending payment link. destructive
- `apaleo.folios_payments.create` Trigger a custom payment for the folio. write
- `apaleo.folios_payments.get` Get a payment by ID. read
- `apaleo.folios_payments.list` Get a list of payments. read
- `apaleo.folios_payments_by_authorization.create` Captures a specific amount from a pre-authorization and posts it to the folio. write
- `apaleo.folios_payments_by_link.create` Creates a link to a payment form where guests can pay. write
- `apaleo.folios_payments_by_payment_account.create` Trigger a payment using the payment account stored on the reservation or booking. write
- `apaleo.folios_payments_by_terminal.create` Trigger a payment on a card terminal for the folio. write
- `apaleo.folios_payments_refunds.create` Trigger a refund for a specific payment. destructive
- `apaleo.folios_refunds.create` Trigger a refund for the folio. destructive
- `apaleo.folios_refunds.get` Get a refund by ID. read
- `apaleo.folios_refunds.list` Get a list of refunds. read
- `apaleo.global_accounts.list` Returns a list of global accounts. read
- `apaleo.guest_accounts.list` Returns a list of guest accounts. read
- `apaleo.invoice_actions.cancel` Cancels an invoice destructive
- `apaleo.invoice_actions.pay` Marks an invoice as paid. destructive
- `apaleo.invoices.create` Creates an invoice for one specific folio. write
- `apaleo.invoices.get` Gets invoice data. read
- `apaleo.invoices.list` Gets the list of all invoices (the metadata only, not the files). read
- `apaleo.invoices_preview.get` Gets an invoice preview for one specific folio. read
- `apaleo.routings.create` Create a routing. write
- `apaleo.routings.delete` Delete a routing. destructive
- `apaleo.routings.get` Get a specific routing. read
- `apaleo.routings.list` Get all routings. read
- `apaleo.routings.update` Modify a routing. write
- `apaleo.types_currencies.list` Returns a list of all currencies. read
- `apaleo.types_payment_methods.list` Returns a list of all supported payment methods. read
- `apaleo.types_service_types.list` Returns a list of all supported service types. read
- `apaleo.types_vat.list` Returns a list of all VAT types. read

**Rateplan 43**

- `apaleo.age_categories.create` Create an age category write
- `apaleo.age_categories.delete` Delete an age category destructive
- `apaleo.age_categories.get` Get an age category read
- `apaleo.age_categories.list` Get an age category list read
- `apaleo.age_categories.update` Allows to modify properties of an age category write
- `apaleo.cancellation_policies.create` Create a cancellation policy. write
- `apaleo.cancellation_policies.delete` Delete a cancellation policy destructive
- `apaleo.cancellation_policies.get` Get a specific cancellation policy. read
- `apaleo.cancellation_policies.list` Get all cancellation policies. read
- `apaleo.cancellation_policies.update` Allows to modify properties of a cancellation policy write
- `apaleo.companies.create` Create a company write
- `apaleo.companies.delete` Delete a company destructive
- `apaleo.companies.get` Get a company read
- `apaleo.companies.list` Get a list of companies read
- `apaleo.companies.update` Modify a company write
- `apaleo.corporate_codes_codes.list` Returns a list of corporate codes. read
- `apaleo.no_show_policies.create` Create a no-show policy. write
- `apaleo.no_show_policies.delete` Delete a no-show policy destructive
- `apaleo.no_show_policies.get` Get a specific no-show policy. read
- `apaleo.no_show_policies.list` Get all no-show policies. read
- `apaleo.no_show_policies.update` Allows to modify properties of a no-show policy write
- `apaleo.promo_codes_codes.list` Returns a list of promo codes. read
- `apaleo.rate_plan_actions.archive` Archive a rate plan write
- `apaleo.rate_plans.count` Returns number of rate plans read
- `apaleo.rate_plans.create` Create a rate plan write
- `apaleo.rate_plans.delete` Delete a rate plan destructive
- `apaleo.rate_plans.delete_many` Delete multiple rate plans destructive
- `apaleo.rate_plans.get` Get a rate plan read
- `apaleo.rate_plans.list` Get a rate plan list read
- `apaleo.rate_plans.replace` Replace a rate plan write
- `apaleo.rate_plans.update` Allows to patch one or more rate plans write
- `apaleo.rate_plans_rates.count` Returns the number of rates for a specific rate plan within the specifed time range. read
- `apaleo.rate_plans_rates.delete` Deletes the rates for the rate plan destructive
- `apaleo.rate_plans_rates.list` Returns a list of rates. read
- `apaleo.rate_plans_rates.replace` Initializes and changes the rates for the rate plan. write
- `apaleo.rate_plans_rates.update` Allows to patch multiple rates of a single rate plan. write
- `apaleo.rateplan_services.count` Returns number of services. read
- `apaleo.rateplan_services.create` Create a service. write
- `apaleo.rateplan_services.delete` Delete a service destructive
- `apaleo.rateplan_services.get` Get a specific service. read
- `apaleo.rateplan_services.list` Get all services. read
- `apaleo.rateplan_services.update` Modify a service. write
- `apaleo.rates.update` Allows to patch the rates of multiple rate plans. write

**Settings 33**

- `apaleo.capture_policies.get` Get a specific capture policy. read
- `apaleo.capture_policies.list` Get all capture policies. read
- `apaleo.capture_policies.update` Allows to modify properties of a capture policy. write
- `apaleo.city_tax.create` Create a city tax. write
- `apaleo.city_tax.delete` Delete a city tax destructive
- `apaleo.city_tax.get` Get a specific city tax. read
- `apaleo.city_tax.list` Get all city taxes. read
- `apaleo.city_tax.update` Allows to modify city tax write
- `apaleo.features.get` Get feature settings for a property. read
- `apaleo.features.update` Allows to modify feature settings write
- `apaleo.invoice_address.list` Get invoice addresses read
- `apaleo.invoice_address.replace` Create or update invoice addresses for one or more properties. write
- `apaleo.invoice_address.update` Change fields in the invoice address of one or more properties. write
- `apaleo.languages.list` Get the language settings for the account read
- `apaleo.languages.replace` Replaces the language settings for the account write
- `apaleo.market_segments.count` Returns number of market segments. read
- `apaleo.market_segments.create` Create a market segment write
- `apaleo.market_segments.delete` Delete a market segment. destructive
- `apaleo.market_segments.get` Get a market segment. read
- `apaleo.market_segments.list` Returns a list of all market segments, filtered by the specified parameters. read
- `apaleo.market_segments.update` Allows to modify market segment. write
- `apaleo.properties_time_slice_definitions.create` Creates a time slice definition write
- `apaleo.properties_time_slice_definitions.delete` Delete a certain time slice definition destructive
- `apaleo.properties_time_slice_definitions.get` Get a specific time slice definition read
- `apaleo.properties_time_slice_definitions.list` Get time slice definitions read
- `apaleo.properties_time_slice_definitions.update` Modifies a specific time slice definition for the property write
- `apaleo.settings_properties.get` Get property settings read
- `apaleo.sub_accounts.count` Returns number of sub-accounts. read
- `apaleo.sub_accounts.create` Create a sub-account. write
- `apaleo.sub_accounts.delete` Delete a custom sub-account destructive
- `apaleo.sub_accounts.get` Returns one sub-account. read
- `apaleo.sub_accounts.list` Returns a list of all sub-accounts. read
- `apaleo.sub_accounts.update` Allows to modify the name of the sub-account. write

**Inventory 31**

- `apaleo.inventory_properties.count` Return total count of properties read
- `apaleo.inventory_properties.create` Creates a property write
- `apaleo.inventory_properties.delete` Deletes a property destructive
- `apaleo.inventory_properties.get` Get a property read
- `apaleo.inventory_properties.list` Get a properties list read
- `apaleo.inventory_properties.update` Allows to modify property write
- `apaleo.inventory_unit_groups.count` Returns number of unit groups read
- `apaleo.inventory_unit_groups.create` Create a unit group write
- `apaleo.inventory_unit_groups.delete` Delete a unit group destructive
- `apaleo.inventory_unit_groups.get` Get a unit group read
- `apaleo.inventory_unit_groups.list` Get all unit groups, or all unit groups for a property read
- `apaleo.inventory_unit_groups.replace` Replace a unit group write
- `apaleo.inventory_units.count` Returns number of units read
- `apaleo.inventory_units.create` Create a unit write
- `apaleo.inventory_units.delete` Delete a unit destructive
- `apaleo.inventory_units.get` Get a unit read
- `apaleo.inventory_units.list` Get a units list read
- `apaleo.inventory_units.update` Allows to patch unit write
- `apaleo.inventory_units.update_many` Allows to patch one or more units write
- `apaleo.property_actions.archive` Archive a property write
- `apaleo.property_actions.clone` Clones a property write
- `apaleo.property_actions.reset` Reset a test property and delete all transactional data destructive
- `apaleo.property_actions.set_live` Move property to live write
- `apaleo.types_countries.list` Returns a list of supported countries. read
- `apaleo.unit_actions.archive` Archive a unit write
- `apaleo.unit_attributes.create` Create a unit attribute write
- `apaleo.unit_attributes.delete` Deletes unit attribute destructive
- `apaleo.unit_attributes.get` Get unit attribute by id read
- `apaleo.unit_attributes.list` Get unit attribute list read
- `apaleo.unit_attributes.update` Allows to modify unit attribute write
- `apaleo.units_bulk.create` Create multiple units write

**Operations 9**

- `apaleo.maintenances.count` Returns number of maintenances read
- `apaleo.maintenances.create` Create a new maintenance window write
- `apaleo.maintenances.delete` Delete a maintenance destructive
- `apaleo.maintenances.get` Get a specific maintenance read
- `apaleo.maintenances.list` Get list of maintenances read
- `apaleo.maintenances.update` Modify a maintenance write
- `apaleo.maintenances_bulk.create` Create multiple maintenances write
- `apaleo.night_audit.replace` Performs the night audit for one property. write
- `apaleo.units_condition.replace` Change the condition of a unit write

**Availability 7**

- `apaleo.availability_properties.get` Get house-level overbooking for a given property. read
- `apaleo.availability_properties.update` Allows to modify availability of a given property. write
- `apaleo.availability_reservations_units.list` Get a list of all available units for a reservation read
- `apaleo.availability_services.list` Get a list of all available services in a property read
- `apaleo.availability_unit_groups.list` Get a list of all available unit groups in a property read
- `apaleo.availability_unit_groups.update` Allows to modify the unit group availability write
- `apaleo.availability_units.list` Get a list of all available units in a property read

**Account 6**

- `apaleo.account_actions_current.set_live` Move the account to live. write
- `apaleo.account_actions_current.suspend` Suspend the account. destructive
- `apaleo.accounts.create` Creates an account with an admin user. write
- `apaleo.accounts.list` Returns all accounts. read
- `apaleo.accounts_current.get` Returns the current account. read
- `apaleo.accounts_current.replace` Replaces an existing account. write

**Reports 5**

- `apaleo.reports_arrivals.get` Returns the number of arrivals in a month for a property read
- `apaleo.reports_company_invoices_vat.list` Returns the list of company invoices with information on the company and the VAT breakdown read
- `apaleo.reports_ordered_services.list` List of ordered services read
- `apaleo.reports_property_performance.get` Returns the property performance report which includes the ADR and the RevPAR for each business day. read
- `apaleo.reports_revenues.get` Returns the revenues report for a property read

**Logs 4**

- `apaleo.logs_booking_reservation.list` Returns reservation change log entries sorted by the timestamp read
- `apaleo.logs_finance_folio.list` Returns folio change log entries sorted by the timestamp. read
- `apaleo.logs_finance_night_audit.list` Returns the night audit logs. read
- `apaleo.logs_finance_transactions_export.list` Returns the audit log for all accounting exports that have been done. read

Questions

## The apaleo MCP server, answered.

**Is there an apaleo MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 275 apaleo actions across booking, finance, rateplan and settings, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by apaleo.

**What do I need to connect apaleo?**

Apaleo client ID of a simple client (client credentials): apaleo app > Settings > Connected apps > Add simple… and The simple client's secret, shown once when the client is created. The free call account { op: "connections.requirements", service: "apaleo" } lists exactly what to paste.

**Can an AI agent delete or change things in apaleo?**

Only if its key allows it, and only with an explicit confirmation. 44 apaleo actions are destructive, including delete a company, delete a specific block and deletes a folio.. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my apaleo API limit?**

actionlake paces every call to the limits in the apaleo service file: 10 calls a second per connection. Repeated reads are answered from cache (111 apaleo actions can be), which never reaches apaleo.

**What does an apaleo action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (275 apaleo actions page). Cache hits, searches, dry runs and calls apaleo refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which apaleo API does it cover?**

The apaleo REST API v1 (ten Swagger 2.0 documents) at api.apaleo.com. It is built from apaleo's documentation as read on 23 October 2026. 275 actions in 10 areas, each one in the signed service file (version 1.0.0).

**Can I combine apaleo with my other systems?**

Yes. ask joins apaleo to ConnectWise PSA or HubSpot CRM on the same customer and returns the answer rather than every row. apaleo maps crm.company, which 227 other connectors also map.

**Does actionlake keep my apaleo data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your apaleo credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like apaleo

Shares the most action names with

- [ServiceTrade 13](https://actionlake.com/connectors/servicetrade)
- [Zuper 12](https://actionlake.com/connectors/zuper)
- [Clockify 7](https://actionlake.com/connectors/clockify)
- [Halaxy 4](https://actionlake.com/connectors/halaxy)
- [Elation Health 3](https://actionlake.com/connectors/elation-health)
- [Procore 2](https://actionlake.com/connectors/procore)

Joins with, on shared entities

- [HaloPSA 3](https://actionlake.com/connectors/halopsa)
- [Simpro 3](https://actionlake.com/connectors/simpro)
- [Zoho Books 3](https://actionlake.com/connectors/zoho-books)
- [ServiceTitan 3](https://actionlake.com/connectors/servicetitan)
- [HighLevel (LeadConnector) 3](https://actionlake.com/connectors/highlevel-leadconnector)
- [SuperOps RMM+PSA 3](https://actionlake.com/connectors/superops-rmm-psa)

Browse

- [All Work & projects connectors](https://actionlake.com/connectors/category/work-and-projects)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by apaleo; the name is the vendor's own. Counts are from the apaleo service file, version 1.0.0.

## Give your agent apaleo today.

[Connect apaleo free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/apaleo
More: https://actionlake.com/llms.txt
