curl "https://api.haau3.com/v1/scheduling/provider-locations?publisher=haau3&limit=1" \
-H "Authorization: Bearer $HAAU3_API_KEY"import { Haau3 } from "@haau3/sdk";
const haau3 = new Haau3(); // reads HAAU3_API_KEY
const found = await haau3.searchProviderLocations({ publisher: "haau3", limit: 1 });
console.log(found.total);
from haau3 import Haau3
client = Haau3() # reads HAAU3_API_KEY
found = client.search_provider_locations(publisher="haau3", limit=1)
print(found["total"])
package main
import (
"context"
"fmt"
"log"
"github.com/haau3/haau3-go"
)
func main() {
ctx := context.Background()
client, err := haau3.NewClient() // reads HAAU3_API_KEY
if err != nil {
log.Fatal(err)
}
found, err := client.SearchProviderLocations(ctx, haau3.SearchProviderLocationsParams{Publisher: new("haau3"), Limit: new(1)})
if err != nil {
log.Fatal(err)
}
fmt.Println(found.Total)
}
{
"total": 5,
"providerLocations": [
{
"key": "haau3|loc:idr|https://haau3.com/synthetic/location|loc-haau3-telehealth|prov:idr|https://haau3.com/synthetic/practitioner|prac-haau3-psych",
"publisher": "haau3",
"provider": {
"id": "prac-haau3-psych",
"identifier": [
{
"value": "prac-haau3-psych",
"system": "https://haau3.com/synthetic/practitioner"
}
],
"type": "practitioner-role",
"name": "Dr. Sarah Whitefeather",
"specialty": "Psychiatry Physician",
"specialties": [
{
"system": "http://nucc.org/provider-taxonomy",
"code": "2084P0800X",
"display": "Psychiatry Physician"
}
]
},
"location": {
"id": "loc-haau3-telehealth",
"identifier": [
{
"value": "loc-haau3-telehealth",
"system": "https://haau3.com/synthetic/location"
}
],
"name": "haau3 Telehealth",
"phone": [
"+1-617-555-0199"
],
"website": [
"https://haau3.com/telehealth"
],
"physicalType": {
"system": "http://terminology.hl7.org/CodeSystem/location-physical-type",
"code": "vi"
}
},
"serviceTypes": [
{
"system": "http://terminology.hl7.org/CodeSystem/service-type",
"code": "124",
"display": "General Practice"
}
],
"specialties": [],
"bookingMethod": "online",
"isVirtual": true,
"acceptingPatients": "newpt",
"nextAvailableStart": "2026-10-18T21:00:00.000Z",
"totalSlots": 155
}
]
}{
"type": "https://docs.haau3.com/errors#invalid-request",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "urn:uuid:0b6f2d4e-8c1a-4e3b-9f5d-2a7c6e1b4d90",
"issues": [
{
"path": [
"<string>"
],
"message": "<string>"
}
]
}{
"type": "https://docs.haau3.com/errors#invalid-request",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "urn:uuid:0b6f2d4e-8c1a-4e3b-9f5d-2a7c6e1b4d90",
"issues": [
{
"path": [
"<string>"
],
"message": "<string>"
}
]
}{
"type": "https://docs.haau3.com/errors#invalid-request",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "urn:uuid:0b6f2d4e-8c1a-4e3b-9f5d-2a7c6e1b4d90",
"issues": [
{
"path": [
"<string>"
],
"message": "<string>"
}
]
}{
"type": "https://docs.haau3.com/errors#invalid-request",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "urn:uuid:0b6f2d4e-8c1a-4e3b-9f5d-2a7c6e1b4d90",
"issues": [
{
"path": [
"<string>"
],
"message": "<string>"
}
]
}{
"type": "https://docs.haau3.com/errors#invalid-request",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "urn:uuid:0b6f2d4e-8c1a-4e3b-9f5d-2a7c6e1b4d90",
"issues": [
{
"path": [
"<string>"
],
"message": "<string>"
}
]
}{
"type": "https://docs.haau3.com/errors#invalid-request",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "urn:uuid:0b6f2d4e-8c1a-4e3b-9f5d-2a7c6e1b4d90",
"issues": [
{
"path": [
"<string>"
],
"message": "<string>"
}
]
}Search provider locations
Returns the matching slots grouped by provider location: each item in providerLocations is one provider at one location, or a location with no provider, with its total slot count and soonest availability, paginated by provider location. Its opaque key drills down to its individual slots via GET /v1/scheduling/slots?providerLocationKey=<key>. Same filters as /slots. Requires a valid API key.
curl "https://api.haau3.com/v1/scheduling/provider-locations?publisher=haau3&limit=1" \
-H "Authorization: Bearer $HAAU3_API_KEY"import { Haau3 } from "@haau3/sdk";
const haau3 = new Haau3(); // reads HAAU3_API_KEY
const found = await haau3.searchProviderLocations({ publisher: "haau3", limit: 1 });
console.log(found.total);
from haau3 import Haau3
client = Haau3() # reads HAAU3_API_KEY
found = client.search_provider_locations(publisher="haau3", limit=1)
print(found["total"])
package main
import (
"context"
"fmt"
"log"
"github.com/haau3/haau3-go"
)
func main() {
ctx := context.Background()
client, err := haau3.NewClient() // reads HAAU3_API_KEY
if err != nil {
log.Fatal(err)
}
found, err := client.SearchProviderLocations(ctx, haau3.SearchProviderLocationsParams{Publisher: new("haau3"), Limit: new(1)})
if err != nil {
log.Fatal(err)
}
fmt.Println(found.Total)
}
{
"total": 5,
"providerLocations": [
{
"key": "haau3|loc:idr|https://haau3.com/synthetic/location|loc-haau3-telehealth|prov:idr|https://haau3.com/synthetic/practitioner|prac-haau3-psych",
"publisher": "haau3",
"provider": {
"id": "prac-haau3-psych",
"identifier": [
{
"value": "prac-haau3-psych",
"system": "https://haau3.com/synthetic/practitioner"
}
],
"type": "practitioner-role",
"name": "Dr. Sarah Whitefeather",
"specialty": "Psychiatry Physician",
"specialties": [
{
"system": "http://nucc.org/provider-taxonomy",
"code": "2084P0800X",
"display": "Psychiatry Physician"
}
]
},
"location": {
"id": "loc-haau3-telehealth",
"identifier": [
{
"value": "loc-haau3-telehealth",
"system": "https://haau3.com/synthetic/location"
}
],
"name": "haau3 Telehealth",
"phone": [
"+1-617-555-0199"
],
"website": [
"https://haau3.com/telehealth"
],
"physicalType": {
"system": "http://terminology.hl7.org/CodeSystem/location-physical-type",
"code": "vi"
}
},
"serviceTypes": [
{
"system": "http://terminology.hl7.org/CodeSystem/service-type",
"code": "124",
"display": "General Practice"
}
],
"specialties": [],
"bookingMethod": "online",
"isVirtual": true,
"acceptingPatients": "newpt",
"nextAvailableStart": "2026-10-18T21:00:00.000Z",
"totalSlots": 155
}
]
}{
"type": "https://docs.haau3.com/errors#invalid-request",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "urn:uuid:0b6f2d4e-8c1a-4e3b-9f5d-2a7c6e1b4d90",
"issues": [
{
"path": [
"<string>"
],
"message": "<string>"
}
]
}{
"type": "https://docs.haau3.com/errors#invalid-request",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "urn:uuid:0b6f2d4e-8c1a-4e3b-9f5d-2a7c6e1b4d90",
"issues": [
{
"path": [
"<string>"
],
"message": "<string>"
}
]
}{
"type": "https://docs.haau3.com/errors#invalid-request",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "urn:uuid:0b6f2d4e-8c1a-4e3b-9f5d-2a7c6e1b4d90",
"issues": [
{
"path": [
"<string>"
],
"message": "<string>"
}
]
}{
"type": "https://docs.haau3.com/errors#invalid-request",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "urn:uuid:0b6f2d4e-8c1a-4e3b-9f5d-2a7c6e1b4d90",
"issues": [
{
"path": [
"<string>"
],
"message": "<string>"
}
]
}{
"type": "https://docs.haau3.com/errors#invalid-request",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "urn:uuid:0b6f2d4e-8c1a-4e3b-9f5d-2a7c6e1b4d90",
"issues": [
{
"path": [
"<string>"
],
"message": "<string>"
}
]
}{
"type": "https://docs.haau3.com/errors#invalid-request",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "urn:uuid:0b6f2d4e-8c1a-4e3b-9f5d-2a7c6e1b4d90",
"issues": [
{
"path": [
"<string>"
],
"message": "<string>"
}
]
}Authorizations
Your platform API key (haau3_sk_…), sent as Authorization: Bearer <key>.
Headers
An id of your own for this request, as a UUID. It comes back in the X-Correlation-Id header and is kept with haau3's record of the request. Any value that is not a UUID is ignored. See https://docs.haau3.com/errors#request-ids.
Query Parameters
Slot availability state to return. Defaults to free.
free, busy, busy-unavailable, busy-tentative Filter to a single publisher (source) by slug, such as zocdoc or defacto. See GET /v1/scheduling/publishers for the available slugs.
1Filter by service type code (as published by the source). A slot matches when any of its serviceTypes carries the code. A comma-separated list (up to 100) matches a slot carrying any of them.
1Filter by the provider's National Provider Identifier: a clinician's, or an organization's when a healthcare service is the provider. Ten digits; a comma-separated list (up to 100) matches a slot whose provider carries any of them. Matched as the publisher sent it, in either NPI identifier system, across every publisher.
1Filter by specialty: a slot matches when its provider's specialties or its schedule's specialties carry the code. Send code to match it in any code system, or system|code to match it in that system only. Codes are each publisher's own and are not translated between code systems, so one code finds the publishers that use it; GET /v1/scheduling/specialties lists them. A specialty sent as text only cannot be matched. A comma-separated list (up to 100) matches any of them.
1Filter by appointment type.
1Filter to slots accepting patients of this kind (HL7 accepting-patients CodeSystem: newpt | existptonly | existptfam). Slots marked nopt (not accepting patients) are never served, so nopt is not a valid filter value. Lenient: a slot that does not declare an accepting-patients code matches any value (absence never hides a slot); a slot that declares one must equal the requested value.
newpt, existptonly, existptfam Filter to virtual (true) or in-person (false) slots.
Filter by the location's city.
1Filter by the location's state.
1Only slots starting at or after this instant: ISO 8601 with seconds and an offset, such as 2026-07-06T13:00:00-04:00 or 2026-07-06T17:00:00Z. A value without seconds is refused. When absent, slots start from now unless includePast=true.
Only slots starting at or before this instant: ISO 8601 with seconds and an offset, such as 2026-07-06T13:00:00-04:00 or 2026-07-06T17:00:00Z. A value without seconds is refused.
Include slots that started before now. Defaults to false: with no startAfter, results start from now. An explicit startAfter applies as given either way.
Page size: the number of provider locations, from 1 to 100. Defaults to 25.
1 <= x <= 100Number of provider locations to skip for pagination. Defaults to 0.
0 <= x <= 9007199254740991