Team
Members and invitations. Owners and admins manage the team; members publish and answer.
List members and invitations
Section titled “List members and invitations”GET
/v1/teamResponse 200
data
membersobject[]requiredmembers
userIdstringrequiredemailstringrolestringrequiredjoinedAtstring (date-time)requiredyoubooleanrequired
invitationsobject[]requiredinvitations
idstringrequiredemailstringrequiredrolestringrequiredcreatedAtstring (date-time)requiredexpiresAtstring (date-time)required
curl "https://api.usecrier.com/v1/team" \ -H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/team', { headers: { Authorization: `Bearer ${process.env.CRIER_API_KEY}`, },});const { data } = await res.json();import os, requests
res = requests.get( "https://api.usecrier.com/v1/team", headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},)data = res.json()["data"]Invite someone
Section titled “Invite someone”POST
/v1/team/invitationsDashboard onlyReturns a link to send to them. They join by signing in with the invited email.
Body
emailstring (email)requiredWho to invite; they must sign in with this email to accept.
rolestringadminmanages the team, API keys and webhooks;memberpublishes and answers.
Response 201
data
invitationobjectrequiredinvitation
idstringrequiredemailstringrequiredrolestringrequiredcreatedAtstring (date-time)requiredexpiresAtstring (date-time)required
urlstring (uri)requiredThe link to send. Shown only now; valid for 7 days.
curl -X POST "https://api.usecrier.com/v1/team/invitations" \ -H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/team/invitations', { method: 'POST', headers: { Authorization: `Bearer ${process.env.CRIER_API_KEY}`, },});const { data } = await res.json();import os, requests
res = requests.post( "https://api.usecrier.com/v1/team/invitations", headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},)data = res.json()["data"]Cancel an invitation
Section titled “Cancel an invitation”DELETE
/v1/team/invitations/{id}Dashboard onlyParameters
idstringrequired
Response 204
No content
curl -X DELETE "https://api.usecrier.com/v1/team/invitations/inv_9n1m4l" \ -H "Authorization: Bearer $CRIER_API_KEY"await fetch('https://api.usecrier.com/v1/team/invitations/inv_9n1m4l', { method: 'DELETE', headers: { Authorization: `Bearer ${process.env.CRIER_API_KEY}`, },});import os, requests
requests.delete( "https://api.usecrier.com/v1/team/invitations/inv_9n1m4l", headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},)Change a role
Section titled “Change a role”PATCH
/v1/team/members/{userId}Dashboard onlyParameters
userIdstringrequired
Body
rolestringrequired
Response 200
data
userIdstringrequiredemailstringrolestringrequiredjoinedAtstring (date-time)requiredyoubooleanrequired
curl -X PATCH "https://api.usecrier.com/v1/team/members/{userId}" \ -H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/team/members/{userId}', { method: 'PATCH', headers: { Authorization: `Bearer ${process.env.CRIER_API_KEY}`, },});const { data } = await res.json();import os, requests
res = requests.patch( "https://api.usecrier.com/v1/team/members/{userId}", headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},)data = res.json()["data"]Remove someone, or leave
Section titled “Remove someone, or leave”DELETE
/v1/team/members/{userId}Dashboard onlyParameters
userIdstringrequired
Response 204
No content
curl -X DELETE "https://api.usecrier.com/v1/team/members/{userId}" \ -H "Authorization: Bearer $CRIER_API_KEY"await fetch('https://api.usecrier.com/v1/team/members/{userId}', { method: 'DELETE', headers: { Authorization: `Bearer ${process.env.CRIER_API_KEY}`, },});import os, requests
requests.delete( "https://api.usecrier.com/v1/team/members/{userId}", headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},)Accept an invitation
Section titled “Accept an invitation”POST
/v1/invitations/acceptDashboard onlyBody
tokenstringrequiredThe token in the invitation link.
Response 200
data
workspaceIdstringrequiredrolestringrequired
curl -X POST "https://api.usecrier.com/v1/invitations/accept" \ -H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/invitations/accept', { method: 'POST', headers: { Authorization: `Bearer ${process.env.CRIER_API_KEY}`, },});const { data } = await res.json();import os, requests
res = requests.post( "https://api.usecrier.com/v1/invitations/accept", headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},)data = res.json()["data"]© 2026 Crier by TWOFACES ·usecrier.com ·Dashboard ·soporte@twofacesco.com