Application API Key for multi-company marketplace integration

Hello,

I’m Leopold, founder of Spontano, a marketplace for short-notice leisure activities in Germany.

We have reviewed the SimplyBook.me API documentation and found the getApplicationToken(applicationApiKey) method, which mentions an Application API Key.

Our goal is to build one reusable SimplyBook.me integration for Spontano that can connect multiple independent SimplyBook.me businesses.

Ideally, the flow would be:

Provider connects SimplyBook.me to Spontano → authorizes access → Spontano can read services and real-time availability and create bookings in that provider’s SimplyBook.me account.

Could you please clarify:

  • Can an Application API Key be used for this multi-company / marketplace use case?
  • How does an individual SimplyBook.me business authorize Spontano?
  • Is there an OAuth or similar authorization flow?
  • Or does every business need to enable the API Custom Feature and provide us with its individual API key?
  • Can we create, modify and cancel bookings through this setup?
  • Are webhooks available for booking and availability changes?

We are currently launching our first pilot in Munich and are evaluating SimplyBook.me as one of our reusable booking-system integrations.

Thank you very much.

Best regards
Leopold Heid

Hi Leopold,

Thank you for the detailed description of your use case. Short answer: yes, SimplyBook.me supports multi-company integrations like Spontano. You don’t need to collect a separate API key from each business manually.

Before going into details, one more option may actually suit Spontano better than the per-business connection flow described below: our Cluster (Enterprise) solution with its Cluster API. A cluster is a parent account that manages many SimplyBook.me businesses from one place. It’s designed for platforms, networks and partners who work with a large number of businesses. With a cluster you can:

  • create and onboard new businesses under your cluster, or copy a pre-configured business as a template;
  • manage their plans and billing centrally;
  • access each business’s admin area and booking statistics;
  • through the Cluster API, list all businesses in your cluster and get a REST API access token for any of them with a single API call. There’s no separate authorization step for each provider. A business only needs to allow cluster API access in its settings.

With a cluster API token you get full access to the business’s REST API: services, availability, bookings and webhooks (see points 4 and 5). If you plan to onboard many providers and manage them as part of your marketplace, this is probably the most efficient setup. If your providers are fully independent businesses that manage their own SimplyBook.me accounts and subscriptions, the connection flow below may fit better. We’re happy to help you choose.

In addition to clusters, we also have another API for partners:

  1. Application API Key / multi-company access

getApplicationToken() belongs to our legacy JSON-RPC API. For a new marketplace integration we recommend the REST API together with an account-connection flow (see below). This is the same approach other partners already use to connect multiple SimplyBook.me businesses to their platforms.

  1. How a business authorizes Spontano

We offer several API options for partner integrations. Which one fits depends on the partnership terms and your technical needs. One of them is an OAuth-style “Connect your SimplyBook.me account” flow:

  1. The provider clicks “Connect SimplyBook.me” in Spontano and is redirected to their SimplyBook.me admin authorization page, with your redirect_uri.
  2. They log in to their SimplyBook.me account and approve access for your platform.
  3. SimplyBook.me redirects back to your redirect_uri with an authorization code, the company login and a session id. For security, a one-time confirmation code is also sent to the account owner’s email.
  4. Your backend exchanges these for an access token and a refresh token through the REST API (/admin/auth/2fa). You then use /admin/auth/refresh-token to keep the connection alive.

Tokens are issued per company, so each provider controls their own connection. Providers who don’t have a SimplyBook.me account yet can also be registered directly from your platform through our partner company registration API. This requires a partner key, which we issue on request. Example: SimplyBook Company Creation API Documentation

Please note this is not a standard OAuth 2.0 client_id/client_secret setup, but in practice the flow is very similar. Once we agree on the best option for Spontano, we’ll send you the exact authorization URL and parameters.

  1. Is the API Custom Feature required?

No, not for REST API access through this flow.

  1. Creating, modifying and cancelling bookings

Yes. With the company token (which you can obtain via one of the available methods described in point 2) you can:

  • read services, providers and available time slots;
  • create bookings (POST /admin/bookings);
  • modify bookings (PUT /admin/bookings/{id});
  • cancel bookings (DELETE /admin/bookings/{id}).

Standard per-company API rate limits apply.

  1. Webhooks

Yes. You can subscribe to webhooks through the REST API (/admin/webhooks). Events cover bookings (create, change, cancel, reminder/notify) and clients (new, changed, deleted), among others.

There is no dedicated webhook for availability or schedule changes. For real-time availability we recommend querying slots on demand, or re-checking availability after booking webhooks.

API documentation: API documentation | SimplyBook.me Online Scheduling

If you’re interested in moving forward with the integration, please reach out to us through a private channel, such as our live chat or support email, rather than this public thread. We’d be happy to discuss your requirements in more detail, walk you through the available partnership options, and share the technical details and credentials needed to get started.

Best regards,
Vitalii
SimplyBook.me Team

1 Like

Hi Vitalii,

Thank you for the detailed explanation — very helpful. For Spontano, the per-business Connect flow fits better than the Cluster option: our providers each run independent businesses and manage their own subscriptions, so we’d rather have them connect their own account than have us act as a parent account.

A couple of follow-up questions before we move forward:

  1. Does creating a booking via POST /admin/bookings require any fields we might not have for every user (e.g. phone number is fine on our side now, just double-checking there’s nothing else mandatory like an address or similar)?
  2. Does the API support collecting a payment or deposit at booking time, or is payment handling entirely outside the API (i.e. something the provider would need to arrange separately, e.g. on-site)?
  3. Could you point us to the exact authorization URL and parameters for the Connect flow, and let us know what’s needed on our side to get started (redirect URI registration, any partner key, etc.)?

Happy to continue this over live chat or email if that’s easier — let us know the best next step.

Best regards,
Leopold

Hi Leopold,

Thanks for the quick feedback. Here are the answers to your follow-up questions:

  1. Mandatory fields for POST /admin/bookings

The booking request itself only needs:

  • service_id
  • provider_id
  • start_datetime (end_datetime is calculated automatically if omitted)
  • client_id

The booking is linked to a client, so you first create or find the client through /admin/clients, then pass their client_id.

Which client and booking fields are mandatory depends on each provider’s settings, not on the API:

  • Client contact fields: each business chooses whether email, phone, or both are required. Name is always required.
  • Client custom fields: some businesses add extra fields and may mark them as required. You can read the configuration through /admin/clients/fields.
  • Intake form (additional booking fields): if a business uses this feature, it can have required per-service fields such as an address or notes. You can read these before booking, and the API returns a clear validation error per field if something is missing.

Since every provider configures this individually, we recommend reading these settings when a provider connects and mapping them on your side.

  1. Payments / deposits

Payments are processed through the provider’s own payment setup in SimplyBook.me (e.g. Stripe, PayPal and other supported processors), and the funds go directly to the provider. Through the API you can:

  • work with orders/invoices through /admin/invoices;
  • get a payment link for an order (GET /admin/invoices/{id}/payment-link) and redirect your customer to it to pay online, or have it sent by email/SMS (/send-payment-link);
  • register a payment made outside SimplyBook.me when creating a booking (accept_payment together with payment_processor), for example if you collect the payment on your side.

We’re happy to discuss the best payment setup for your case in more detail.

  1. Authorization URL and getting started

Please reach out via live chat or email support@simplybook.me with:

From there, we’ll put you in touch with an account manager to go through the integration steps and next actions in more detail.

Best regards,
Vitalii
SimplyBook.me Team