LogoRecal

Get Organization Scheduling

Get available time slots for all users in a sub-organization

GET
/v1/organizations/{orgSlug}/scheduling

Authorization

AuthorizationRequiredBearer <token>

The Recal API token

In: header

Path Parameters

orgSlugRequiredstring

Query Parameters

providerstring | array<unknown>
paddingRequirednumber

Padding in minutes to add before and after busy times

Default: 0
slotDurationRequirednumber

Duration of each slot in minutes

Default: 30
startDateRequiredDate | string | number
endDateRequiredDate | string | number
earliestTimeEachDaystring

Requested earliest time of each day (in the time zone of the request) (e.g., 10:00)

latestTimeEachDaystring

Requested latest time of each day (in the time zone of the request) (e.g., 16:00)

Header Parameters

x-timezonestring

Overrides the time zone of the request

Response Body

TypeScript Definitions

Use the response body type in TypeScript.

availableSlotsRequiredarray<object>
optionsRequiredobject

TypeScript Definitions

Use the response body type in TypeScript.

responseRequiredstring

TypeScript Definitions

Use the response body type in TypeScript.

responseRequiredstring

TypeScript Definitions

Use the response body type in TypeScript.

responseRequiredstring
curl -X GET "https://api.recal.dev/v1/organizations/string/scheduling?provider=google&padding=0&slotDuration=30&startDate=2025-06-04T00%3A00%3A00.000Z&endDate=2025-06-10T00%3A00%3A00.000Z&earliestTimeEachDay=string&latestTimeEachDay=string" \
  -H "x-timezone: string" \
  -H "Authorization: Bearer <token>"
fetch("https://api.recal.dev/v1/organizations/string/scheduling?provider=google&padding=0&slotDuration=30&startDate=2025-06-04T00%3A00%3A00.000Z&endDate=2025-06-10T00%3A00%3A00.000Z&earliestTimeEachDay=string&latestTimeEachDay=string", {
  headers: {
    "x-timezone": "string",
    "Authorization": "Bearer <token>"
  }
})
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func main() {
  url := "https://api.recal.dev/v1/organizations/string/scheduling?provider=google&padding=0&slotDuration=30&startDate=2025-06-04T00%3A00%3A00.000Z&endDate=2025-06-10T00%3A00%3A00.000Z&earliestTimeEachDay=string&latestTimeEachDay=string"

  req, _ := http.NewRequest("GET", url, nil)
  req.Header.Add("x-timezone", "string")
  req.Header.Add("Authorization", "Bearer <token>")
  res, _ := http.DefaultClient.Do(req)
  defer res.Body.Close()
  body, _ := ioutil.ReadAll(res.Body)

  fmt.Println(res)
  fmt.Println(string(body))
}
import requests

url = "https://api.recal.dev/v1/organizations/string/scheduling?provider=google&padding=0&slotDuration=30&startDate=2025-06-04T00%3A00%3A00.000Z&endDate=2025-06-10T00%3A00%3A00.000Z&earliestTimeEachDay=string&latestTimeEachDay=string"

response = requests.request("GET", url, headers = {
  "x-timezone": "string",
  "Authorization": "Bearer <token>"
})

print(response.text)
{
  "availableSlots": [
    {
      "start": "2025-06-04T02:00:00.000+02:00",
      "end": "2025-06-10T02:00:00.000+02:00",
      "userId": "string"
    }
  ],
  "options": {
    "padding": 0,
    "slotDuration": 30,
    "startDate": "2025-06-04T02:00:00.000+02:00",
    "endDate": "2025-06-10T02:00:00.000+02:00",
    "earliestTimeEachDay": "14:00",
    "latestTimeEachDay": "14:00"
  }
}
"Unable to process date: Invalid date format"
"Sub-organization not found"
"An error occurred while processing your request"