{"info":{"title":"Public setup invitation entry","version":"5"},"openapi":"3.1.0","paths":{"/v1/public/setup-invitations":{"post":{"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"maxProperties":0,"type":"object"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"access_expires_at":{"format":"date-time","type":"string"},"authorization_id":{"type":"string"},"hosting_included":{"const":false},"prompt":{"type":"string"},"request_id":{"type":"string"},"url":{"format":"uri","type":"string"}},"required":["url","authorization_id","access_expires_at","hosting_included","request_id","prompt"],"type":"object"}}},"description":"Save the private invitation response. Follow url at Owlshare, then send its signed ticket to POST /owlshare/enroll. Enrollment is single-use and returns a distinct principal credential."},"400":{"description":"Body must be {}; caller authority fields are rejected"},"429":{"description":"Global attempt budget or issuer quota exhausted; Retry-After is provided for local budget exhaustion"},"500":{"description":"Persistence failed; no successful invitation response confirmed"},"502":{"description":"Issuer outcome unconfirmed. Stop and retain X-Owlbox-Setup-Request-ID for operator reconciliation; do not blindly repeat creation. The header is non-authorizing and cannot recover credentials.","headers":{"X-Owlbox-Setup-Request-ID":{"description":"Opaque server checkpoint reference; not a credential","schema":{"type":"string"}}}},"503":{"description":"Disabled, invalid configuration, or application/setup service unavailable"}},"security":[],"summary":"Create a setup invitation"}}},"servers":[{"url":"https://share.owlbox.ai"}]}