72 lines
1.5 KiB
JSON
72 lines
1.5 KiB
JSON
{
|
|
"name": "TeamMemberInvite",
|
|
"type": "object",
|
|
"properties": {
|
|
"team_id": {
|
|
"type": "string",
|
|
"description": "ID of the team"
|
|
},
|
|
"team_name": {
|
|
"type": "string",
|
|
"description": "Name of the team"
|
|
},
|
|
"invite_code": {
|
|
"type": "string",
|
|
"description": "Unique invite code"
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"format": "email",
|
|
"description": "Email of invited person"
|
|
},
|
|
"full_name": {
|
|
"type": "string",
|
|
"description": "Name of invited person"
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"enum": [
|
|
"admin",
|
|
"manager",
|
|
"member",
|
|
"viewer"
|
|
],
|
|
"description": "Proposed role"
|
|
},
|
|
"invited_by": {
|
|
"type": "string",
|
|
"description": "Who sent the invite"
|
|
},
|
|
"invite_status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"pending",
|
|
"accepted",
|
|
"expired",
|
|
"cancelled"
|
|
],
|
|
"default": "pending",
|
|
"description": "Invitation status"
|
|
},
|
|
"invited_date": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "When invite was sent"
|
|
},
|
|
"accepted_date": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "When invite was accepted"
|
|
},
|
|
"expires_at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "When invite expires"
|
|
}
|
|
},
|
|
"required": [
|
|
"team_id",
|
|
"email",
|
|
"invited_by"
|
|
]
|
|
} |