Forum Discussion
Creation of bookings appointment leads to "UnknownError"
Hi All,
I struggle to create an appointment via graph api.
I set up an app registration, added user, role, permissions and gave admin consent. i can successfully use GET requests to
- create a bearer token
and use this token to
- get company info
- get existing appointments
- get the services of your shared booking calender etc.
but when I try to create a new appointment, i always get responses like this
{
"error": {
"code": "UnknownError",
"message": "",
"innerError": {
"date": "2026-04-24T19:18:44",
"request-id": "178521f3-3e06-4790-a399-bdeda1c3eea7",
"client-request-id": "178521f3-3e06-4790-a399-bdeda1c3eea7"
}
}
}
this is an example POST request (i removed all personal data) I want to send to:
https://graph.microsoft.com/v1.0/solutions/bookingBusinesses//appointments
important:
- the two customer questions I answered are mandatory, so i needed to fill add them to the request.
- also, I made the "additionalNote" mandatory in my service configuration.
- i added my staff ID to make sure, the problem is not about nobody being available.
for "start" and "end" i chose an appointment slot in which i am available, checked through our booking page.
unfortunately, this page does not really help.https://learn.microsoft.com/de-de/graph/api/bookingbusiness-post-appointments?view=graph-rest-1.0&tabs=http
{
"@odata.type": "#microsoft.graph.bookingAppointment",
"additionalInformation": "test",
"customerEmailAddress": "email address removed for privacy reasons",
"customerName": "markus",
"customerNotes": "Fernwartung, Outlook-Probleme",
"additionalNotes": "Fernwartung – Outlook synchronisiert nicht",
"customerPhone": "+4912345678",
"customers": [{"@odata.type": "microsoft.graph.bookingCustomerInformation"}],
"customerTimeZone": "Europe/Berlin",
"duration": "PT30M",
"start": {
"dateTime": "2026-04-27T14:00:00.0000000Z",
"timeZone": "Europe/Berlin"
},
"end": {
"dateTime": "2026-04-27T14:30:00.0000000Z",
"timeZone": "Europe/Berlin"
},
"filledAttendeesCount": 1,
"isCustomerAllowedToManageBooking": true,
"isLocationOnline": true,
"maximumAttendeesCount": 1,
"optOutOfCustomerEmail": true,
"priceType": "priceVaries",
"price": 0.0,
"serviceId": "<the correct service id>",
"serviceName": "30 Minuten Remoteunterstützung",
"serviceNotes": "servnotes",
"smsNotificationsEnabled": false,
"staffMemberIds": [
"<my correct staff id>"
],
"customerQuestionAnswers": [
{
"questionId": "9dde25ae-14fe-451d-9abd-e12532170a49",
"answer": "Remoteunterstützung"
},
{
"questionId": "10e2768c-4a0a-420e-ac93-da2ed25fc787",
"answer": "MS-Teams Konferenz"
}
]
}