Synctera Watchlist API
Request to enroll, renew, or cancel watchlist monitors
Request to enroll, renew, or cancel watchlist monitors
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/synctera-watchlist-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:
description: '<h2>Let''s build something great.</h2><p>Welcome to the official reference documentation for Synctera APIs. Our APIs are the best way to automate your company''s banking needs and are designed to be easy to understand and implement.</p><p>We''re continuously growing this library and what you see here is just the start, but if you need something specific or have a question, <a class=''text-blue-600'' href=''https://synctera.com/contact'' target=''_blank'' rel=''noreferrer''>contact us</a>.</p>
'
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
title: Synctera Accounts Watchlist API
version: 0.20.0
servers:
- description: Production
url: https://api.synctera.com/v0
- description: Sandbox (no real world financial impact)
url: https://api-sandbox.synctera.com/v0
security:
- bearerAuth: []
tags:
- description: Request to enroll, renew, or cancel watchlist monitors
name: Watchlist
paths:
/customers/{customer_id}/watchlists/alerts:
description: 'List, retrieve, or update watchlist alerts. **Deprecated:** use `/v0/monitoring/alerts`.
'
summary: Subscriptions to watchlist alerts
get:
deprecated: true
operationId: listWatchlistAlerts
parameters:
- $ref: '#/components/parameters/customer_id_path'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/watchlist_alert_list'
description: List of watchlist alerts
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/not_found'
'500':
$ref: '#/components/responses/internal_server_error'
summary: List watchlist monitoring alerts for a customer
tags:
- Watchlist
x-external: true
x-status: deprecated
/customers/{customer_id}/watchlists/alerts/{alert_id}:
description: 'Retrieve or update a single watchlist alert. **Deprecated:** use `/v0/monitoring/alerts/{alert_id}` instead.
'
summary: Retrieve or update a single watchlist alert.
get:
deprecated: true
operationId: getWatchlistAlert
parameters:
- $ref: '#/components/parameters/customer_id_path'
- $ref: '#/components/parameters/alert_id'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/watchlist_alert'
description: A single watchlist alert
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/not_found'
'500':
$ref: '#/components/responses/internal_server_error'
summary: Retrieve watchlist monitoring alert
tags:
- Watchlist
x-external: true
x-status: deprecated
put:
deprecated: true
operationId: updateWatchlistAlert
parameters:
- $ref: '#/components/parameters/customer_id_path'
- $ref: '#/components/parameters/alert_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/watchlist_alert'
description: A watchlist body
required: true
responses:
'200':
description: Watchlist alert was updated
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/not_found'
'500':
$ref: '#/components/responses/internal_server_error'
summary: Update watchlist alert
tags:
- Watchlist
x-external: true
x-status: deprecated
/customers/{customer_id}/watchlists/subscriptions:
description: 'Create, list, or retrieve watchlist subscriptions **Deprecated:** use `/v0/monitoring/subscriptions`
'
summary: Subscriptions to watchlist monitoring
get:
deprecated: true
operationId: listWatchlistSubscriptions
parameters:
- $ref: '#/components/parameters/customer_id_path'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/watchlist_subscription_list'
description: List of watchlist subscriptions
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/not_found'
'500':
$ref: '#/components/responses/internal_server_error'
summary: List watchlist monitoring subscriptions for a customer
tags:
- Watchlist
x-external: true
x-status: deprecated
post:
deprecated: true
operationId: watchlistSubscribe
parameters:
- $ref: '#/components/parameters/idempotency_key'
- $ref: '#/components/parameters/customer_id_path'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/watchlist_subscription'
description: A watchlist subscription
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/watchlist_subscription'
description: New watchlist subscription
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'500':
$ref: '#/components/responses/internal_server_error'
summary: Subscribe a customer to watchlist monitoring
tags:
- Watchlist
x-external: true
x-status: deprecated
/customers/{customer_id}/watchlists/subscriptions/{subscription_id}:
description: 'Retrieve or update a single watchlist subscription **Deprecated:** use `/v0/monitoring/subscriptions/{subscription_id}`.
'
summary: Watchlist monitoring subscription
get:
deprecated: true
operationId: getWatchlistSubscription
parameters:
- $ref: '#/components/parameters/customer_id_path'
- $ref: '#/components/parameters/subscription_id'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/watchlist_subscription'
description: A single watchlist subscription
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/not_found'
'500':
$ref: '#/components/responses/internal_server_error'
summary: Retrieve watchlist monitoring subscription
tags:
- Watchlist
x-external: true
x-status: deprecated
put:
deprecated: true
operationId: updateWatchlistSubscription
parameters:
- $ref: '#/components/parameters/customer_id_path'
- $ref: '#/components/parameters/subscription_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/watchlist_subscription'
description: 'Watchlist monitoring subscription to be updated. The only field that matters is `status`; all other fields are ignored.
'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/watchlist_subscription'
description: Updated watchlist subscription
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/not_found'
'500':
$ref: '#/components/responses/internal_server_error'
summary: Update watchlist monitoring subscription
tags:
- Watchlist
x-external: true
x-status: deprecated
/customers/{customer_id}/watchlists/suppressions:
description: 'Suppress or unsuppress current and future alerts for the given subject (person).
'
summary: Update suppression of watchlist alerts for one subject
post:
deprecated: true
operationId: suppressWatchlistEntityAlert
parameters:
- $ref: '#/components/parameters/idempotency_key'
- $ref: '#/components/parameters/customer_id_path'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/watchlist_suppress'
description: A watchlist suppression object
required: true
responses:
'200':
description: Watchlist alerts belonging to entity was updated
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'404':
$ref: '#/components/responses/not_found'
'500':
$ref: '#/components/responses/internal_server_error'
summary: Suppress entity alert
tags:
- Watchlist
x-external: true
x-status: deprecated
components:
parameters:
subscription_id:
description: Watchlist monitoring subscription ID
in: path
name: subscription_id
required: true
schema:
example: ddcacaa4-e0e4-4652-ae9f-5ef7f1b7d7e1
format: uuid
type: string
alert_id:
description: Unique identifier for this watchlist alert.
in: path
name: alert_id
required: true
schema:
example: ff23b9d0-4e64-4b98-9f4a-3591ed08121a
format: uuid
type: string
customer_id_path:
description: The customer's unique identifier
in: path
name: customer_id
required: true
schema:
$ref: '#/components/schemas/customer_id'
idempotency_key:
description: An idempotency key is an arbitrary unique value generated by client to detect subsequent retries of the same request. It is recommended that a UUID or a similar random identifier be used as an idempotency key
in: header
name: Idempotency-Key
required: false
schema:
example: df122e6f-2ba8-48a5-9508-4350bba5f27e
type: string
x-external: true
schemas:
watchlist_subscription:
properties:
auto_renew:
description: 'Whether this subscription should automatically renew when the subscription period is over (default: vendor-dependent).
'
type: boolean
created:
description: When this subscription was created
format: date-time
type: string
customer_consent:
description: 'Whether this customer has consented to being enrolled for watchlist monitoring
'
type: boolean
id:
description: Unique identifier for this subscription
format: uuid
type: string
period_end:
description: The date when monitoring of this individual should end.
format: date
type: string
period_start:
description: 'The date when monitoring of this individual should begin (default: today).'
format: date
type: string
provider_subscription_id:
description: External provider subscription id
type: string
status:
enum:
- ACTIVE
- INACTIVE
type: string
required:
- customer_consent
type: object
vendor_xml:
properties:
content_type:
description: Describes the content-type encoding received from the vendor
enum:
- text/xml
type: string
vendor:
example: IDOLOGY
type: string
xml:
description: Data representaion in XML
type: string
required:
- vendor
- content_type
- xml
paginated_response:
properties:
next_page_token:
description: If returned, use the next_page_token to query for the next page of results. Not returned if there are no more rows.
example: d61grelm5f
type: string
title: Paginated List response
type: object
watchlist_suppress:
properties:
provider_subject_id:
description: 'The id of the subject (person) for whom future alerts should be suppressed.
'
type: string
provider_subscription_id:
description: 'The provider''s id for the subscription that caused the alert(s) that are being suppressed.
'
type: string
status:
description: The status of this suppression
enum:
- SUPPRESS
- UNSUPPRESS
type: string
required:
- provider_subscription_id
- provider_subject_id
- status
type: object
error:
properties:
detail:
description: a human-readable string explaining this particular error
example: 'missing required fields: first_name, dob'
type: string
status:
description: the HTTP status code for this response
example: 400
type: integer
title:
description: a human-readable string for this general category of error
example: Bad Request Body
type: string
type:
description: a URI that identifies this general category of error
example: https://dev.synctera.com/errors/bad-request-body
type: string
title: Standard error response (RFC 7807 problem report)
type: object
watchlist_alert:
properties:
created:
description: When this alert was created
format: date-time
type: string
id:
description: Unique identifier for this alert
format: uuid
type: string
provider_info:
description: 'The information provided to Synctera that triggered this alert, as an arbitrary JSON object. Interpretation of this object is up to the client.
'
type: object
provider_subject_id:
description: The id of the provider subject for this alert
type: string
provider_subscription_id:
description: The id of the provider subscription for this alert
type: string
provider_watchlist_name:
description: The name of the provider for this alert
type: string
status:
description: The status of this alert
enum:
- ACTIVE
- SUPPRESSED
type: string
urls:
description: 'Where to get more information about this alert (according to our third-party data provider).
'
items:
type: string
type: array
vendor_info:
$ref: '#/components/schemas/vendor_info'
required:
- status
type: object
watchlist_alert_list:
allOf:
- properties:
alerts:
items:
$ref: '#/components/schemas/watchlist_alert'
type: array
required:
- alerts
type: object
- $ref: '#/components/schemas/paginated_response'
vendor_info:
description: 'The information provided to Synctera from the vendor. Interpretation of this object is up to the client.
'
discriminator:
mapping:
application/json: '#/components/schemas/vendor_json'
text/xml: '#/components/schemas/vendor_xml'
propertyName: content_type
oneOf:
- $ref: '#/components/schemas/vendor_json'
- $ref: '#/components/schemas/vendor_xml'
title: Vendor Info
type: object
customer_id:
example: 4605deb4-3f8d-4566-9bf1-0dc558b63258
format: uuid
type: string
vendor_json:
properties:
content_type:
description: Describes the content-type encoding received from the vendor
enum:
- application/json
type: string
json:
description: Data representation in JSON
type: object
vendor:
example: SOCURE
type: string
required:
- vendor
- content_type
- json
watchlist_subscription_list:
allOf:
- properties:
subscriptions:
items:
$ref: '#/components/schemas/watchlist_subscription'
type: array
required:
- subscriptions
type: object
- $ref: '#/components/schemas/paginated_response'
responses:
bad_request:
content:
application/problem+json:
schema:
$ref: '#/components/schemas/error'
description: BadRequest
forbidden:
content:
application/problem+json:
schema:
$ref: '#/components/schemas/error'
description: Forbidden error
unauthorized:
content:
application/problem+json:
schema:
$ref: '#/components/schemas/error'
description: Unauthorized
not_found:
content:
application/problem+json:
schema:
$ref: '#/components/schemas/error'
description: Resource not found
internal_server_error:
content:
application/problem+json:
schema:
$ref: '#/components/schemas/error'
description: Internal server error
securitySchemes:
bearerAuth:
bearerFormat: api_key
scheme: bearer
type: http
x-readme:
explorer-enabled: true
proxy-enabled: true
samples-enabled: true