curl --request PATCH \
--url https://app.tikk.chat/api/v1/services/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Discovery call",
"durations": [
{
"minutes": 45,
"price": 5000
}
]
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({title: 'Discovery call', durations: [{minutes: 45, price: 5000}]})
};
fetch('https://app.tikk.chat/api/v1/services/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.tikk.chat/api/v1/services/{id}"
payload = {
"title": "Discovery call",
"durations": [
{
"minutes": 45,
"price": 5000
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.tikk.chat/api/v1/services/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'title' => 'Discovery call',
'durations' => [
[
'minutes' => 45,
'price' => 5000
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"data": {
"type": "default",
"id": 48213,
"slug": "intro-call",
"title": "Intro call",
"description": "A first chat to see if we're a fit.",
"is_default": true,
"is_group": false,
"max_attendees": null,
"requires_approval": true,
"durations": [
{
"minutes": 30,
"price": null,
"currency": "EUR"
},
{
"minutes": 60,
"price": 7500,
"currency": "EUR"
}
],
"location": {
"type": "video",
"label": "Video Meeting",
"address": null
},
"embed_url": "https://tikk.chat/jane/intro-call"
}
}{
"message": "Unauthenticated."
}{
"message": "Missing required scope.",
"scopes": [
"services.write"
]
}{
"message": "Not found."
}{
"message": "A single-use service cannot be edited. Delete it and create a new one."
}{
"message": "The to field must be a date after or equal to from.",
"errors": {
"to": [
"The to field must be a date after or equal to from."
]
}
}{
"message": "Too Many Attempts."
}Edit a default service
Changes the fields you send on a default service and returns it. Fields
you leave out keep their value. durations and location are
replaced as a whole when sent.
A single-use service can’t be edited: delete it and create a new one.
Scope: services.write
curl --request PATCH \
--url https://app.tikk.chat/api/v1/services/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Discovery call",
"durations": [
{
"minutes": 45,
"price": 5000
}
]
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({title: 'Discovery call', durations: [{minutes: 45, price: 5000}]})
};
fetch('https://app.tikk.chat/api/v1/services/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.tikk.chat/api/v1/services/{id}"
payload = {
"title": "Discovery call",
"durations": [
{
"minutes": 45,
"price": 5000
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.tikk.chat/api/v1/services/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'title' => 'Discovery call',
'durations' => [
[
'minutes' => 45,
'price' => 5000
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"data": {
"type": "default",
"id": 48213,
"slug": "intro-call",
"title": "Intro call",
"description": "A first chat to see if we're a fit.",
"is_default": true,
"is_group": false,
"max_attendees": null,
"requires_approval": true,
"durations": [
{
"minutes": 30,
"price": null,
"currency": "EUR"
},
{
"minutes": 60,
"price": 7500,
"currency": "EUR"
}
],
"location": {
"type": "video",
"label": "Video Meeting",
"address": null
},
"embed_url": "https://tikk.chat/jane/intro-call"
}
}{
"message": "Unauthenticated."
}{
"message": "Missing required scope.",
"scopes": [
"services.write"
]
}{
"message": "Not found."
}{
"message": "A single-use service cannot be edited. Delete it and create a new one."
}{
"message": "The to field must be a date after or equal to from.",
"errors": {
"to": [
"The to field must be a date after or equal to from."
]
}
}{
"message": "Too Many Attempts."
}Authorizations
An API key from Settings → API Keys (starts with tikk_sk_), or an
OAuth access token for a partner app. Both carry scopes; each endpoint
lists the one it needs.
Path Parameters
The service id, as returned by GET /services or POST /services. Slugs aren't accepted.
Body
The writable fields of a default service.
50"Intro call"
Shown on the booking page.
500Lowercase letters, digits and single hyphens, unique among your
services. Custom slugs need Pro: on Free the slug is generated from
the title and a slug you send is ignored.
100^[a-z0-9]+(?:-[a-z0-9]+)*$"intro-call"
Replaces all durations when sent.
1Show child attributes
Show child attributes
Several people can book the same slot. Needs Pro; true on Free returns 422.
Seat cap. Required when is_group is true.
2 <= x <= 50Accept each booking by hand. Needs Pro; on Free, bookings are always accepted automatically.
Replaces the location when sent.
Show child attributes
Show child attributes
Response
The updated service.
A permanent booking page, such as "Intro call".
Show child attributes
Show child attributes