Skip to Content
Scheduling APIGet User Profile

Get User Profile

Retrieve a user’s public scheduling profile, including their available event types, branding, and profile information.

Endpoint

GET /api/public/scheduling/{userSlug}

Authentication: None required

Path Parameters

ParameterTypeDescription
userSlugstringThe user’s unique URL slug

Response

Returns 200 OK with the user’s public profile.

{ "eventTypes": [ { "id": "evt_abc123", "name": "30 Minute Call", "slug": "30min-call", "description": "A quick 30-minute introductory call.", "color": "#4F46E5", "duration": 30, "locationType": "GoogleMeet", "isActive": true, "sortOrder": 0 } ], "hideProstayBranding": false, "branding": { "primaryColor": "#4F46E5", "accentColor": "#6366F1", "logoUrl": "https://storage.proximity.io/logos/acme.png", "faviconUrl": null, "bannerUrl": null }, "hostProfile": { "name": "Jane Doe", "avatarUrl": "https://storage.proximity.io/avatars/jane.jpg", "bio": "Product Manager at Acme Inc.", "welcomeMessage": "Pick a time that works for you!", "bannerUrl": null } }

Response Fields

eventTypes[]

FieldTypeDescription
idstringUnique event type identifier
namestringDisplay name
slugstringURL-safe slug used in API paths
descriptionstring | nullDescription shown on the booking page
colorstringHex color for UI display
durationnumberMeeting duration in minutes
locationTypestringGoogleMeet, Zoom, MicrosoftTeams, Phone, InPerson, Custom
isActivebooleanWhether the event type accepts bookings
sortOrdernumberDisplay order

branding

FieldTypeDescription
primaryColorstringPrimary brand color (hex)
accentColorstringAccent color (hex)
logoUrlstring | nullOrganization logo URL
faviconUrlstring | nullFavicon URL
bannerUrlstring | nullBanner image URL

hostProfile

FieldTypeDescription
namestringHost’s display name
avatarUrlstring | nullProfile photo URL
biostring | nullShort biography
welcomeMessagestring | nullWelcome message shown on the booking page

Errors

StatusDescription
404User with the given slug was not found

Code Examples

cURL

curl https://app.proximity.io/api/public/scheduling/jane-doe

JavaScript

const response = await fetch( 'https://app.proximity.io/api/public/scheduling/jane-doe' ); const profile = await response.json(); console.log(profile.hostProfile.name); profile.eventTypes.forEach(evt => { console.log(`${evt.name} (${evt.duration} min) — ${evt.slug}`); });

Python

import requests response = requests.get( "https://app.proximity.io/api/public/scheduling/jane-doe" ) profile = response.json() print(profile["hostProfile"]["name"]) for evt in profile["eventTypes"]: print(f"{evt['name']} ({evt['duration']} min) — {evt['slug']}")
Last updated on