Workspace invitations preview
GET
https://app.sulus.ai/api/workspace-invitations/{token}
Preview an invitation link (public)
Authentication
Send a bearer token created on your dashboard's Developer page:
Authorization: Bearer <YOUR_API_KEY>
Path parameters
token
string
Required
Opaque token (hashed server-side for lookup).
Validation:
plain invitation token from the email linkErrors
| Status | Meaning | Body |
|---|---|---|
422 |
Invalid, accepted, or expired token | {"message":"The given data was invalid.","errors":{"token":["This invitation link is invalid."]}} |
403 |
Feature workspaces not enabled | {"message":"This feature is not enabled for your account. Please contact your administrator.","feature":"workspaces"} |
Notes
- Reseller middleware only; Sanctum not required.
- requires_registration / requires_login are mutually informative based on whether that email already has an account in the reseller.
- Other token messages: This invitation has already been accepted.; This invitation has expired.
curl --request GET \
--url https://app.sulus.ai/api/workspace-invitations/{token} \
--header 'Authorization: Bearer <YOUR_API_KEY>'
import requests
url = "https://app.sulus.ai/api/workspace-invitations/{token}"
headers = {"Authorization": "Bearer <YOUR_API_KEY>"}
response = requests.get(url, headers=headers)
print(response.json())
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://app.sulus.ai/api/workspace-invitations/{token}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <YOUR_API_KEY>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
Response
200
{
"data": {
"workspace_name": "Jane's Workspace",
"inviter_name": "Jane Cooper",
"role": "member",
"email": "[email protected]",
"expires_at": "2026-08-06T12:00:00.000000Z",
"requires_registration": true,
"requires_login": false
}
}
Response — GET
/workspace-invitations/{token}
200
{
"data": {
"workspace_name": "Jane's Workspace",
"inviter_name": "Jane Cooper",
"role": "member",
"email": "[email protected]",
"expires_at": "2026-08-06T12:00:00.000000Z",
"requires_registration": true,
"requires_login": false
}
}