Validate an invitation by email key. This endpoint is public and does not require authentication. #### Path Parameters **`email_key`** string required Unique invitation key from the invitation link (format: `invkey_` + 32 hex characters). ## Returns Returns invitation details if valid, including organization and role information. ## Notes - Public endpoint used by the frontend registration flow - User clicks invitation link with email_key parameter - Frontend validates invitation before showing registration form - Returns error if invitation is expired or already used ## Authorization None (Public endpoint) ```bash curl https://api.aitronos.com/v1/invitations/validate/invkey_f87d706d08504aacb5fec46316ce5f23 ``` ```python import requests email_key = "invkey_f87d706d08504aacb5fec46316ce5f23" response = requests.get( f"https://api.aitronos.com/v1/invitations/validate/{email_key}" ) invitation = response.json() ``` ```javascript const emailKey = 'invkey_f87d706d08504aacb5fec46316ce5f23'; const response = await fetch(`https://api.aitronos.com/v1/invitations/validate/${emailKey}`); const invitation = await response.json(); ``` **Response:** 200 OK ```json { "valid": true, "invitation_id": "inv_abc123def456", "email": "newuser@example.com", "organization_id": "org_xyz789", "organization_name": "Acme Corporation", "role_id": "role_member123", "role_name": "Member", "expires_at": "2026-01-12T19:15:12.638232Z" } ``` 404 Not Found ```json { "success": false, "error": { "code": "INVITATION_NOT_FOUND", "message": "Invitation not found", "status": 404 } } ``` 422 Validation Error - Expired ```json { "success": false, "error": { "code": "VALIDATION_ERROR", "message": "Invitation has expired", "system_message": "Invitation has expired", "type": "client_error", "status": 422, "details": { "email_key": "invkey_f87d706d08504aacb5fec46316ce5f23", "expired_at": "2026-01-05T19:15:12.638232Z" } } } ``` 422 Validation Error - Already Used ```json { "success": false, "error": { "code": "VALIDATION_ERROR", "message": "Invitation has already been used", "system_message": "Invitation has already been used", "type": "client_error", "status": 422, "details": { "email_key": "invkey_f87d706d08504aacb5fec46316ce5f23", "used_at": "2026-01-05T20:30:00Z" } } } ```