Entwickler,Entwickler,Entwickler!
Alles in Makeplans gibt es auch in der API: REST und JSON, Webhooks für jede Änderung und ein MCP-Server für KI-Assistenten.
- REST + JSON
- Webhooks
- MCP
- iCal
- CSV
$ curl https://youraccount.makeplans.com/api/v1/services/42/slots?from=2026-11-19 \ -H 'Authorization: Bearer $MAKEPLANS_API_KEY' \ -H 'User-Agent: MyApp' \ -H 'Accept: application/json' [ { "slot": { "timestamp": "2026-11-19T10:30:00+01:00", "timestamp_end": "2026-11-19T11:30:00+01:00", "free": 1, "available_resources": [1, 2], "maximum_capacity": 2 } }, { "slot": { "timestamp": "2026-11-19T13:00:00+01:00", "timestamp_end": "2026-11-19T14:00:00+01:00", "free": 2, "available_resources": [1, 2], "maximum_capacity": 2 } } ] $ curl https://youraccount.makeplans.com/api/v1/bookings -X POST \ -H 'Authorization: Bearer $MAKEPLANS_API_KEY' \ -H 'User-Agent: MyApp' \ -H 'Accept: application/json' \ -d 'booking[service_id]=42' \ -d 'booking[resource_id]=1' \ -d 'booking[booked_from]=2026-11-19T10:30:00+01:00' \ -d 'booking[booked_to]=2026-11-19T11:30:00+01:00' { "booking": { "id": 1337, "state": "confirmed", "service_id": 42, "resource_id": 1, "booked_from": "2026-11-19T10:30:00+01:00", "booked_to": "2026-11-19T11:30:00+01:00" } }
curl https://youraccount.makeplans.com/api/v1/services/42/slots?from=2026-11-19 \ -H 'Authorization: Bearer $MAKEPLANS_API_KEY' \ -H 'User-Agent: MyApp' \ -H 'Accept: application/json'
[
{
"slot": {
"timestamp": "2026-11-19T10:30:00+01:00",
"timestamp_end": "2026-11-19T11:30:00+01:00",
"free": 1,
"available_resources": [1, 2],
"maximum_capacity": 2
}
},
{
"slot": {
"timestamp": "2026-11-19T13:00:00+01:00",
"timestamp_end": "2026-11-19T14:00:00+01:00",
"free": 2,
"available_resources": [1, 2],
"maximum_capacity": 2
}
}
]
# 10:30 is free. Book it.
curl https://youraccount.makeplans.com/api/v1/bookings -X POST \ -H 'Authorization: Bearer $MAKEPLANS_API_KEY' \ -H 'User-Agent: MyApp' \ -H 'Accept: application/json' \ -d 'booking[service_id]=42' \ -d 'booking[resource_id]=1' \ -d 'booking[booked_from]=2026-11-19T10:30:00+01:00' \ -d 'booking[booked_to]=2026-11-19T11:30:00+01:00'
{
"booking": {
"id": 1337,
"state": "confirmed",
"service_id": 42,
"resource_id": 1,
"booked_from": "2026-11-19T10:30:00+01:00",
"booked_to": "2026-11-19T11:30:00+01:00"
}
}
const api = "https://youraccount.makeplans.com/api/v1";
const headers = {
Authorization: `Bearer ${process.env.MAKEPLANS_API_KEY}`,
"User-Agent": "MyApp",
Accept: "application/json",
};
// Find the first free slot
const slots = await fetch(`${api}/services/42/slots?from=2026-11-19`, { headers })
.then((res) => res.json());
const { slot } = slots.find(({ slot }) => slot.free > 0);
// Book it
const booking = await fetch(`${api}/bookings`, {
method: "POST",
headers,
body: new URLSearchParams({
"booking[service_id]": "42",
"booking[resource_id]": String(slot.available_resources[0]),
"booking[booked_from]": slot.timestamp,
"booking[booked_to]": slot.timestamp_end,
}),
}).then((res) => res.json());
console.log(booking);
{
"booking": {
"id": 1337,
"state": "confirmed",
"service_id": 42,
"resource_id": 1,
"booked_from": "2026-11-19T10:30:00+01:00",
"booked_to": "2026-11-19T11:30:00+01:00"
}
}
require "net/http"
require "json"
API = "https://youraccount.makeplans.com/api/v1"
def makeplans(request)
request["Authorization"] = "Bearer #{ENV.fetch('MAKEPLANS_API_KEY')}"
request["User-Agent"] = "MyApp"
request["Accept"] = "application/json"
uri = request.uri
response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(request) }
JSON.parse(response.body)
end
# Find the first free slot
slots = makeplans(Net::HTTP::Get.new(URI("#{API}/services/42/slots?from=2026-11-19")))
slot = slots.map { |s| s["slot"] }.find { |s| s["free"] > 0 }
# Book it
post = Net::HTTP::Post.new(URI("#{API}/bookings"))
post.set_form_data(
"booking[service_id]" => 42,
"booking[resource_id]" => slot["available_resources"].first,
"booking[booked_from]" => slot["timestamp"],
"booking[booked_to]" => slot["timestamp_end"]
)
puts makeplans(post)
{
"booking": {
"id": 1337,
"state": "confirmed",
"service_id": 42,
"resource_id": 1,
"booked_from": "2026-11-19T10:30:00+01:00",
"booked_to": "2026-11-19T11:30:00+01:00"
}
}
import os
import requests
API = "https://youraccount.makeplans.com/api/v1"
session = requests.Session()
session.headers.update({
"Authorization": f"Bearer {os.environ['MAKEPLANS_API_KEY']}",
"User-Agent": "MyApp",
"Accept": "application/json",
})
# Find the first free slot
slots = session.get(f"{API}/services/42/slots", params={"from": "2026-11-19"}).json()
slot = next(s["slot"] for s in slots if s["slot"]["free"] > 0)
# Book it
booking = session.post(f"{API}/bookings", data={
"booking[service_id]": 42,
"booking[resource_id]": slot["available_resources"][0],
"booking[booked_from]": slot["timestamp"],
"booking[booked_to]": slot["timestamp_end"],
}).json()
print(booking)
{
"booking": {
"id": 1337,
"state": "confirmed",
"service_id": 42,
"resource_id": 1,
"booked_from": "2026-11-19T10:30:00+01:00",
"booked_to": "2026-11-19T11:30:00+01:00"
}
}
In wenigen Minuten startklar
API-Schlüssel holen
Aktivieren Sie die API unter Einstellungen → Integrationen → API und kopieren Sie Ihren Schlüssel.
Erste Anfrage senden
Senden Sie den Schlüssel als Bearer-Token. Jedes Objekt hat einen eigenen Endpunkt, alles in JSON.
Auf Änderungen reagieren
Richten Sie einen Webhook ein, und wir senden einen POST an Ihren Server, sobald sich Buchungen, Veranstaltungen oder Kunden ändern.
Zwei APIs
Öffentliche API
Kein Schlüssel nötig. Zeigen Sie Dienstleistungen und freie Zeiten an und starten Sie eine Buchung, direkt auf Ihrer Website.
https://youraccount.makeplans.com/
Private API
Voller Zugriff auf Ihr Konto per API-Schlüssel, für Ihr Backend und Ihre Integrationen. Der Schlüssel gehört nicht in öffentlichen Code.
https://youraccount.makeplans.com/api/v1/
Makeplans in Ihre interne Anwendung oder Website einbinden
Alle Funktionen von Makeplans stehen auch über die API zur Verfügung. Es ist eine REST-basierte API mit JSON. Wir können auch Webhooks senden.
Verbinden Sie Ihren KI-Assistenten (MCP)
Makeplans stellt einen MCP-Server bereit, damit KI-Assistenten wie Claude und ChatGPT mit Ihren Buchungen arbeiten können. Bitten Sie Ihren Assistenten, die Verfügbarkeit zu prüfen, einen Kunden nachzuschlagen oder Buchungen zu erstellen und zu stornieren – mit Ihren eigenen Makeplans-Zugangsdaten.
MCP (Model Context Protocol) ist ein offener Standard. Jeder Assistent oder Agent, der MCP spricht, kann sich verbinden – kein proprietäres Plugin, keine Abhängigkeit, ganz so, wie wir auch alles andere bauen.
Werkzeuge für Ihren Assistenten
find_available_slotslist_serviceslist_eventslist_bookingsget_bookingfind_customercreate_bookingcancel_booking
Claude Code mit einer Zeile verbinden
claude mcp add --transport http makeplans \ https://youraccount.makeplans.com/api/mcp \ --header "Authorization: Bearer $MAKEPLANS_API_KEY"
Mehr über unseren KI-Buchungsassistenten.
Webhooks für jede Änderung
Wird eine Buchung erstellt, bestätigt, verschoben oder storniert, senden wir sie per POST an Ihren Server, signiert mit HMAC SHA-256, damit Sie wissen, dass sie von uns stammt. Auch Zapier und Make können sie aufgreifen.
Anpassung der Standard-Buchungsseite
Die Standard-Buchungsseite lässt sich mit eigenem CSS anpassen. Außerdem können Sie mit der Template-Sprache Liquid Formulare und alle ausgehenden Nachrichten anpassen.
// Klicken Sie auf einen Wert, um ihn zu ändern
Integrierte Anbindungen
Makeplans bringt bereits eine ganze Reihe von Integrationen mit. Mehr dazu auf unserer Seite zu den Integrationen. Neben den direkten Integrationen sind wir auch an die Integrationsplattformen Zapier und Make angebunden, mit denen Sie andere Anwendungen ganz ohne Programmieren verbinden.
Datenexport
Buchungen, Kunden und Veranstaltungen können Sie jederzeit bequem als CSV-Datei herunterladen.
iCalendar-Feeds
Um Termine aus Makeplans in anderen Kalenderprogrammen anzuzeigen, bieten wir einen iCalendar-Feed an. Er funktioniert in Google Calendar, im Kalender von macOS und iOS, auf Android, in Outlook und in anderen Kalenderanwendungen.
Tiefer in die Dokumentation
Unsere API-Dokumentation finden Sie unter developer.makeplans.com.