Cable screening API

The screening API from Cable — 2 operation(s) for screening.

Operations 6

GET /v2/screening Check if a screening exists #
POST /v2/screening Add new screening(s) #
PUT /v2/screening Update screenings in batch #
GET /transaction_screening Check if a transaction screening exists #
POST /transaction_screening Add new transaction screening(s) #
PUT /transaction_screening Update an existing transaction screening #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cable-screening-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

cable-screening-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cable Screening API
  version: 1.0.0
  description: 'Operations tagged screening across 2 of this provider''s published API definitions: cable-api-reference-openapi-original.yml, cable-transaction-data-api-openapi-original.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.cable.tech
  description: Production
- url: https://transaction-api.cable.tech
  description: Production server
tags:
- name: screening
paths:
  /v2/screening:
    get:
      operationId: check-screening
      summary: Check if a screening exists
      tags:
      - screening
      parameters:
      - name: screening_id
        in: query
        description: The unique identifier of the screening
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Screening exists
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Screening_checkScreening_Response_200'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '404':
          description: Screening does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
    post:
      operationId: add-screening
      summary: Add new screening(s)
      tags:
      - screening
      parameters:
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Screening added successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WriteOperationResponse'
        '400':
          description: Invalid Screening data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '409':
          description: Screening already exists
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
      requestBody:
        description: Screening data to add.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewScreeningRequest'
    put:
      operationId: update-screenings
      summary: Update screenings in batch
      tags:
      - screening
      parameters:
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Screening updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WriteOperationResponse'
        '400':
          description: Invalid screening data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '404':
          description: Screening not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
      requestBody:
        description: An array of screening update payloads. Each payload must include the 'screening_id' to identify the screening and can include any other fields that need to be updated. The 'timestamp' field represents the time of update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateScreeningsRequest'
    servers:
    - url: https://api.cable.tech
      description: Production
  /transaction_screening:
    get:
      operationId: check-transaction-screening
      summary: Check if a transaction screening exists
      tags:
      - screening
      parameters:
      - name: screening_id
        in: query
        description: The unique identifier of the transaction screening
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Transaction screening exists
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Screening_checkTransactionScreening_Response_200'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '404':
          description: Transaction screening does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
    post:
      operationId: add-transaction-screening
      summary: Add new transaction screening(s)
      tags:
      - screening
      parameters:
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Transaction screening added successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionScreening'
        '400':
          description: Invalid transaction screening data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '409':
          description: Transaction screening already exists
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
      requestBody:
        description: Transaction screening data to add.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewTransactionScreeningRequest'
    put:
      operationId: update-transaction-screening
      summary: Update an existing transaction screening
      tags:
      - screening
      parameters:
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Transaction screening updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionScreening'
        '400':
          description: Invalid transaction screening data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '404':
          description: Transaction screening not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralError'
      requestBody:
        description: Transaction screening data to update, referenced by 'screening_id'. The 'timestamp' field represents the update time. Only the fields to be updated need to be included.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTransactionScreeningRequest'
    servers:
    - url: https://transaction-api.cable.tech
      description: Production server
components:
  schemas:
    WriteOperationResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Indicates if the write operation was successful.
        write_count:
          type: integer
          description: The number of records written to the database.
        message:
          type: string
          description: Provides additional information about the operation result.
        organization_id:
          type: string
          description: The organization ID for which the operation was performed.
      required:
      - success
      - write_count
      - message
      - organization_id
      title: WriteOperationResponse
    UpdateScreeningsRequest:
      type: array
      items:
        $ref: '#/components/schemas/Screening'
      description: Screening data to update, referenced by 'screening_id'. The 'timestamp' field represents the update time. Only the fields to be updated need to be included.
      title: UpdateScreeningsRequest
    NewScreeningRequest:
      type: array
      items:
        $ref: '#/components/schemas/NewScreeningRequestItems'
      description: Screening data to add.
      title: NewScreeningRequest
    Screening_checkScreening_Response_200:
      type: object
      properties:
        screening_id:
          type: string
          description: The unique identifier of the screening
        first_seen:
          type: string
          format: date-time
          description: This represents the earliest timestamp associated with the screening
        last_seen:
          type: string
          format: date-time
          description: This represents the latest timestamp associated with the screening
        organization_id:
          type: string
          description: The organization ID for which the screening was found
      title: Screening_checkScreening_Response_200
    GeneralErrorErrorsItems:
      type: object
      properties:
        field:
          type: string
        message:
          type: string
      title: GeneralErrorErrorsItems
    GeneralError:
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/GeneralErrorErrorsItems'
          description: Detailed information about errors in specific fields.
      required:
      - code
      - message
      title: GeneralError
    NewScreeningRequestItems:
      type: object
      properties:
        screening_id:
          type: string
          description: Unique identifier for the screening. This is the primary key for a screening and should be unique across screenings.
        type:
          $ref: '#/components/schemas/NewScreeningRequestItemsType'
          description: The type of screening check performed (e.g., SANCTION, PEP, ADVERSE_MEDIA, etc.).
        outcome:
          $ref: '#/components/schemas/NewScreeningRequestItemsOutcome'
          description: The outcome of the screening check (e.g., POSITIVE, NEGATIVE, TRUE_POSITIVE, etc.). The value "SCREENED" should only be used when the outcome is not available but there is the confirmation that the screening has been done.
        outcome_details:
          type: string
          description: Further details on the reason of the screening outcome. For a transaction screening, it could be due to many reasons, so it could be relevant to include further details.
        provider:
          type: string
          description: The provider that performed the screening check.
        lists:
          type: array
          items:
            type: string
          description: The list(s) that the transaction was screened against. E.g. OFAC, ComplyAdvantage, Watchlists...
        timestamp:
          type: string
          format: date-time
          description: When the screening was performed in your system, in ISO 8601 format.
        related_tx_id:
          type: string
          description: Unique identifier for the related transaction in case of a transaction screening. Only one of `related_tx_id`, `related_person_id` or `related_company_id` should be provided.
        related_person_id:
          type: string
          description: Unique identifier for the related person in case of a person and/or transaction screening. Only one of `related_tx_id`, `related_person_id` or `related_company_id` should be provided.
        related_company_id:
          type: string
          description: Unique identifier for the related company in case of a company screening. Only one of `related_tx_id`, `related_person_id` or `related_company_id` should be provided.
      required:
      - screening_id
      - type
      - outcome
      - provider
      - lists
      - timestamp
      title: NewScreeningRequestItems
    NewScreeningRequestItemsType:
      type: string
      enum:
      - ADVERSE_MEDIA
      - AML
      - PEP
      - SANCTION
      description: The type of screening check performed (e.g., SANCTION, PEP, ADVERSE_MEDIA, etc.).
      title: NewScreeningRequestItemsType
    Screening:
      type: object
      properties:
        screening_id:
          type: string
          description: Unique identifier for the screening. This is the primary key for a screening and should be unique across screenings.
        type:
          $ref: '#/components/schemas/ScreeningType'
          description: The type of screening check performed (e.g., SANCTION, PEP, ADVERSE_MEDIA, etc.).
        outcome:
          $ref: '#/components/schemas/ScreeningOutcome'
          description: The outcome of the screening check (e.g., POSITIVE, NEGATIVE, TRUE_POSITIVE, etc.). The value "SCREENED" should only be used when the outcome is not available but there is the confirmation that the screening has been done.
        outcome_details:
          type: string
          description: Further details on the reason of the screening outcome. For a transaction screening, it could be due to many reasons, so it could be relevant to include further details.
        provider:
          type: string
          description: The provider that performed the screening check.
        lists:
          type: array
          items:
            type: string
          description: The list(s) that the transaction was screened against. E.g. OFAC, ComplyAdvantage, Watchlists...
        timestamp:
          type: string
          format: date-time
          description: When the screening was performed in your system, in ISO 8601 format.
        related_tx_id:
          type: string
          description: Unique identifier for the related transaction in case of a transaction screening. Only one of `related_tx_id`, `related_person_id` or `related_company_id` should be provided.
        related_person_id:
          type: string
          description: Unique identifier for the related person in case of a person and/or transaction screening. Only one of `related_tx_id`, `related_person_id` or `related_company_id` should be provided.
        related_company_id:
          type: string
          description: Unique identifier for the related company in case of a company screening. Only one of `related_tx_id`, `related_person_id` or `related_company_id` should be provided.
      required:
      - screening_id
      - outcome
      - timestamp
      title: Screening
    ScreeningOutcome:
      type: string
      enum:
      - POSITIVE
      - NEGATIVE
      - FALSE_NEGATIVE
      - FALSE_POSITIVE
      - TRUE_NEGATIVE
      - TRUE_POSITIVE
      - SCREENED
      description: The outcome of the screening check (e.g., POSITIVE, NEGATIVE, TRUE_POSITIVE, etc.). The value "SCREENED" should only be used when the outcome is not available but there is the confirmation that the screening has been done.
      title: ScreeningOutcome
    ScreeningType:
      type: string
      enum:
      - ADVERSE_MEDIA
      - AML
      - PEP
      - SANCTION
      description: The type of screening check performed (e.g., SANCTION, PEP, ADVERSE_MEDIA, etc.).
      title: ScreeningType
    NewScreeningRequestItemsOutcome:
      type: string
      enum:
      - POSITIVE
      - NEGATIVE
      - FALSE_NEGATIVE
      - FALSE_POSITIVE
      - TRUE_NEGATIVE
      - TRUE_POSITIVE
      - SCREENED
      description: The outcome of the screening check (e.g., POSITIVE, NEGATIVE, TRUE_POSITIVE, etc.). The value "SCREENED" should only be used when the outcome is not available but there is the confirmation that the screening has been done.
      title: NewScreeningRequestItemsOutcome
    UpdateTransactionScreeningRequest:
      type: object
      properties:
        screening_id:
          type: string
          description: Unique identifier for a transaction screening. This is the primary key for a screening and should be unique across all transaction screenings. Updates to a transaction screening should be made using this identifier.
        type:
          type: string
          description: The type of screening check performed.
        outcome:
          type: string
          description: The outcome of the screening check.
        provider:
          type: string
          description: The provider that provided the screening check.
        lists:
          type: array
          items:
            type: string
          description: The list(s) that the transaction was screened against.
        related_tx_id:
          type: string
          description: Unique identifier for a transaction as it relates to the transaction screening.
        additional_properties:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalProperties'
          description: Additional metadata that relates to a transaction screening.
        timestamp:
          type: string
          format: date-time
          description: The time of the transaction screening. This should be in ISO 8601 format. When adding a new transaction screening, this field represents the creation time. When updating a transaction screening, this represents the time of the update.
      required:
      - screening_id
      - timestamp
      description: Transaction screening data to update, referenced by 'sar_id'. The 'timestamp' field represents the update time. Only the fields to be updated need to be included.
      title: UpdateTransactionScreeningRequest
    NewTransactionScreeningRequestItems:
      type: object
      properties:
        screening_id:
          type: string
          description: Unique identifier for a transaction screening. This is the primary key for a screening and should be unique across all transaction screenings. Updates to a transaction screening should be made using this identifier.
        type:
          type: string
          description: The type of screening check performed.
        outcome:
          type: string
          description: The outcome of the screening check.
        provider:
          type: string
          description: The provider that provided the screening check.
        lists:
          type: array
          items:
            type: string
          description: The list(s) that the transaction was screened against.
        related_tx_id:
          type: string
          description: Unique identifier for a transaction as it relates to the transaction screening.
        additional_properties:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalProperties'
          description: Additional metadata that relates to a transaction screening.
        timestamp:
          type: string
          format: date-time
          description: The time of the transaction screening. This should be in ISO 8601 format. When adding a new transaction screening, this field represents the creation time. When updating a transaction screening, this represents the time of the update.
      required:
      - screening_id
      - type
      - outcome
      - provider
      - lists
      - timestamp
      title: NewTransactionScreeningRequestItems
    Screening_checkTransactionScreening_Response_200:
      type: object
      properties:
        screening_id:
          type: string
          description: The unique identifier of the transaction screening
        first_seen:
          type: string
          format: date-time
          description: This represents the earliest timestamp associated with the transaction screening
        last_seen:
          type: string
          format: date-time
          description: This represents the latest timestamp associated with the transaction screening
        organization_id:
          type: string
          description: The organization ID for which the transaction screening was found
      title: Screening_checkTransactionScreening_Response_200
    NewTransactionScreeningRequest:
      type: array
      items:
        $ref: '#/components/schemas/NewTransactionScreeningRequestItems'
      description: Transaction screening data to add.
      title: NewTransactionScreeningRequest
    TransactionScreening:
      type: object
      properties:
        screening_id:
          type: string
          description: Unique identifier for a transaction screening. This is the primary key for a screening and should be unique across all transaction screenings. Updates to a transaction screening should be made using this identifier.
        type:
          type: string
          description: The type of screening check performed.
        outcome:
          type: string
          description: The outcome of the screening check.
        provider:
          type: string
          description: The provider that provided the screening check.
        lists:
          type: array
          items:
            type: string
          description: The list(s) that the transaction was screened against.
        related_tx_id:
          type: string
          description: Unique identifier for a transaction as it relates to the transaction screening.
        additional_properties:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalProperties'
          description: Additional metadata that relates to a transaction screening.
        timestamp:
          type: string
          format: date-time
          description: The time of the transaction screening. This should be in ISO 8601 format. When adding a new transaction screening, this field represents the creation time. When updating a transaction screening, this represents the time of the update.
      required:
      - screening_id
      - timestamp
      title: TransactionScreening
    AdditionalProperties:
      type: object
      properties:
        key:
          type: string
          description: The key of the additional property. This should be unique within the additional properties array.
        value:
          type: string
          description: The value of the additional property.
        type:
          $ref: '#/components/schemas/AdditionalPropertiesType'
          description: The type of the additional property value, for example "string", "number", "boolean", "object", "array".
        description:
          type: string
          description: A description of the additional property. This should provide context for the value.
      required:
      - key
      - value
      - type
      - description
      description: Additional metadata that can be added to a payload, such as transaction checks, alerts, and suspicious activities.
      title: AdditionalProperties
    AdditionalPropertiesType:
      type: string
      enum:
      - STRING
      - NUMBER
      - BOOLEAN
      - OBJECT
      - ARRAY
      description: The type of the additional property value, for example "string", "number", "boolean", "object", "array".
      title: AdditionalPropertiesType
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
    BearerAuth:
      type: http
      scheme: bearer
x-refined-from:
- cable-api-reference-openapi-original.yml
- cable-transaction-data-api-openapi-original.yml