Update a schedule
curl --request PUT \
--url https://{subdomain}.mihu.ai/api/v1/schedules/{uuid} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"type": "appointment",
"color": "<string>",
"availability_type_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ai_agents": [
"<string>"
],
"human_agents": [
"<string>"
],
"custom_questions": [
{
"name": "Reason for visit",
"type": "text",
"required": false,
"description": "Optional helper text"
}
]
}
'import requests
url = "https://{subdomain}.mihu.ai/api/v1/schedules/{uuid}"
payload = {
"name": "<string>",
"type": "appointment",
"color": "<string>",
"availability_type_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ai_agents": ["<string>"],
"human_agents": ["<string>"],
"custom_questions": [
{
"name": "Reason for visit",
"type": "text",
"required": False,
"description": "Optional helper text"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
type: 'appointment',
color: '<string>',
availability_type_uuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
ai_agents: ['<string>'],
human_agents: ['<string>'],
custom_questions: [
{
name: 'Reason for visit',
type: 'text',
required: false,
description: 'Optional helper text'
}
]
})
};
fetch('https://{subdomain}.mihu.ai/api/v1/schedules/{uuid}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{subdomain}.mihu.ai/api/v1/schedules/{uuid}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'type' => 'appointment',
'color' => '<string>',
'availability_type_uuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'ai_agents' => [
'<string>'
],
'human_agents' => [
'<string>'
],
'custom_questions' => [
[
'name' => 'Reason for visit',
'type' => 'text',
'required' => false,
'description' => 'Optional helper text'
]
]
]),
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;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{subdomain}.mihu.ai/api/v1/schedules/{uuid}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"type\": \"appointment\",\n \"color\": \"<string>\",\n \"availability_type_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"ai_agents\": [\n \"<string>\"\n ],\n \"human_agents\": [\n \"<string>\"\n ],\n \"custom_questions\": [\n {\n \"name\": \"Reason for visit\",\n \"type\": \"text\",\n \"required\": false,\n \"description\": \"Optional helper text\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://{subdomain}.mihu.ai/api/v1/schedules/{uuid}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"type\": \"appointment\",\n \"color\": \"<string>\",\n \"availability_type_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"ai_agents\": [\n \"<string>\"\n ],\n \"human_agents\": [\n \"<string>\"\n ],\n \"custom_questions\": [\n {\n \"name\": \"Reason for visit\",\n \"type\": \"text\",\n \"required\": false,\n \"description\": \"Optional helper text\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{subdomain}.mihu.ai/api/v1/schedules/{uuid}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"type\": \"appointment\",\n \"color\": \"<string>\",\n \"availability_type_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"ai_agents\": [\n \"<string>\"\n ],\n \"human_agents\": [\n \"<string>\"\n ],\n \"custom_questions\": [\n {\n \"name\": \"Reason for visit\",\n \"type\": \"text\",\n \"required\": false,\n \"description\": \"Optional helper text\"\n }\n ]\n}"
response = http.request(request)
puts response.read_bodySchedules
Update a schedule
Updates schedule metadata such as name, type, color, availability type, assigned agents, or custom questions. Use this to change how an existing calendar is presented and which booking rules it uses. Only supplied fields are changed.
PUT
/
api
/
v1
/
schedules
/
{uuid}
Update a schedule
curl --request PUT \
--url https://{subdomain}.mihu.ai/api/v1/schedules/{uuid} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"type": "appointment",
"color": "<string>",
"availability_type_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ai_agents": [
"<string>"
],
"human_agents": [
"<string>"
],
"custom_questions": [
{
"name": "Reason for visit",
"type": "text",
"required": false,
"description": "Optional helper text"
}
]
}
'import requests
url = "https://{subdomain}.mihu.ai/api/v1/schedules/{uuid}"
payload = {
"name": "<string>",
"type": "appointment",
"color": "<string>",
"availability_type_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ai_agents": ["<string>"],
"human_agents": ["<string>"],
"custom_questions": [
{
"name": "Reason for visit",
"type": "text",
"required": False,
"description": "Optional helper text"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
type: 'appointment',
color: '<string>',
availability_type_uuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
ai_agents: ['<string>'],
human_agents: ['<string>'],
custom_questions: [
{
name: 'Reason for visit',
type: 'text',
required: false,
description: 'Optional helper text'
}
]
})
};
fetch('https://{subdomain}.mihu.ai/api/v1/schedules/{uuid}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{subdomain}.mihu.ai/api/v1/schedules/{uuid}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'type' => 'appointment',
'color' => '<string>',
'availability_type_uuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'ai_agents' => [
'<string>'
],
'human_agents' => [
'<string>'
],
'custom_questions' => [
[
'name' => 'Reason for visit',
'type' => 'text',
'required' => false,
'description' => 'Optional helper text'
]
]
]),
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;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{subdomain}.mihu.ai/api/v1/schedules/{uuid}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"type\": \"appointment\",\n \"color\": \"<string>\",\n \"availability_type_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"ai_agents\": [\n \"<string>\"\n ],\n \"human_agents\": [\n \"<string>\"\n ],\n \"custom_questions\": [\n {\n \"name\": \"Reason for visit\",\n \"type\": \"text\",\n \"required\": false,\n \"description\": \"Optional helper text\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://{subdomain}.mihu.ai/api/v1/schedules/{uuid}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"type\": \"appointment\",\n \"color\": \"<string>\",\n \"availability_type_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"ai_agents\": [\n \"<string>\"\n ],\n \"human_agents\": [\n \"<string>\"\n ],\n \"custom_questions\": [\n {\n \"name\": \"Reason for visit\",\n \"type\": \"text\",\n \"required\": false,\n \"description\": \"Optional helper text\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{subdomain}.mihu.ai/api/v1/schedules/{uuid}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"type\": \"appointment\",\n \"color\": \"<string>\",\n \"availability_type_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"ai_agents\": [\n \"<string>\"\n ],\n \"human_agents\": [\n \"<string>\"\n ],\n \"custom_questions\": [\n {\n \"name\": \"Reason for visit\",\n \"type\": \"text\",\n \"required\": false,\n \"description\": \"Optional helper text\"\n }\n ]\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
Use a Bearer token to access these API endpoints. Example: "Bearer {your-token}"
Path Parameters
Body
application/json
Response
200
Schedule updated successfully
⌘I