Aceitar convite
curl --request POST \
--url https://api.vertracloud.app/v1/workspaces/invites/{token}/accept \
--header 'Authorization: Bearer <token>'const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.vertracloud.app/v1/workspaces/invites/{token}/accept', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.vertracloud.app/v1/workspaces/invites/{token}/accept"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.vertracloud.app/v1/workspaces/invites/{token}/accept"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Convites
Aceitar convite
Aceita um convite e entra no workspace. Qualquer conta logada; uma chave de API precisa do escopo workspaces:invites.
POST
/
v1
/
workspaces
/
invites
/
{token}
/
accept
Aceitar convite
curl --request POST \
--url https://api.vertracloud.app/v1/workspaces/invites/{token}/accept \
--header 'Authorization: Bearer <token>'const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.vertracloud.app/v1/workspaces/invites/{token}/accept', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.vertracloud.app/v1/workspaces/invites/{token}/accept"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.vertracloud.app/v1/workspaces/invites/{token}/accept"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Uma chave de API precisa do escopo
workspaces:invites e age como a conta que a possui: um convite
por e-mail só bate se o e-mail dessa conta for o convidado. Mesmo limite de 10/min por sessão e IP de
Visualizar convite.WORKSPACE_INVITE_EMAIL_MISMATCH. Um convite por link não tem essa verificação.
Aceitar é idempotente se você já é membro: você recebe
200, não um 409 — clicar em um link de
convite antigo que você já usou não gera erro.Caminho
string
obrigatório
O token do convite.
Resposta
Mesmo formato de Obter workspace — o workspace em que você acabou de entrar.Erros
| Status | Código | Quando |
|---|---|---|
| 403 | API_KEY_SCOPE_DENIED | Chamada com uma chave de API que não tem o escopo workspaces:invites. |
| 403 | WORKSPACE_INVITE_EMAIL_MISMATCH | (convite por e-mail) O e-mail de quem chama não é o endereço convidado. |
| 403 | WORKSPACE_INVITES_DISABLED | O workspace tem os convites desativados. |
| 404 | WORKSPACE_INVITE_NOT_FOUND | O token não existe, ou o convite foi revogado ou esgotado. |
| 409 | WORKSPACE_MEMBER_LIMIT_REACHED | Atingido o limite de membros do plano do dono. |
| 410 | WORKSPACE_INVITE_EXPIRED | O convite existiu, mas o prazo dele já passou. |
Última modificação em 28 de outubro de 2026