{"openapi":"3.0.3","info":{"title":"Ivy Central Assistant Guide API","version":"1.0.0","description":"Public service information and a read-only, budget-gated scheduling handoff. No slot reservation, lead creation, email, or marketing enrollment occurs here. Requires user-declared budget and authorization; it does not authenticate the user or verify ownership of an email address."},"servers":[{"url":"https://strategy.ivycentral.com"}],"paths":{"/api/agent/profile":{"get":{"operationId":"getIvyCentralServiceProfile","summary":"Read Ivy Central services, pricing context, and meeting eligibility","responses":{"200":{"description":"Public service profile","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/agent/booking-handoff":{"post":{"operationId":"getEligibleStrategyCallHandoff","summary":"Check declared budget and user authorization; return a hosted booking link only when eligible","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["budgetTier","userAuthorized"],"properties":{"budgetTier":{"type":"string","enum":["high","mid","low"],"description":"Ask the user. high means comfortable with Premier counseling starting at USD 625/month; mid means not sure; low means not comfortable."},"userAuthorized":{"type":"boolean","description":"True only after the user explicitly permits continuing to the booking provider. Not a consent to book an unconfirmed time."}}},"example":{"budgetTier":"high","userAuthorized":true}}}},"responses":{"200":{"description":"Eligibility result. bookingUrl is present only for high budget with authorization; bookingConfirmed is always false.","content":{"application/json":{"schema":{"type":"object","required":["status","eligible","bookingConfirmed","message"],"properties":{"status":{"type":"string","enum":["ready_to_schedule","not_eligible","needs_user_authorization"]},"eligible":{"type":"boolean"},"bookingConfirmed":{"type":"boolean","enum":[false]},"bookingUrl":{"type":"string","format":"uri","description":"Only returned for high budget with authorization."},"message":{"type":"string"},"durationMinutes":{"type":"integer"},"instructions":{"type":"array","items":{"type":"string"}},"alternatives":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"url":{"type":"string","format":"uri"}}}}}}}}},"400":{"description":"Invalid input; send only budgetTier and boolean userAuthorized. Do not include personal information."}}}}}}