# Authentication API



<EndpointIndex
  names={[
  	'createAuthToken',
  	'createServiceAccountAuthToken',
  	'fetchAuthTokens',
  	'fetchAuthTokensForUser',
  	'deleteAuthToken',
  	'deleteAuthTokenForUser',
  	'revokeUserOauthTokens',
  	'removeCredentials',
  ]}
  titles={{
  	createAuthToken: 'Create an Auth Token',
  	createServiceAccountAuthToken: 'Create a Service Account Auth Token',
  	fetchAuthTokens: 'Fetch All Auth Tokens',
  	fetchAuthTokensForUser: 'Fetch Auth Tokens for a User',
  	deleteAuthToken: 'Delete an Auth Token',
  	deleteAuthTokenForUser: 'Delete an Auth Token for a Specific User',
  	revokeUserOauthTokens: 'Revoke OAuth Tokens for a User',
  	removeCredentials: 'Remove Credentials for a User',
  }}
/>

Creation [#creation]

Create an Auth Token [#create-an-auth-token]

<ApiEndpoint name="createAuthToken" title="Create an Auth Token" />

Create a Service Account Auth Token [#create-a-service-account-auth-token]

<ApiEndpoint name="createServiceAccountAuthToken" title="Create a Service Account Auth Token" />

<ApiSchema name="AuthTokenCreateRequest" />

Fetch [#fetch]

Fetch All Auth Tokens [#fetch-all-auth-tokens]

<ApiEndpoint name="fetchAuthTokens" title="Fetch All Auth Tokens" />

Fetch Auth Tokens for a User [#fetch-auth-tokens-for-a-user]

<ApiEndpoint name="fetchAuthTokensForUser" title="Fetch Auth Tokens for a User" />

<ApiSchema name="AuthTokenResponse" />

Deletion [#deletion]

Delete an Auth Token [#delete-an-auth-token]

<ApiEndpoint name="deleteAuthToken" title="Delete an Auth Token" />

Delete an Auth Token for a Specific User [#delete-an-auth-token-for-a-specific-user]

<ApiEndpoint name="deleteAuthTokenForUser" title="Delete an Auth Token for a Specific User" />

Revocation [#revocation]

Revoke OAuth Tokens for a User [#revoke-oauth-tokens-for-a-user]

<ApiEndpoint name="revokeUserOauthTokens" title="Revoke OAuth Tokens for a User" />

Remove Credentials for a User [#remove-credentials-for-a-user]

<ApiEndpoint name="removeCredentials" title="Remove Credentials for a User" />


## API Reference

POST /auth/users/tokens — createAuthToken
Tags: users-controller
Permissions: write, token
Request body (AuthTokenCreateRequest):
Responses:
  200 string — OK

POST /auth/users/{locator}/tokens — createServiceAccountAuthToken
Tags: users-controller
Permissions: custom
Parameters:
  locator (uuid, path, required)
Request body (AuthTokenCreateRequest):
Responses:
  200 string — OK

GET /auth/users/tokens — fetchAuthTokens
Tags: users-controller
Permissions: read, custom
Responses:
  200 AuthTokenResponse[] — OK

GET /auth/users/{locator}/tokens — fetchAuthTokensForUser
Tags: users-controller
Permissions: read, custom
Parameters:
  locator (uuid, path, required)
Responses:
  200 AuthTokenResponse[] — OK

DELETE /auth/users/tokens/{tokenOrName} — deleteAuthToken
Tags: users-controller
Permissions: write, custom
Parameters:
  tokenOrName (string, path, required)
Responses:
  200 — OK

DELETE /auth/users/{locator}/tokens/{tokenOrName} — deleteAuthTokenForUser
Tags: users-controller
Permissions: write, custom
Parameters:
  locator (uuid, path, required)
  tokenOrName (string, path, required)
Responses:
  200 — OK

POST /auth/users/{locator}/revoke — revokeUserOauthTokens
Tags: users-controller
Permissions: write, custom, revoke
Parameters:
  locator (uuid, path, required)
Responses:
  200 — OK

DELETE /auth/users/{locator}/credentials — removeCredentials
Tags: users-controller
Permissions: write, custom
Parameters:
  locator (uuid, path, required)
Responses:
  200 — OK

AuthTokenCreateRequest
Properties:
  name (string, required)
  tenants (string[], required)
  permissions (string[], required)
  expiresAt (datetime, required)

AuthTokenResponse
Properties:
  name (string, required)
  tenants (string[])
  permissions (string[])
  createdAt (datetime, required)
  expiresAt (datetime, required)