Skip to content

Commit d97413d

Browse files
espenclaude
andcommitted
Fix spelling, inconsistencies, and bugs across API documentation
Correct factual errors (wrong HTTP method for user creation, wrong noun in event update, inverted ignore_capacity logic, singular webhook paths), fix spelling mistakes and grammar across endpoints/guides/changelog, standardize DateTime to Datetime, remove trailing slashes from listing URLs, update curl examples to use Bearer auth, add missing attributes to JSON examples and attribute tables, add date-handling examples, and add update endpoint for providers. Co-Authored-By: Claude <noreply@anthropic.com>
1 parent bdd11dc commit d97413d

21 files changed

Lines changed: 108 additions & 59 deletions

_endpoints/account.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ Response
122122

123123
## Users
124124

125-
Users who can login into the account.
125+
Users who can log in to the account.
126126

127127
### Attributes for user role on the account
128128

@@ -180,6 +180,6 @@ Response
180180

181181
`GET /client/users/{user_link_id}` will get a user with id `{user_link_id}`.
182182

183-
### Add new user
183+
## Add new user
184184

185-
`GET /client/users` will create a new user. An email is sent to the user so the user can specify their password.
185+
`POST /client/users` will create a new user. An email is sent to the user so the user can specify their password.

_endpoints/bookings.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ nav_order: 2
88
<table>
99
<tr><th>Name</th><th>Type</th><th>Description</th></tr>
1010
<tr><td>id</td><td>Integer</td><td>Automatically set</td></tr>
11-
<tr><td>created_at</td><td>DateTime</td><td>Automatically set</td></tr>
12-
<tr><td>updated_at</td><td>DateTime</td><td>Automatically set</td></tr>
11+
<tr><td>created_at</td><td>Datetime</td><td>Automatically set</td></tr>
12+
<tr><td>updated_at</td><td>Datetime</td><td>Automatically set</td></tr>
1313
<tr><td>service_id</td><td>Integer</td><td>Not required</td></tr>
1414
<tr><td>event_id</td><td>Integer</td><td>Not required</td></tr>
1515
<tr><td>resource_id</td><td>Integer</td><td>Required</td></tr>
@@ -19,9 +19,9 @@ nav_order: 2
1919
<tr><td>expires_at</td><td>Datetime</td><td>Not required</td></tr>
2020
<tr><td>title</td><td>String</td><td>Not required</td></tr>
2121
<tr><td>notes</td><td>Text</td><td>Not required</td></tr>
22-
<tr><td>reminder_at</td><td>DateTime</td><td>Not required</td></tr>
23-
<tr><td>reminded_at</td><td>DateTime</td><td>Not required</td></tr>
24-
<tr><td>paid_at</td><td>DateTime</td><td>Not required</td></tr>
22+
<tr><td>reminder_at</td><td>Datetime</td><td>Not required</td></tr>
23+
<tr><td>reminded_at</td><td>Datetime</td><td>Not required</td></tr>
24+
<tr><td>paid_at</td><td>Datetime</td><td>Not required</td></tr>
2525
<tr><td>external_id</td><td>String</td><td>Not required</td></tr>
2626
<tr><td>google_order_number</td><td>String</td><td>Not required</td></tr>
2727
<tr><td>custom_data</td><td>Array</td><td>Not required</td></tr>
@@ -77,11 +77,11 @@ See query parameters for filtering the output beyond the default outputs.
7777

7878
`GET /bookings/recent` will return all active bookings ordered based on updated_at.
7979

80-
`GET /bookings/upcoming` will return all active bookings from and including `{date}`.
80+
`GET /bookings/upcoming` will return all future active bookings.
8181

8282
`GET /bookings/unconfirmed` will return only unconfirmed bookings.
8383

84-
`GET /bookings/all` will return all bookings of all states (including `declined`, `cancelled`, `deleted`, and `verification_expired`). This is a useful output for syncronisation when you need to keep a track of deleted bookings.
84+
`GET /bookings/all` will return all bookings of all states (including `declined`, `cancelled`, `deleted`, and `verification_expired`). This is a useful output for synchronisation when you need to keep a track of deleted bookings.
8585

8686
`GET /bookings/visible` will return all active bookings as well as those declined or cancelled. This is the preferred output if you want to provide a list of all bookings for visual presentation.
8787

@@ -120,9 +120,9 @@ Response
120120
<tr><td>resource_id</td><td>Integer or array of integers</td><td></td></tr>
121121
<tr><td>person_id</td><td>Integer or array of integers</td><td></td></tr>
122122
<tr><td>external_id</td><td>String</td><td></td></tr>
123-
<tr><td>start</td><td>DateTime</td><td>booked_from after param</td></tr>
124-
<tr><td>end</td><td>DateTime</td><td>booked_to before param</td></tr>
125-
<tr><td>since</td><td>DateTime</td><td>updated_at after param</td></tr>
123+
<tr><td>start</td><td>Datetime</td><td>booked_from after param</td></tr>
124+
<tr><td>end</td><td>Datetime</td><td>booked_to before param</td></tr>
125+
<tr><td>since</td><td>Datetime</td><td>updated_at after param</td></tr>
126126
<tr><td>collection_id</td><td>UUID</td><td></td></tr>
127127
<tr><td>state</td><td>String or array of strings</td><td>See states</td></tr>
128128
<tr><td>status</td><td>String or array of strings</td><td>See statuses</td></tr>
@@ -162,7 +162,7 @@ These parameters are part of booking: `booking[public_booking]`.
162162

163163
### Additional parameters
164164

165-
These parameters are part not of `booking[]`: `confirm`.
165+
These parameters are not part of `booking[]`: `confirm`.
166166

167167
Outgoing messages requires person_id and service_id.
168168

@@ -171,7 +171,7 @@ Default action for outgoing messages is according to the settings for booking ve
171171
<table>
172172
<tr><th>Name</th><th>Type</th><th>Description</th></tr>
173173
<tr><td>confirm</td><td>Boolean</td><td>If set to false then the 'initiate verification' event is executed. If verification is required the state will be set to `awaiting_verification`. If no verification is required then the state will be set to `awaiting_confirmation` or `confirmed`.</td></tr>
174-
<tr><td>ignore_capacity</td><td>Boolean</td><td>Will force save the booking even though other bookings exists within the same time on the specified resource_id (double booking). Not applicable when `public_booking` is set to false (no double bookings allowed). Default: false.</td></tr>
174+
<tr><td>ignore_capacity</td><td>Boolean</td><td>Will force save the booking even though other bookings exists within the same time on the specified resource_id (double booking). Not applicable when `public_booking` is set to true (no double bookings allowed). Default: false.</td></tr>
175175
<tr><td>add_reminder_sms</td><td>Boolean</td><td>Automatically adds `reminder_at` based on setting from account attribute `sms_reminder_time`. Default: at 12PM the day before the appointment.</td></tr>
176176
<tr><td>add_messages</td><td>Boolean</td><td>Automatically generate messages based on message templates. (NOTE: Beta functionality available by invitation.)</td></tr>
177177
<tr><td>verification_send_email</td><td>Boolean</td><td>Send out verification email. Only applicable when `confirm` is set to false.</td></tr>

_endpoints/categories.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Services can be listed in a category. Categories can be presented like a tree. R
1919

2020
## Listing
2121

22-
`GET /categories/` will return all categories.
22+
`GET /categories` will return all categories.
2323

2424
Response
2525

_endpoints/coupons.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ nav_order: 10
3030

3131
## Listing
3232

33-
`GET /coupons/` will return all coupons.
33+
`GET /coupons` will return all coupons.
3434

3535
Response
3636

_endpoints/events.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Events
33
nav_order: 5
44
---
55

6-
Unlike appointments made through a normal service events starts and ends at a specific time. An event is connected to a resource and a service. It could be either a one-off event (e.q. a concert) or something that occurs multiple times (e.q. spinning class). Event bookings have a strong relation to the event. That means that it is not possible to modify details such as `{booked_from}`, `{booked_to}`, `{resource_id}` and `{service_id}` for the `{booking}`. To make such changes it must be done to the event. All bookings connected to the event will then automatically me modified.
6+
Unlike appointments made through a normal service events starts and ends at a specific time. An event is connected to a resource and a service. It could be either a one-off event (e.g. a concert) or something that occurs multiple times (e.g. spinning class). Event bookings have a strong relation to the event. That means that it is not possible to modify details such as `{booked_from}`, `{booked_to}`, `{resource_id}` and `{service_id}` for the `{booking}`. To make such changes it must be done to the event. All bookings connected to the event will then automatically be modified.
77

88
While events are connected to a resource bookings or capacity of an event are not restricted by the opening hours or availability of a resource.
99

@@ -21,12 +21,13 @@ While events are connected to a resource bookings or capacity of an event are no
2121
<tr><td>starts_at</td><td>Datetime</td><td>Required</td></tr>
2222
<tr><td>ends_at</td><td>Datetime</td><td>Required</td></tr>
2323
<tr><td>custom_data</td><td>Array</td><td>Not required</td></tr>
24+
<tr><td>title</td><td>String</td><td></td></tr>
2425
<tr><td>description</td><td>Text</td><td></td></tr>
2526
</table>
2627

2728
## Listing
2829

29-
`GET /events/` will return all events.
30+
`GET /events` will return all events.
3031

3132
Response
3233

@@ -57,9 +58,9 @@ Response
5758
<tr><th>Name</th><th>Type</th><th>Description</th></tr>
5859
<tr><td>service_id</td><td>Integer</td><td></td></tr>
5960
<tr><td>resource_id</td><td>Integer</td><td></td></tr>
60-
<tr><td>start</td><td>DateTime</td><td>starts_at after param</td></tr>
61-
<tr><td>end</td><td>DateTime</td><td>ends_at before param</td></tr>
62-
<tr><td>since</td><td>DateTime</td><td>updated_at after param</td></tr>
61+
<tr><td>start</td><td>Datetime</td><td>starts_at after param</td></tr>
62+
<tr><td>end</td><td>Datetime</td><td>ends_at before param</td></tr>
63+
<tr><td>since</td><td>Datetime</td><td>updated_at after param</td></tr>
6364
</table>
6465

6566
## Get event
@@ -72,7 +73,7 @@ Response
7273

7374
## Add recurring/multiple events
7475

75-
`POST /events/recurring` will create a multiple events.
76+
`POST /events/recurring` will create multiple events.
7677

7778
The recurrence format follows the [iCalendar specification](https://tools.ietf.org/html/rfc5545){:target="_blank"}. The attributes for recurrence are: `RRULE`, `RDATE`, `EXDATE`. For an introduction and examples of these parameters see [this section from the iCalendar specification](http://www.kanzaki.com/docs/ical/rrule.html){:target="_blank"}.
7879

@@ -103,11 +104,11 @@ You should always specify COUNT or UNTIL with RRULE. The max number of occurrenc
103104

104105
## Update event
105106

106-
`PUT /events/{event_id}` will update existing service with id `{event_id}`.
107+
`PUT /events/{event_id}` will update existing event with id `{event_id}`.
107108

108109
## Delete event
109110

110-
`DELETE /events/{event_id}` will delete existing event with id `{event_id}`. Deleting a event will set it to active=false and will not be returned in any listings.
111+
`DELETE /events/{event_id}` will delete existing event with id `{event_id}`. Deleting an event will set it to active=false and will not be returned in any listings.
111112

112113
## List bookings
113114

_endpoints/gift-cards.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ Response
3636
"value": 500,
3737
"valid_until": null,
3838
"active": true,
39+
"person_id": null,
40+
"purchased_by_person_id": 888,
3941
"custom_data": null,
4042
"created_at": "2026-03-26T10:00:00+02:00",
4143
"updated_at": "2026-03-26T10:00:00+02:00"

_endpoints/orders.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ The response includes nested `person` and `order_line_items`.
4646

4747
## Listing
4848

49-
`GET /orders` will return all orders.
49+
`GET /orders` will return all orders. Orders are read-only via the API.
5050

5151
Response
5252

_endpoints/people.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: People
33
nav_order: 3
44
---
55

6-
The primary key for a person is `id`. However the following fields are unique: `email`, `phonenumber`, `national_id_no` and `provider`+`uid`. There are no specific requirements for input but a person needs to have either name, email, national id number or phone number.
6+
The primary key for a person is `id`. However the following fields are unique: `email`, `phone_number`, `national_id_no` and `provider`+`uid`. There are no specific requirements for input but a person needs to have either name, email, national id number or phone number.
77

88
It is possible to give a person ability to book on behalf of other people. This is linked through the `parent_id` attribute.
99

@@ -52,9 +52,16 @@ Response
5252
"name": "Espen Antonsen",
5353
"national_id_no": null,
5454
"notes": null,
55-
"phonenumber": "",
56-
"updated_at": "2012-09-20T15:34:16+02:00",
57-
"phone_number_formatted": null
55+
"phone_number": "",
56+
"phone_number_formatted": null,
57+
"date_of_birth": null,
58+
"street": null,
59+
"city": null,
60+
"postal_code": null,
61+
"state": null,
62+
"country_code": null,
63+
"parent_id": null,
64+
"updated_at": "2012-09-20T15:34:16+02:00"
5865
}
5966
}
6067
]

_endpoints/providers.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Opening hours for a provider works in the same way as availability is defined on
2828

2929
## Listing
3030

31-
`GET /providers/` will return all providers.
31+
`GET /providers` will return all providers.
3232

3333
Response
3434

@@ -40,6 +40,13 @@ Response
4040
"id": 1,
4141
"resource_id": 1,
4242
"service_id": 1,
43+
"opening_hours_mon": null,
44+
"opening_hours_tue": null,
45+
"opening_hours_wed": null,
46+
"opening_hours_thu": null,
47+
"opening_hours_fri": null,
48+
"opening_hours_sat": null,
49+
"opening_hours_sun": null,
4350
"updated_at": "2012-09-20T15:34:16+02:00"
4451
}
4552
}
@@ -54,6 +61,10 @@ Response
5461

5562
`POST /providers` will create a new provider.
5663

64+
## Update provider
65+
66+
`PUT /providers/{provider_id}` will update existing provider with id `{provider_id}`.
67+
5768
## Delete provider
5869

5970
`DELETE /providers/{provider_id}` will delete existing provider with id `{provider_id}`.

_endpoints/resource-exception-dates.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ nav_order: 7
55

66
Opening hours for a resource is what is used to generate available slots for a service.
77
It is based on the default opening hours on the resource unless anything else is specified by a resource exception date.
8-
So ignore the poorly naming of the feature and treat it as opening hours on dates.
8+
So ignore the poor naming of the feature and treat it as opening hours on dates.
99
If a resource should be closed for a week then you would add resource exception dates.
1010
If a resource should have opening hours 08:00 to 14:00 on January 5th 2016 instead of the default opening hours for that weekday which could be 09:00 to 15:00, then add it as a resource exception date.
1111
See [resource opening hours](/endpoints/resources/#default-opening-hours) for how to specify.

0 commit comments

Comments
 (0)