Accounts
A search term.
A page number within the paginated result set.
Number of results to return per page.
GET /accounts/analysts/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
{
"count": 1,
"next": "https://example.com",
"previous": "https://example.com",
"results": [
{
"id": 1,
"user": {
"id": 1,
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"email": "name@gmail.com",
"first_name": "text",
"last_name": "text",
"groups": [
1
],
"is_active": true
},
"organization": 1,
"name": "text"
}
]
}GET /accounts/analysts/current/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
{
"consent_given": true,
"user_progress": {
"integrations": [
"text"
],
"filters": [
"text"
],
"onboarding": [
"text"
]
},
"user_uuid": "123e4567-e89b-12d3-a456-426614174000"
}PATCH /accounts/analysts/current/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 105
{
"consent_given": true,
"user_progress": {
"integrations": [
"text"
],
"filters": [
"text"
],
"onboarding": [
"text"
]
}
}{
"consent_given": true,
"user_progress": {
"integrations": [
"text"
],
"filters": [
"text"
],
"onboarding": [
"text"
]
},
"user_uuid": "123e4567-e89b-12d3-a456-426614174000"
}A page number within the paginated result set.
GET /accounts/groups/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
{
"count": 1,
"next": "https://example.com",
"previous": "https://example.com",
"results": [
{
"id": 1,
"name": "text"
}
]
}List the invitations for the organizaton.
A page number within the paginated result set.
Number of results to return per page.
GET /accounts/invite/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
{
"count": 1,
"next": "https://example.com",
"previous": "https://example.com",
"results": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"invitee_identifier": "text",
"role": "Analyst",
"invited_by": "123e4567-e89b-12d3-a456-426614174000",
"sent_at": "2026-01-01T00:00:00.000Z",
"valid_until": "2026-01-01T00:00:00.000Z"
}
]
}Create an invitation for a user to join an organization.
Invitation created successfully
Invite aready exists, try resending invitation.
Bad request
You do not have permission to perform this action.
POST /accounts/invite/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 46
{
"invitee_identifier": "text",
"role": "Analyst"
}{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"invitee_identifier": "text",
"role": "Analyst",
"invited_by": "123e4567-e89b-12d3-a456-426614174000",
"sent_at": "2026-01-01T00:00:00.000Z",
"valid_until": "2026-01-01T00:00:00.000Z"
}GET /accounts/invite/{uuid}/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
[
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"invitee_identifier": "text",
"role": "Analyst",
"invited_by": "123e4567-e89b-12d3-a456-426614174000",
"sent_at": "2026-01-01T00:00:00.000Z",
"valid_until": "2026-01-01T00:00:00.000Z"
}
]Resend an invitation to a user to join an organization.
Invitation resent successfully
Bad request
You do not have permission to perform this action.
Invitation not found
Failed to resend invite via external identity provider.
POST /accounts/invite/{uuid}/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 48
[
{
"invitee_identifier": "text",
"role": "Analyst"
}
][
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"invitee_identifier": "text",
"role": "Analyst",
"invited_by": "123e4567-e89b-12d3-a456-426614174000",
"sent_at": "2026-01-01T00:00:00.000Z",
"valid_until": "2026-01-01T00:00:00.000Z"
}
]Revoke an invitation to a user to join an organization.
Invitation revoked successfully
No content
Bad request
You do not have permission to perform this action.
Failed to revoke invite via external identity provider.
DELETE /accounts/invite/{uuid}/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
No content
On POST attempt to generate and return login params containing the login hint url and the account identifier (email).
The following cases are handled:
If an email address does not pass the serializer EmailField validation, return an error.
If a there are multiple users associated with the same email address. Return a route indicating manual entry is required.
If a valid email is provided, fetch the Org's striviactiy metdata and use that to build a login hint and return the correct value.
Successful Response
Invalid Input
POST /accounts/login_url/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 26
{
"email": "name@gmail.com"
}{
"params": "text"
}id
uuid
name
slug
A search term.
A page number within the paginated result set.
Number of results to return per page.
GET /accounts/organizations/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
{
"count": 1,
"next": "https://example.com",
"previous": "https://example.com",
"results": [
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"slug": "text",
"account_portal_url": "text",
"rate_limit": {
"limit": 1,
"usage": 1,
"remaining": 1,
"overriden": true
}
}
]
}The name of the organization
The name in all lowercase, suitable for URL identification
^[-a-zA-Z0-9_]+$The name of the organization
The name in all lowercase, suitable for URL identification
^[-a-zA-Z0-9_]+$POST /accounts/organizations/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 45
{
"name": "text",
"slug": "text",
"rate_limit": {}
}{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"slug": "text",
"account_portal_url": "text",
"rate_limit": {
"limit": 1,
"usage": 1,
"remaining": 1,
"overriden": true
}
}The name of the organization
The name in all lowercase, suitable for URL identification
^[-a-zA-Z0-9_]+$GET /accounts/organizations/{uuid}/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"slug": "text",
"account_portal_url": "text",
"rate_limit": {
"limit": 1,
"usage": 1,
"remaining": 1,
"overriden": true
}
}The name of the organization
The name in all lowercase, suitable for URL identification
^[-a-zA-Z0-9_]+$The name of the organization
The name in all lowercase, suitable for URL identification
^[-a-zA-Z0-9_]+$PUT /accounts/organizations/{uuid}/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 45
{
"name": "text",
"slug": "text",
"rate_limit": {}
}{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"slug": "text",
"account_portal_url": "text",
"rate_limit": {
"limit": 1,
"usage": 1,
"remaining": 1,
"overriden": true
}
}No content
DELETE /accounts/organizations/{uuid}/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
No content
The name of the organization
The name in all lowercase, suitable for URL identification
^[-a-zA-Z0-9_]+$The name of the organization
The name in all lowercase, suitable for URL identification
^[-a-zA-Z0-9_]+$PATCH /accounts/organizations/{uuid}/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 45
{
"name": "text",
"slug": "text",
"rate_limit": {}
}{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"slug": "text",
"account_portal_url": "text",
"rate_limit": {
"limit": 1,
"usage": 1,
"remaining": 1,
"overriden": true
}
}POST /accounts/organizations/{uuid}/increment/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 11
{
"usage": 1
}{
"limit": 1,
"usage": 1,
"remaining": 1,
"overriden": true
}No content
GET /accounts/portal/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
No content
A search term.
A page number within the paginated result set.
Number of results to return per page.
GET /accounts/users/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
{
"count": 1,
"next": "https://example.com",
"previous": "https://example.com",
"results": [
{
"id": 1,
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"email": "name@gmail.com",
"first_name": "text",
"last_name": "text",
"groups": [
1
],
"is_active": true
}
]
}The groups this user belongs to. A user will get all permissions granted to each of their groups.
Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
The groups this user belongs to. A user will get all permissions granted to each of their groups.
Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
POST /accounts/users/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 95
{
"email": "name@gmail.com",
"first_name": "text",
"last_name": "text",
"groups": [
1
],
"is_active": true
}{
"id": 1,
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"email": "name@gmail.com",
"first_name": "text",
"last_name": "text",
"groups": [
1
],
"is_active": true
}The groups this user belongs to. A user will get all permissions granted to each of their groups.
Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
GET /accounts/users/{uuid}/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
{
"id": 1,
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"email": "name@gmail.com",
"first_name": "text",
"last_name": "text",
"groups": [
1
],
"is_active": true
}The groups this user belongs to. A user will get all permissions granted to each of their groups.
Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
The groups this user belongs to. A user will get all permissions granted to each of their groups.
Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
PUT /accounts/users/{uuid}/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 95
{
"email": "name@gmail.com",
"first_name": "text",
"last_name": "text",
"groups": [
1
],
"is_active": true
}{
"id": 1,
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"email": "name@gmail.com",
"first_name": "text",
"last_name": "text",
"groups": [
1
],
"is_active": true
}No content
DELETE /accounts/users/{uuid}/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
No content
The groups this user belongs to. A user will get all permissions granted to each of their groups.
Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
The groups this user belongs to. A user will get all permissions granted to each of their groups.
Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
PATCH /accounts/users/{uuid}/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 95
{
"email": "name@gmail.com",
"first_name": "text",
"last_name": "text",
"groups": [
1
],
"is_active": true
}{
"id": 1,
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"email": "name@gmail.com",
"first_name": "text",
"last_name": "text",
"groups": [
1
],
"is_active": true
}Last updated

