For the complete documentation index, see llms.txt. This page is also available as Markdown.

Accounts

get
Authorizations
AuthorizationstringRequired
Query parameters
searchanyOptional

A search term.

pageanyOptional

A page number within the paginated result set.

page_sizeanyOptional

Number of results to return per page.

Responses
200Success
application/json
countintegerRequired
nextstring · uriOptional
previousstring · uriOptional
get/accounts/analysts/
GET /accounts/analysts/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
200Success
{
  "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
Authorizations
AuthorizationstringRequired
Responses
200Success
application/json
consent_givenbooleanOptional
user_uuidstring · uuidRead-onlyOptional
get/accounts/analysts/current/
GET /accounts/analysts/current/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
200Success
{
  "consent_given": true,
  "user_progress": {
    "integrations": [
      "text"
    ],
    "filters": [
      "text"
    ],
    "onboarding": [
      "text"
    ]
  },
  "user_uuid": "123e4567-e89b-12d3-a456-426614174000"
}
patch
Authorizations
AuthorizationstringRequired
Body
consent_givenbooleanOptional
user_uuidstring · uuidRead-onlyOptional
Responses
200Success
application/json
consent_givenbooleanOptional
user_uuidstring · uuidRead-onlyOptional
patch/accounts/analysts/current/
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"
    ]
  }
}
200Success
{
  "consent_given": true,
  "user_progress": {
    "integrations": [
      "text"
    ],
    "filters": [
      "text"
    ],
    "onboarding": [
      "text"
    ]
  },
  "user_uuid": "123e4567-e89b-12d3-a456-426614174000"
}
get
Authorizations
AuthorizationstringRequired
Query parameters
pageanyOptional

A page number within the paginated result set.

Responses
200Success
application/json
countintegerRequired
nextstring · uriOptional
previousstring · uriOptional
get/accounts/groups/
GET /accounts/groups/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
200Success
{
  "count": 1,
  "next": "https://example.com",
  "previous": "https://example.com",
  "results": [
    {
      "id": 1,
      "name": "text"
    }
  ]
}

List invitations

get

List the invitations for the organizaton.

Authorizations
AuthorizationstringRequired
Query parameters
pageanyOptional

A page number within the paginated result set.

page_sizeanyOptional

Number of results to return per page.

Responses
200Success
application/json
countintegerRequired
nextstring · uriOptional
previousstring · uriOptional
get/accounts/invite/
GET /accounts/invite/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
200Success
{
  "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.

post

Create an invitation for a user to join an organization.

Authorizations
AuthorizationstringRequired
Body
uuidstring · uuidRead-onlyOptional
invitee_identifierstring · min: 1Required
rolestring · enumOptionalPossible values:
invited_bystring · uuidRead-onlyOptional
sent_atstring · date-timeRead-onlyOptional
valid_untilstring · date-timeRead-onlyOptional
Responses
201

Invitation created successfully

application/json
uuidstring · uuidRead-onlyOptional
invitee_identifierstring · min: 1Required
rolestring · enumOptionalPossible values:
invited_bystring · uuidRead-onlyOptional
sent_atstring · date-timeRead-onlyOptional
valid_untilstring · date-timeRead-onlyOptional
post/accounts/invite/
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
Authorizations
AuthorizationstringRequired
Path parameters
uuidanyRequired
Responses
200Success
application/json
uuidstring · uuidRead-onlyOptional
invitee_identifierstring · min: 1Required
rolestring · enumOptionalPossible values:
invited_bystring · uuidRead-onlyOptional
sent_atstring · date-timeRead-onlyOptional
valid_untilstring · date-timeRead-onlyOptional
get/accounts/invite/{uuid}/
GET /accounts/invite/{uuid}/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
200Success
[
  {
    "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 invitation to a user to join an organization.

post

Resend an invitation to a user to join an organization.

Authorizations
AuthorizationstringRequired
Path parameters
uuidanyRequired
Bodyobject · OrganizationInvitation[]
uuidstring · uuidRead-onlyOptional
invitee_identifierstring · min: 1Required
rolestring · enumOptionalPossible values:
invited_bystring · uuidRead-onlyOptional
sent_atstring · date-timeRead-onlyOptional
valid_untilstring · date-timeRead-onlyOptional
Responses
200

Invitation resent successfully

application/json
uuidstring · uuidRead-onlyOptional
invitee_identifierstring · min: 1Required
rolestring · enumOptionalPossible values:
invited_bystring · uuidRead-onlyOptional
sent_atstring · date-timeRead-onlyOptional
valid_untilstring · date-timeRead-onlyOptional
post/accounts/invite/{uuid}/
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 invitation to a user to join an organization.

delete

Revoke an invitation to a user to join an organization.

Authorizations
AuthorizationstringRequired
Path parameters
uuidanyRequired
Responses
204

Invitation revoked successfully

No content

delete/accounts/invite/{uuid}/
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).

post

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.

Authorizations
AuthorizationstringRequired
Body
emailstring · email · min: 1Required
Responses
200

Successful Response

application/json
paramsstringOptional
post/accounts/login_url/
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"
}
get
Authorizations
AuthorizationstringRequired
Query parameters
idanyOptional

id

uuidanyOptional

uuid

nameanyOptional

name

sluganyOptional

slug

searchanyOptional

A search term.

pageanyOptional

A page number within the paginated result set.

page_sizeanyOptional

Number of results to return per page.

Responses
200Success
application/json
countintegerRequired
nextstring · uriOptional
previousstring · uriOptional
get/accounts/organizations/
GET /accounts/organizations/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
200Success
{
  "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
      }
    }
  ]
}
post
Authorizations
AuthorizationstringRequired
Body
uuidstring · uuidRead-onlyOptional
namestring · min: 1 · max: 200Required

The name of the organization

slugstring · slug · min: 1 · max: 200Required

The name in all lowercase, suitable for URL identification

Pattern: ^[-a-zA-Z0-9_]+$
account_portal_urlstringRead-onlyOptional
Responses
201Success
application/json
uuidstring · uuidRead-onlyOptional
namestring · min: 1 · max: 200Required

The name of the organization

slugstring · slug · min: 1 · max: 200Required

The name in all lowercase, suitable for URL identification

Pattern: ^[-a-zA-Z0-9_]+$
account_portal_urlstringRead-onlyOptional
post/accounts/organizations/
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": {}
}
201Success
{
  "uuid": "123e4567-e89b-12d3-a456-426614174000",
  "name": "text",
  "slug": "text",
  "account_portal_url": "text",
  "rate_limit": {
    "limit": 1,
    "usage": 1,
    "remaining": 1,
    "overriden": true
  }
}
get
Authorizations
AuthorizationstringRequired
Path parameters
uuidanyRequired
Responses
200Success
application/json
uuidstring · uuidRead-onlyOptional
namestring · min: 1 · max: 200Required

The name of the organization

slugstring · slug · min: 1 · max: 200Required

The name in all lowercase, suitable for URL identification

Pattern: ^[-a-zA-Z0-9_]+$
account_portal_urlstringRead-onlyOptional
get/accounts/organizations/{uuid}/
GET /accounts/organizations/{uuid}/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
200Success
{
  "uuid": "123e4567-e89b-12d3-a456-426614174000",
  "name": "text",
  "slug": "text",
  "account_portal_url": "text",
  "rate_limit": {
    "limit": 1,
    "usage": 1,
    "remaining": 1,
    "overriden": true
  }
}
put
Authorizations
AuthorizationstringRequired
Path parameters
uuidanyRequired
Body
uuidstring · uuidRead-onlyOptional
namestring · min: 1 · max: 200Required

The name of the organization

slugstring · slug · min: 1 · max: 200Required

The name in all lowercase, suitable for URL identification

Pattern: ^[-a-zA-Z0-9_]+$
account_portal_urlstringRead-onlyOptional
Responses
200Success
application/json
uuidstring · uuidRead-onlyOptional
namestring · min: 1 · max: 200Required

The name of the organization

slugstring · slug · min: 1 · max: 200Required

The name in all lowercase, suitable for URL identification

Pattern: ^[-a-zA-Z0-9_]+$
account_portal_urlstringRead-onlyOptional
put/accounts/organizations/{uuid}/
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": {}
}
200Success
{
  "uuid": "123e4567-e89b-12d3-a456-426614174000",
  "name": "text",
  "slug": "text",
  "account_portal_url": "text",
  "rate_limit": {
    "limit": 1,
    "usage": 1,
    "remaining": 1,
    "overriden": true
  }
}
delete
Authorizations
AuthorizationstringRequired
Path parameters
uuidanyRequired
Responses
204Success

No content

delete/accounts/organizations/{uuid}/
DELETE /accounts/organizations/{uuid}/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
204Success

No content

patch
Authorizations
AuthorizationstringRequired
Path parameters
uuidanyRequired
Body
uuidstring · uuidRead-onlyOptional
namestring · min: 1 · max: 200Required

The name of the organization

slugstring · slug · min: 1 · max: 200Required

The name in all lowercase, suitable for URL identification

Pattern: ^[-a-zA-Z0-9_]+$
account_portal_urlstringRead-onlyOptional
Responses
200Success
application/json
uuidstring · uuidRead-onlyOptional
namestring · min: 1 · max: 200Required

The name of the organization

slugstring · slug · min: 1 · max: 200Required

The name in all lowercase, suitable for URL identification

Pattern: ^[-a-zA-Z0-9_]+$
account_portal_urlstringRead-onlyOptional
patch/accounts/organizations/{uuid}/
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": {}
}
200Success
{
  "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
Authorizations
AuthorizationstringRequired
Path parameters
uuidanyRequired
Body
usageintegerOptional
Responses
200Success
application/json
limitintegerRead-onlyOptional
usageintegerRead-onlyOptional
remainingintegerRead-onlyOptional
overridenbooleanRead-onlyOptional
post/accounts/organizations/{uuid}/increment/
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
}
200Success
{
  "limit": 1,
  "usage": 1,
  "remaining": 1,
  "overriden": true
}
get
Authorizations
AuthorizationstringRequired
Responses
200Success

No content

get/accounts/portal/
GET /accounts/portal/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
200Success

No content

get
Authorizations
AuthorizationstringRequired
Query parameters
searchanyOptional

A search term.

pageanyOptional

A page number within the paginated result set.

page_sizeanyOptional

Number of results to return per page.

Responses
200Success
application/json
countintegerRequired
nextstring · uriOptional
previousstring · uriOptional
get/accounts/users/
GET /accounts/users/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
200Success
{
  "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
    }
  ]
}
post
Authorizations
AuthorizationstringRequired
Body
idintegerRead-onlyOptional
uuidstring · uuidRead-onlyOptional
emailstring · email · max: 254Optional
first_namestring · max: 150Optional
last_namestring · max: 150Optional
groupsinteger[]Optional

The groups this user belongs to. A user will get all permissions granted to each of their groups.

is_activebooleanOptional

Designates whether this user should be treated as active. Unselect this instead of deleting accounts.

Responses
201Success
application/json
idintegerRead-onlyOptional
uuidstring · uuidRead-onlyOptional
emailstring · email · max: 254Optional
first_namestring · max: 150Optional
last_namestring · max: 150Optional
groupsinteger[]Optional

The groups this user belongs to. A user will get all permissions granted to each of their groups.

is_activebooleanOptional

Designates whether this user should be treated as active. Unselect this instead of deleting accounts.

post/accounts/users/
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
}
201Success
{
  "id": 1,
  "uuid": "123e4567-e89b-12d3-a456-426614174000",
  "email": "name@gmail.com",
  "first_name": "text",
  "last_name": "text",
  "groups": [
    1
  ],
  "is_active": true
}
get
Authorizations
AuthorizationstringRequired
Path parameters
uuidanyRequired
Responses
200Success
application/json
idintegerRead-onlyOptional
uuidstring · uuidRead-onlyOptional
emailstring · email · max: 254Optional
first_namestring · max: 150Optional
last_namestring · max: 150Optional
groupsinteger[]Optional

The groups this user belongs to. A user will get all permissions granted to each of their groups.

is_activebooleanOptional

Designates whether this user should be treated as active. Unselect this instead of deleting accounts.

get/accounts/users/{uuid}/
GET /accounts/users/{uuid}/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
200Success
{
  "id": 1,
  "uuid": "123e4567-e89b-12d3-a456-426614174000",
  "email": "name@gmail.com",
  "first_name": "text",
  "last_name": "text",
  "groups": [
    1
  ],
  "is_active": true
}
put
Authorizations
AuthorizationstringRequired
Path parameters
uuidanyRequired
Body
idintegerRead-onlyOptional
uuidstring · uuidRead-onlyOptional
emailstring · email · max: 254Optional
first_namestring · max: 150Optional
last_namestring · max: 150Optional
groupsinteger[]Optional

The groups this user belongs to. A user will get all permissions granted to each of their groups.

is_activebooleanOptional

Designates whether this user should be treated as active. Unselect this instead of deleting accounts.

Responses
200Success
application/json
idintegerRead-onlyOptional
uuidstring · uuidRead-onlyOptional
emailstring · email · max: 254Optional
first_namestring · max: 150Optional
last_namestring · max: 150Optional
groupsinteger[]Optional

The groups this user belongs to. A user will get all permissions granted to each of their groups.

is_activebooleanOptional

Designates whether this user should be treated as active. Unselect this instead of deleting accounts.

put/accounts/users/{uuid}/
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
}
200Success
{
  "id": 1,
  "uuid": "123e4567-e89b-12d3-a456-426614174000",
  "email": "name@gmail.com",
  "first_name": "text",
  "last_name": "text",
  "groups": [
    1
  ],
  "is_active": true
}
delete
Authorizations
AuthorizationstringRequired
Path parameters
uuidanyRequired
Responses
204Success

No content

delete/accounts/users/{uuid}/
DELETE /accounts/users/{uuid}/ HTTP/1.1
Host: api.turngate.io/
Authorization: YOUR_API_KEY
Accept: */*
204Success

No content

patch
Authorizations
AuthorizationstringRequired
Path parameters
uuidanyRequired
Body
idintegerRead-onlyOptional
uuidstring · uuidRead-onlyOptional
emailstring · email · max: 254Optional
first_namestring · max: 150Optional
last_namestring · max: 150Optional
groupsinteger[]Optional

The groups this user belongs to. A user will get all permissions granted to each of their groups.

is_activebooleanOptional

Designates whether this user should be treated as active. Unselect this instead of deleting accounts.

Responses
200Success
application/json
idintegerRead-onlyOptional
uuidstring · uuidRead-onlyOptional
emailstring · email · max: 254Optional
first_namestring · max: 150Optional
last_namestring · max: 150Optional
groupsinteger[]Optional

The groups this user belongs to. A user will get all permissions granted to each of their groups.

is_activebooleanOptional

Designates whether this user should be treated as active. Unselect this instead of deleting accounts.

patch/accounts/users/{uuid}/
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
}
200Success
{
  "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