{"openapi":"3.1.1","info":{"title":"Apprentice public booking requests","version":"v1"},"servers":[{"url":"https://app.useapprentice.com/api/agents/v1"}],"paths":{"/resolve":{"post":{"operationId":"resolvePublicBookingEntry","summary":"Resolve a known public Apprentice URL","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveInput"}}}},"responses":{"200":{"description":"ResolveResult","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveResult"}}}},"400":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/artists/{id}":{"get":{"operationId":"readPublicArtist","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":4096}}],"responses":{"200":{"description":"Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Entity"}}}},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/artists/{id}/offerings":{"get":{"operationId":"readPublicArtistOfferings","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":4096}},{"name":"cursor","in":"query","schema":{"type":"string","maxLength":200}}],"description":"Follow nextCursor until null, including empty intermediate pages. The cursor is scoped to this owner.","responses":{"200":{"description":"OfferingsPage","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferingsPage"}}}},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/shops/{id}":{"get":{"operationId":"readPublicShop","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":4096}}],"responses":{"200":{"description":"Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Entity"}}}},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/shops/{id}/offerings":{"get":{"operationId":"readPublicShopOfferings","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":4096}},{"name":"cursor","in":"query","schema":{"type":"string","maxLength":200}}],"description":"Follow nextCursor until null, including empty intermediate pages. The cursor is scoped to this owner.","responses":{"200":{"description":"OfferingsPage","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferingsPage"}}}},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/shops/{id}/artists":{"get":{"operationId":"readPublicShopArtists","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":4096}},{"name":"cursor","in":"query","schema":{"type":"string","maxLength":200}}],"description":"Listed artists and booking handoffs only. Follow nextCursor until null.","responses":{"200":{"description":"RosterPage","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RosterPage"}}}},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/offerings/{id}/requirements":{"get":{"operationId":"readPublicOfferingRequirements","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":4096}}],"responses":{"200":{"description":"Requirements","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Requirements"}}}},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/requests":{"post":{"operationId":"submitPublicBookingRequest","description":"Ask the client before submitting. dryRun:true validates without creating a request. For dryRun:false, generate and retain a random 32-byte base64url operation capability before the first call; send it as Authorization: Bearer and reuse it for retries and receipt reads. Include the same random Idempotency-Key on retries. No appointment, hold or payment is created. Never send signatures, medical answers, upload URLs or existing-account credentials.","security":[{},{"OperationCapability":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Required for dryRun:false; 32-128 URL-safe characters, generated once per intended submission.","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{32,128}$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestInput"}}}},"responses":{"200":{"description":"Validation result or durable receipt","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/DryRunResult"},{"$ref":"#/components/schemas/OperationReceipt"}]}}}},"400":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/operations/{id}":{"get":{"operationId":"readOwnBookingRequestOperation","security":[{"OperationCapability":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":4096}}],"description":"Minimal receipt; capability expires seven days after acceptance. Works after discovery or writes are disabled. Never put the capability in a URL.","responses":{"200":{"description":"OperationReceipt","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationReceipt"}}}},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"RosterPage":{"type":"object","properties":{"apiVersion":{"const":"v1"},"owner":{"type":"object","properties":{"kind":{"type":"string","enum":["artist","shop"]},"id":{"type":"string","format":"uuid"}},"required":["kind","id"],"additionalProperties":false},"artists":{"type":"array","items":{"type":"object","properties":{"artistId":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1,"maxLength":500},"services":{"type":"array","items":{"type":"string","enum":["tattoo","piercing","pmu","laser_removal","scarification","tooth_gem","implants"]},"maxItems":7},"bookingUrl":{"type":"string","format":"uri","maxLength":2048},"external":{"type":"boolean"},"availableActions":{"type":"array","items":{"const":"open_booking_form"},"maxItems":1}},"required":["artistId","name","services","bookingUrl","external","availableActions"],"additionalProperties":false},"maxItems":20},"nextCursor":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]}},"required":["apiVersion","owner","artists","nextCursor"],"additionalProperties":false},"Entity":{"type":"object","properties":{"apiVersion":{"const":"v1"},"owner":{"type":"object","properties":{"kind":{"type":"string","enum":["artist","shop"]},"id":{"type":"string","format":"uuid"}},"required":["kind","id"],"additionalProperties":false},"name":{"type":"string","minLength":1,"maxLength":500},"description":{"type":"string","maxLength":5000},"avatarUrl":{"type":"string","format":"uri","maxLength":2048},"websiteUrl":{"type":"string","format":"uri","maxLength":2048},"email":{"type":"string","maxLength":255},"phone":{"type":"string","maxLength":50},"hourlyRate":{"type":"number","minimum":0},"locations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","maxLength":500},"city":{"type":"string","maxLength":500},"state":{"type":"string","maxLength":500},"country":{"type":"string","maxLength":500},"addressLine1":{"type":"string","maxLength":500},"addressLine2":{"type":"string","maxLength":500},"postalCode":{"type":"string","maxLength":100},"timezone":{"type":"string","maxLength":100}},"required":["id","name"],"additionalProperties":false},"maxItems":100},"rosterPath":{"type":"string","pattern":"^\\/api\\/agents\\/v1\\/shops\\/[^/]+\\/artists$"},"canonicalUrl":{"type":"string","format":"uri","maxLength":2048},"availableActions":{"type":"array","items":{"type":"string","enum":["submit_request","open_booking_form","view_flash","open_walk_in_page"]},"maxItems":4},"suggestedNextStep":{"type":"string","maxLength":500}},"required":["apiVersion","owner","name","locations","canonicalUrl","availableActions","suggestedNextStep"],"additionalProperties":false},"Offering":{"type":"object","properties":{"offeringId":{"type":"string","minLength":1,"maxLength":4096},"owner":{"type":"object","properties":{"kind":{"type":"string","enum":["artist","shop"]},"id":{"type":"string","format":"uuid"}},"required":["kind","id"],"additionalProperties":false},"serviceTypeSlug":{"type":"string","enum":["tattoo","piercing","pmu","laser_removal","scarification","tooth_gem","implants"]},"kind":{"type":"string","enum":["custom","flash","consultation","menu","walk_in"]},"name":{"type":"string","minLength":1,"maxLength":500},"canonicalUrl":{"type":"string","format":"uri","maxLength":2048},"availableActions":{"type":"array","items":{"type":"string","enum":["submit_request","open_booking_form","view_flash","open_walk_in_page"]},"maxItems":4},"suggestedNextStep":{"type":"string","maxLength":500},"requirementsPath":{"type":"string","pattern":"^\\/api\\/agents\\/v1\\/offerings\\/","maxLength":8192},"durationMinutes":{"type":"integer","exclusiveMinimum":0},"price":{"type":"object","properties":{"amountCents":{"type":"integer","minimum":0},"kind":{"type":"string","enum":["fixed","starting_at"]}},"required":["amountCents","kind"],"additionalProperties":false},"location":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","maxLength":500},"city":{"type":"string","maxLength":500},"state":{"type":"string","maxLength":500},"country":{"type":"string","maxLength":500},"addressLine1":{"type":"string","maxLength":500},"addressLine2":{"type":"string","maxLength":500},"postalCode":{"type":"string","maxLength":100},"timezone":{"type":"string","maxLength":100}},"required":["id","name"],"additionalProperties":false},"format":{"type":"string","enum":["in_person","phone","choice"]},"walkIn":{"type":"object","properties":{"open":{"type":"boolean"},"remoteJoining":{"type":"boolean"},"full":{"type":"boolean"},"localDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["open","remoteJoining","full","localDate"],"additionalProperties":false},"flash":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"source":{"type":"string","enum":["artist","shop"]},"bookingMode":{"type":"string","enum":["direct","request_only","display_only"]}},"required":["id","source","bookingMode"],"additionalProperties":false}},"required":["offeringId","owner","serviceTypeSlug","kind","name","canonicalUrl","availableActions","suggestedNextStep","requirementsPath"],"additionalProperties":false},"OfferingsPage":{"type":"object","properties":{"apiVersion":{"const":"v1"},"offerings":{"type":"array","items":{"type":"object","properties":{"offeringId":{"type":"string","minLength":1,"maxLength":4096},"owner":{"type":"object","properties":{"kind":{"type":"string","enum":["artist","shop"]},"id":{"type":"string","format":"uuid"}},"required":["kind","id"],"additionalProperties":false},"serviceTypeSlug":{"type":"string","enum":["tattoo","piercing","pmu","laser_removal","scarification","tooth_gem","implants"]},"kind":{"type":"string","enum":["custom","flash","consultation","menu","walk_in"]},"name":{"type":"string","minLength":1,"maxLength":500},"canonicalUrl":{"type":"string","format":"uri","maxLength":2048},"availableActions":{"type":"array","items":{"type":"string","enum":["submit_request","open_booking_form","view_flash","open_walk_in_page"]},"maxItems":4},"suggestedNextStep":{"type":"string","maxLength":500},"requirementsPath":{"type":"string","pattern":"^\\/api\\/agents\\/v1\\/offerings\\/","maxLength":8192},"durationMinutes":{"type":"integer","exclusiveMinimum":0},"price":{"type":"object","properties":{"amountCents":{"type":"integer","minimum":0},"kind":{"type":"string","enum":["fixed","starting_at"]}},"required":["amountCents","kind"],"additionalProperties":false},"location":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","maxLength":500},"city":{"type":"string","maxLength":500},"state":{"type":"string","maxLength":500},"country":{"type":"string","maxLength":500},"addressLine1":{"type":"string","maxLength":500},"addressLine2":{"type":"string","maxLength":500},"postalCode":{"type":"string","maxLength":100},"timezone":{"type":"string","maxLength":100}},"required":["id","name"],"additionalProperties":false},"format":{"type":"string","enum":["in_person","phone","choice"]},"walkIn":{"type":"object","properties":{"open":{"type":"boolean"},"remoteJoining":{"type":"boolean"},"full":{"type":"boolean"},"localDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["open","remoteJoining","full","localDate"],"additionalProperties":false},"flash":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"source":{"type":"string","enum":["artist","shop"]},"bookingMode":{"type":"string","enum":["direct","request_only","display_only"]}},"required":["id","source","bookingMode"],"additionalProperties":false}},"required":["offeringId","owner","serviceTypeSlug","kind","name","canonicalUrl","availableActions","suggestedNextStep","requirementsPath"],"additionalProperties":false},"maxItems":20},"nextCursor":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]}},"required":["apiVersion","offerings","nextCursor"],"additionalProperties":false},"Requirements":{"type":"object","properties":{"apiVersion":{"const":"v1"},"offeringId":{"type":"string","minLength":1,"maxLength":4096},"version":{"type":"string","minLength":1,"maxLength":128},"fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","maxLength":500},"type":{"type":"string","enum":["text","number","boolean","select","multi_select"]},"required":{"type":"boolean"},"min":{"type":"number"},"max":{"type":"number"},"maxLength":{"type":"integer","minimum":0},"maxItems":{"type":"integer","minimum":0},"itemMaxLength":{"type":"integer","minimum":0},"mustBeTrue":{"type":"boolean"},"format":{"type":"string","enum":["date"]},"conditionalOptions":{"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string","maxLength":100},"equals":{"type":"string","maxLength":500},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","maxLength":500},"label":{"type":"string","maxLength":500}},"required":["value","label"],"additionalProperties":false},"maxItems":100}},"required":["fieldId","equals","options"],"additionalProperties":false},"maxItems":100},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","maxLength":500},"label":{"type":"string","maxLength":500}},"required":["value","label"],"additionalProperties":false},"maxItems":100},"requiredWhen":{"type":"object","properties":{"fieldId":{"type":"string","maxLength":100},"equals":{"anyOf":[{"type":"string","maxLength":500},{"type":"boolean"}]},"oneOf":{"type":"array","items":{"type":"string","maxLength":500},"minItems":1,"maxItems":100}},"required":["fieldId"],"additionalProperties":false}},"required":["id","label","type","required"],"additionalProperties":false},"maxItems":100},"policyVersions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":100},"version":{"type":"string","maxLength":128}},"required":["id","version"],"additionalProperties":false},"maxItems":20},"humanCompletionReasons":{"type":"array","items":{"type":"string","enum":["payment","signature","attachment","identity","policy","self_booking","external_booking","medical_intake","unsupported_intake","walk_in"]},"maxItems":10},"availableActions":{"type":"array","items":{"type":"string","enum":["submit_request","open_booking_form","view_flash","open_walk_in_page"]},"maxItems":4},"nextStep":{"type":"object","properties":{"kind":{"type":"string","enum":["open_form","verify_email","wait_for_review","provide_input","retry","none"]},"url":{"type":"string","format":"uri","maxLength":2048},"reason":{"type":"string","maxLength":500}},"required":["kind"],"additionalProperties":false}},"required":["apiVersion","offeringId","version","fields","policyVersions","humanCompletionReasons","availableActions","nextStep"],"additionalProperties":false},"ResolveInput":{"type":"object","properties":{"url":{"type":"string","format":"uri","maxLength":2048}},"required":["url"],"additionalProperties":false},"ResolveResult":{"type":"object","properties":{"apiVersion":{"const":"v1"},"owner":{"type":"object","properties":{"kind":{"type":"string","enum":["artist","shop"]},"id":{"type":"string","format":"uuid"}},"required":["kind","id"],"additionalProperties":false},"entityPath":{"type":"string","pattern":"^\\/api\\/agents\\/v1\\/(artists|shops)\\/"},"offerings":{"type":"array","items":{"type":"object","properties":{"offeringId":{"type":"string","minLength":1,"maxLength":4096},"owner":{"type":"object","properties":{"kind":{"type":"string","enum":["artist","shop"]},"id":{"type":"string","format":"uuid"}},"required":["kind","id"],"additionalProperties":false},"serviceTypeSlug":{"type":"string","enum":["tattoo","piercing","pmu","laser_removal","scarification","tooth_gem","implants"]},"kind":{"type":"string","enum":["custom","flash","consultation","menu","walk_in"]},"name":{"type":"string","minLength":1,"maxLength":500},"canonicalUrl":{"type":"string","format":"uri","maxLength":2048},"availableActions":{"type":"array","items":{"type":"string","enum":["submit_request","open_booking_form","view_flash","open_walk_in_page"]},"maxItems":4},"suggestedNextStep":{"type":"string","maxLength":500},"requirementsPath":{"type":"string","pattern":"^\\/api\\/agents\\/v1\\/offerings\\/","maxLength":8192},"durationMinutes":{"type":"integer","exclusiveMinimum":0},"price":{"type":"object","properties":{"amountCents":{"type":"integer","minimum":0},"kind":{"type":"string","enum":["fixed","starting_at"]}},"required":["amountCents","kind"],"additionalProperties":false},"location":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","maxLength":500},"city":{"type":"string","maxLength":500},"state":{"type":"string","maxLength":500},"country":{"type":"string","maxLength":500},"addressLine1":{"type":"string","maxLength":500},"addressLine2":{"type":"string","maxLength":500},"postalCode":{"type":"string","maxLength":100},"timezone":{"type":"string","maxLength":100}},"required":["id","name"],"additionalProperties":false},"format":{"type":"string","enum":["in_person","phone","choice"]},"walkIn":{"type":"object","properties":{"open":{"type":"boolean"},"remoteJoining":{"type":"boolean"},"full":{"type":"boolean"},"localDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["open","remoteJoining","full","localDate"],"additionalProperties":false},"flash":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"source":{"type":"string","enum":["artist","shop"]},"bookingMode":{"type":"string","enum":["direct","request_only","display_only"]}},"required":["id","source","bookingMode"],"additionalProperties":false}},"required":["offeringId","owner","serviceTypeSlug","kind","name","canonicalUrl","availableActions","suggestedNextStep","requirementsPath"],"additionalProperties":false},"maxItems":100},"nextStep":{"type":"object","properties":{"kind":{"type":"string","enum":["open_form","verify_email","wait_for_review","provide_input","retry","none"]},"url":{"type":"string","format":"uri","maxLength":2048},"reason":{"type":"string","maxLength":500}},"required":["kind"],"additionalProperties":false}},"required":["apiVersion","owner","offerings","nextStep"],"additionalProperties":false},"RequestInput":{"type":"object","properties":{"offeringId":{"type":"string","minLength":1,"maxLength":4096},"requirementsVersion":{"type":"string","minLength":1,"maxLength":128},"dryRun":{"type":"boolean"},"contact":{"type":"object","properties":{"firstName":{"type":"string","minLength":1,"maxLength":50},"lastName":{"type":"string","minLength":1,"maxLength":50},"email":{"type":"string","format":"email","maxLength":255},"phone":{"type":"string","maxLength":20},"preferredCommunication":{"type":"string","enum":["email","text","either"]},"smsConsent":{"type":"boolean"}},"required":["firstName","lastName","email"],"additionalProperties":false},"intake":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":100},"additionalProperties":{"anyOf":[{"type":"string","maxLength":5000},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string","maxLength":500},"maxItems":20},{"type":"null"}]}},"selectedMenuItemId":{"type":"string","format":"uuid"},"preferredDates":{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":500}},"required":["text"],"additionalProperties":false},"source":{"type":"object","properties":{"assistant":{"type":"string","maxLength":100},"referrerHost":{"type":"string","maxLength":255,"pattern":"^[a-z0-9.-]+$"}},"required":[],"additionalProperties":false}},"required":["offeringId","requirementsVersion","contact","intake"],"additionalProperties":false},"OperationReceipt":{"type":"object","properties":{"apiVersion":{"const":"v1"},"operationId":{"type":"string","format":"uuid"},"operationStatus":{"type":"string","enum":["in_progress","completed","outcome_unknown","rejected","retryable_failure"]},"businessStatus":{"type":"string","enum":["request_received","pending_verification","pending_artist_review","requires_human_completion","missing_input","offering_changed","in_progress","outcome_unknown","rejected","retryable_failure"]},"appointmentConfirmed":{"const":false},"nextStep":{"type":"object","properties":{"kind":{"type":"string","enum":["open_form","verify_email","wait_for_review","provide_input","retry","none"]},"url":{"type":"string","format":"uri","maxLength":2048},"reason":{"type":"string","maxLength":500}},"required":["kind"],"additionalProperties":false},"statusPath":{"type":"string","pattern":"^\\/api\\/agents\\/v1\\/operations\\/[0-9a-f-]{36}$"},"expiresAt":{"type":"string","format":"date-time"}},"required":["apiVersion","operationId","operationStatus","businessStatus","appointmentConfirmed","nextStep","statusPath","expiresAt"],"additionalProperties":false},"DryRunResult":{"type":"object","properties":{"apiVersion":{"const":"v1"},"dryRun":{"const":true},"valid":{"type":"boolean"},"businessStatus":{"type":"string","enum":["ready_to_submit","missing_input","requires_human_completion","offering_changed","rejected"]},"appointmentConfirmed":{"const":false},"missingFields":{"type":"array","items":{"type":"string","maxLength":100},"maxItems":100},"summary":{"type":"string","maxLength":5000},"nextStep":{"type":"object","properties":{"kind":{"type":"string","enum":["open_form","verify_email","wait_for_review","provide_input","retry","none"]},"url":{"type":"string","format":"uri","maxLength":2048},"reason":{"type":"string","maxLength":500}},"required":["kind"],"additionalProperties":false}},"required":["apiVersion","dryRun","valid","businessStatus","appointmentConfirmed","missingFields","nextStep"],"additionalProperties":false},"Error":{"type":"object","properties":{"apiVersion":{"const":"v1"},"code":{"type":"string","enum":["invalid_input","invalid_capability","not_found","offering_changed","idempotency_mismatch","requires_human_completion","rate_limited","unavailable","outcome_unknown"]},"message":{"type":"string","maxLength":500},"retryable":{"type":"boolean"},"correlationId":{"type":"string","format":"uuid"},"missingFields":{"type":"array","items":{"type":"string","maxLength":100},"maxItems":100},"nextStep":{"type":"object","properties":{"kind":{"type":"string","enum":["open_form","verify_email","wait_for_review","provide_input","retry","none"]},"url":{"type":"string","format":"uri","maxLength":2048},"reason":{"type":"string","maxLength":500}},"required":["kind"],"additionalProperties":false}},"required":["apiVersion","code","message","retryable","correlationId","nextStep"],"additionalProperties":false}},"securitySchemes":{"OperationCapability":{"type":"http","scheme":"bearer","description":"Caller-created cryptographic secret; not an account login or API key."}}}}