curl --request POST \
--url https://api.gigstack.io/v2/teams/invitations/accept \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"token": "<string>"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({token: '<string>'})
};
fetch('https://api.gigstack.io/v2/teams/invitations/accept', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.gigstack.io/v2/teams/invitations/accept"
payload = { "token": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"data": {
"id": "<string>",
"status": "accepted",
"team_id": "<string>"
},
"success": true,
"message": "<string>",
"timestamp": 123
}Accept team invitation
Requires the invited user, authenticated with a verified Firebase ID token (no existing team required) or a signed user-scoped MCP token. Ordinary API/OAuth keys are refused. Tokens remain secret and must come from the invitation link. Administrator acceptance requires completed owner approval bound to this invitation and current owner authority. The recipient must have a current active Auth account with matching email; administrator acceptance requires verified email. Missing approval returns account_approval_required; request owner recovery with existing_invitation_id.
curl --request POST \
--url https://api.gigstack.io/v2/teams/invitations/accept \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"token": "<string>"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({token: '<string>'})
};
fetch('https://api.gigstack.io/v2/teams/invitations/accept', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.gigstack.io/v2/teams/invitations/accept"
payload = { "token": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"data": {
"id": "<string>",
"status": "accepted",
"team_id": "<string>"
},
"success": true,
"message": "<string>",
"timestamp": 123
}Authorizations
Authentication Method: HTTP Bearer token.
The runtime requires the literal Bearer prefix — a bare token in the
Authorization header is rejected with 401 unauthorized.
Header Format: Authorization: Bearer YOUR_API_KEY
Your API key is a JWT. Live keys operate on live data (livemode: true);
test keys operate on isolated test data (livemode: false).
Get your key at: app.gigstack.pro/settings?tab=api
Errors: credential failures are answered by the authentication layer with a raw
{ "message": … } body, not the standardized envelope — 401 for a missing, malformed or
expired token, 403 for a revoked key or a plan without API access. See the Unauthorized
and AuthForbidden responses.
Body
1 - 16384