curl --request GET \
--url https://api.goyappr.com/call-windows \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.goyappr.com/call-windows"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.goyappr.com/call-windows', 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://api.goyappr.com/call-windows",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.goyappr.com/call-windows"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.goyappr.com/call-windows")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.goyappr.com/call-windows")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"timezone": "Asia/Jerusalem",
"inbound_enabled": true,
"outbound_enabled": true,
"windows": [
{
"day_of_week": 3,
"start_time": "09:00",
"end_time": "19:00"
}
]
}Get call time windows
Returns the company’s call time window configuration: which directions the window is enforced on, the workspace timezone, and every allowed window grouped by day of week.
curl --request GET \
--url https://api.goyappr.com/call-windows \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.goyappr.com/call-windows"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.goyappr.com/call-windows', 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://api.goyappr.com/call-windows",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.goyappr.com/call-windows"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.goyappr.com/call-windows")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.goyappr.com/call-windows")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"timezone": "Asia/Jerusalem",
"inbound_enabled": true,
"outbound_enabled": true,
"windows": [
{
"day_of_week": 3,
"start_time": "09:00",
"end_time": "19:00"
}
]
}- Outbound — when
outbound_enabledistrueand the call falls outside any allowed window, the create-call request returns202 Acceptedwithstatus: "scheduled"and ascheduled_fortimestamp marking the next window opening. The platform places the call automatically at that time. - Inbound — when
inbound_enabledistrueand the call lands outside any allowed window, the call is hung up before being answered. Nocall_logsrow is created and no minutes are charged.
Example request
curl "https://api.goyappr.com/call-windows" \
-H "Authorization: Bearer $YAPPR_API_KEY"
Example response
{
"timezone": "Asia/Jerusalem",
"inbound_enabled": false,
"outbound_enabled": true,
"windows": [
{ "day_of_week": 0, "start_time": "09:00", "end_time": "19:00" },
{ "day_of_week": 1, "start_time": "09:00", "end_time": "19:00" },
{ "day_of_week": 2, "start_time": "09:00", "end_time": "19:00" },
{ "day_of_week": 3, "start_time": "09:00", "end_time": "19:00" },
{ "day_of_week": 4, "start_time": "09:00", "end_time": "19:00" },
{ "day_of_week": 5, "start_time": "09:00", "end_time": "11:30" }
]
}
day_of_week follows the standard Sunday-first convention: 0 is Sunday, 6 is Saturday. Times are HH:MM in 24-hour notation, evaluated in the workspace timezone (change it in the Company settings tab).
Errors
| HTTP | Code | When |
|---|---|---|
| 401 | — | Missing or invalid API key. |
Authorizations
Your Yappr API key (e.g. ypr_live_...). Generate one in the dashboard under Settings → API Keys.
Response
Current configuration
Company-level configuration that gates inbound and outbound calls by
time-of-day. When outbound_enabled is true, outbound API requests
placed outside any allowed window are deferred — the response is
202 Accepted with status: "scheduled" and a scheduled_for
timestamp marking the next window opening. When inbound_enabled is
true, inbound calls received outside any allowed window are hung up
before being answered (no call_logs row is created).
A day with no windows is a closed day for whichever directions are enforced. The default schedule (seeded for every company) is Sunday through Thursday 09:00–19:00 plus Friday 09:00–11:30; Saturday is closed.
IANA timezone identifier. Reflects companies.timezone. Edit it in the Company settings tab.
"Asia/Jerusalem"
When true, inbound calls outside the window are hung up before answering. Default false.
When true, outbound calls outside the window are scheduled for the next opening. Default true.
Show child attributes
Show child attributes