sanctions.io Account Management API
API tokens, company and webhook configuration, users, plans, and usage.
API tokens, company and webhook configuration, users, plans, and usage.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/sanctions-io-account-management-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: sanctions.io Account Management API
description: The sanctions.io API provides sanctions, PEP (politically exposed persons), and criminal watchlist screening for AML compliance. It covers the Screening API (v2.3) - real-time single search, batch screening of up to 10,000 records per request, adverse media search, data source listing, and full database export - and the Monitoring API (v3.1) for continuous monitoring with alerts, plus account management (tokens, company and webhook configuration, users, plans, usage). All requests require a Bearer API token in the Authorization header; the API version is selected with the Accept header, for example "application/json; version=2.3" (the adverse media endpoint requires version=3.0). Sign up for a self-serve 7-day free trial at https://api.sanctions.io/users/signup to obtain a key.
version: '2.3'
contact:
name: sanctions.io
url: https://www.sanctions.io
email: info@sanctions.io
termsOfService: https://www.sanctions.io/terms-of-service
servers:
- url: https://api.sanctions.io
description: Production
security:
- bearerAuth: []
tags:
- name: Account Management
description: API tokens, company and webhook configuration, users, plans, and usage.
paths:
/tokens/:
get:
operationId: listApiTokens
tags:
- Account Management
summary: List API tokens
description: Lists the API tokens on your account.
parameters:
- $ref: '#/components/parameters/acceptVersion'
responses:
'200':
description: List of API tokens.
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createApiToken
tags:
- Account Management
summary: Create an API token
description: Creates a new API token for your account.
parameters:
- $ref: '#/components/parameters/acceptVersion'
responses:
'201':
description: API token created.
'401':
$ref: '#/components/responses/Unauthorized'
/tokens/{token_key}:
delete:
operationId: deleteApiToken
tags:
- Account Management
summary: Delete an API token
description: Deletes (revokes) an API token by key.
parameters:
- $ref: '#/components/parameters/acceptVersion'
- name: token_key
in: path
required: true
description: The key of the token to delete.
schema:
type: string
responses:
'204':
description: API token deleted.
'401':
$ref: '#/components/responses/Unauthorized'
/company/:
get:
operationId: getCompany
tags:
- Account Management
summary: Get company
description: Retrieves your company details.
parameters:
- $ref: '#/components/parameters/acceptVersion'
responses:
'200':
description: Company detail.
'401':
$ref: '#/components/responses/Unauthorized'
put:
operationId: editCompany
tags:
- Account Management
summary: Edit company
description: Updates your company details.
parameters:
- $ref: '#/components/parameters/acceptVersion'
responses:
'200':
description: Company updated.
'401':
$ref: '#/components/responses/Unauthorized'
/company/config/:
get:
operationId: getCompanyConfig
tags:
- Account Management
summary: Get company config
description: Retrieves the company configuration, including any registered webhook endpoint.
parameters:
- $ref: '#/components/parameters/acceptVersion'
responses:
'200':
description: Company configuration.
'401':
$ref: '#/components/responses/Unauthorized'
put:
operationId: editCompanyConfig
tags:
- Account Management
summary: Edit company config
description: Updates the company configuration, including registering or changing the webhook endpoint URL. Webhook creation returns a hash_secret used to verify the SHA-256 x-sanctions-security signature on delivered events; the secret cannot be retrieved again later.
parameters:
- $ref: '#/components/parameters/acceptVersion'
responses:
'200':
description: Company configuration updated.
'401':
$ref: '#/components/responses/Unauthorized'
/user/:
get:
operationId: listCompanyUsers
tags:
- Account Management
summary: List company users
description: Lists the users on your company account, with pagination.
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/page'
- name: page_size
in: query
required: false
description: Number of users per page.
schema:
type: integer
example: 25
responses:
'200':
description: Paginated list of users.
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: inviteUser
tags:
- Account Management
summary: Invite a user
description: Invites a new user to your company account.
parameters:
- $ref: '#/components/parameters/acceptVersion'
responses:
'201':
description: User invited.
'401':
$ref: '#/components/responses/Unauthorized'
/user/{user_uuid}:
get:
operationId: getUser
tags:
- Account Management
summary: Get a user
description: Retrieves a company user by UUID.
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userUuid'
responses:
'200':
description: User detail.
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
patch:
operationId: updateUser
tags:
- Account Management
summary: Update a user
description: Updates a company user by UUID.
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userUuid'
responses:
'200':
description: User updated.
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteUser
tags:
- Account Management
summary: Delete a user
description: Deletes a company user by UUID.
parameters:
- $ref: '#/components/parameters/acceptVersion'
- $ref: '#/components/parameters/userUuid'
responses:
'204':
description: User deleted.
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/plans/:
get:
operationId: manageSubscriptions
tags:
- Account Management
summary: Manage subscriptions
description: Retrieves the plan subscriptions on your account.
parameters:
- $ref: '#/components/parameters/acceptVersion'
responses:
'200':
description: Plan subscriptions.
'401':
$ref: '#/components/responses/Unauthorized'
/searches/count:
get:
operationId: listScreeningsCount
tags:
- Account Management
summary: Count screenings
description: Returns the count of screenings performed by your account, for usage tracking against plan volume.
parameters:
- $ref: '#/components/parameters/acceptVersion'
responses:
'200':
description: Screening count.
'401':
$ref: '#/components/responses/Unauthorized'
components:
responses:
Unauthorized:
description: Authentication credentials were not provided or are invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
detail: Authentication credentials were not provided.
NotFound:
description: The requested resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
page:
name: page
in: query
required: false
description: Page number for paginated results.
schema:
type: integer
example: 1
userUuid:
name: user_uuid
in: path
required: true
description: The user UUID.
schema:
type: string
acceptVersion:
name: Accept
in: header
required: false
description: Selects the API version, e.g. "application/json; version=2.3". Without the header, version 1.0 is used by default.
schema:
type: string
example: application/json; version=2.3
schemas:
Error:
type: object
properties:
detail:
type: string
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'API token from the sanctions.io user portal, passed as "Authorization: Bearer {token}". The token may also be sent as a URL parameter, but the Authorization header is recommended.'