Temenos Sanction Screening API

Screen customers and transactions against sanctions lists, PEP databases, and watchlists with alert generation and management.

Documentation

Specifications

Other Resources

OpenAPI Specification

temenos-sanction-screening-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Temenos Buy Now Pay Later Accounts Sanction Screening API
  description: APIs for buy now pay later services with embedded Explainable AI for automated decisioning and credit offer matching. Supports interest-free and interest-bearing BNPL products with point-of-sale integration and full loan lifecycle management. Core banking agnostic and deployable on Temenos Banking Cloud.
  version: 1.0.0
  contact:
    name: Temenos Developer Support
    url: https://developer.temenos.com/
    email: api.support@temenos.com
  license:
    name: Temenos Terms of Service
    url: https://www.temenos.com/legal-information/website-terms-and-conditions/
  termsOfService: https://www.temenos.com/legal-information/website-terms-and-conditions/
servers:
- url: https://api.temenos.com/bnpl/v1
  description: Temenos BNPL API - Production
security:
- bearerAuth: []
tags:
- name: Sanction Screening
  description: Screen customers and transactions against sanctions lists, PEP databases, and watchlists with alert generation and management.
paths:
  /screening/customers/{customerId}/alerts:
    get:
      operationId: getCustomerSanctionAlerts
      summary: Get Customer Sanction Alerts
      description: Retrieve all sanctions screening alerts for a specific customer including matches against sanctions lists, PEP databases, and adverse media sources.
      tags:
      - Sanction Screening
      parameters:
      - $ref: '#/components/parameters/customerId'
      responses:
        '200':
          description: Successful retrieval of customer alerts
          content:
            application/json:
              schema:
                type: object
                properties:
                  body:
                    type: array
                    items:
                      $ref: '#/components/schemas/SanctionAlert'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /screening/customers/alerts:
    get:
      operationId: getAllCustomersSanctionAlerts
      summary: List All Customer Sanction Alerts
      description: Retrieve the list of outstanding sanctions screening alerts across all customers, indexed by customer identifier. Supports filtering by alert status and severity.
      tags:
      - Sanction Screening
      parameters:
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/pageStart'
      - name: status
        in: query
        description: Filter by alert status
        schema:
          type: string
          enum:
          - OPEN
          - UNDER_REVIEW
          - ESCALATED
          - CLOSED_TRUE_MATCH
          - CLOSED_FALSE_POSITIVE
      - name: severity
        in: query
        description: Filter by alert severity
        schema:
          type: string
          enum:
          - HIGH
          - MEDIUM
          - LOW
      responses:
        '200':
          description: Successful retrieval of alerts
          content:
            application/json:
              schema:
                type: object
                properties:
                  header:
                    $ref: '#/components/schemas/PaginationHeader'
                  body:
                    type: array
                    items:
                      $ref: '#/components/schemas/SanctionAlert'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /screening/onboarding:
    post:
      operationId: screenOnboardingCustomer
      summary: Screen Onboarding Customer
      description: Screen a new customer during onboarding against sanctions lists, PEP databases, and adverse media to verify they are not sanctioned individuals, entities, or politically exposed persons.
      tags:
      - Sanction Screening
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnboardingScreenRequest'
      responses:
        '200':
          description: Screening completed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScreeningResult'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /screening/transactions:
    post:
      operationId: scanTransactionMessage
      summary: Scan Payment Message
      description: Scan a payment message against sanctions lists and screening rules to identify potential matches in beneficiary names, addresses, and other payment details.
      tags:
      - Sanction Screening
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionScanRequest'
      responses:
        '200':
          description: Transaction scan completed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScreeningResult'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    OnboardingScreenRequest:
      type: object
      description: Onboarding screening request
      required:
      - name
      properties:
        customerId:
          type: string
          description: Customer identifier if available
        name:
          type: string
          description: Full name to screen
        dateOfBirth:
          type: string
          format: date
          description: Date of birth
        nationality:
          type: string
          description: Nationality code
        address:
          type: string
          description: Address information
        idDocument:
          type: string
          description: Identity document number
    PaginationHeader:
      type: object
      description: Pagination metadata
      properties:
        page_size:
          type: integer
          description: Records per page
        page_start:
          type: integer
          description: Starting record
        total_size:
          type: integer
          description: Total records
    ScreeningResult:
      type: object
      description: Screening result
      properties:
        screeningId:
          type: string
          description: Screening identifier
        status:
          type: string
          description: Screening outcome
          enum:
          - CLEAR
          - MATCH_FOUND
          - POTENTIAL_MATCH
        matches:
          type: array
          description: Found matches
          items:
            $ref: '#/components/schemas/SanctionAlert'
    TransactionScanRequest:
      type: object
      description: Transaction message scan request
      required:
      - transactionId
      - beneficiaryName
      properties:
        transactionId:
          type: string
          description: Transaction identifier
        originatorName:
          type: string
          description: Originator name
        beneficiaryName:
          type: string
          description: Beneficiary name
        beneficiaryAddress:
          type: string
          description: Beneficiary address
        amount:
          type: number
          format: double
          description: Transaction amount
        currency:
          type: string
          description: Transaction currency
        messageType:
          type: string
          description: Message format type
          enum:
          - MT103
          - MT202
          - PACS008
          - PACS009
    SanctionAlert:
      type: object
      description: Sanctions screening alert
      properties:
        alertId:
          type: string
          description: Unique alert identifier
        customerId:
          type: string
          description: Associated customer identifier
        matchType:
          type: string
          description: Type of screening match
          enum:
          - SANCTIONS
          - PEP
          - ADVERSE_MEDIA
          - WATCHLIST
        matchScore:
          type: number
          format: double
          description: Match confidence score
          minimum: 0
          maximum: 100
        matchedEntity:
          type: string
          description: Name of matched entity on list
        listSource:
          type: string
          description: Source list for the match
        severity:
          type: string
          description: Alert severity
          enum:
          - HIGH
          - MEDIUM
          - LOW
        status:
          type: string
          description: Alert status
          enum:
          - OPEN
          - UNDER_REVIEW
          - ESCALATED
          - CLOSED_TRUE_MATCH
          - CLOSED_FALSE_POSITIVE
        createdDate:
          type: string
          format: date-time
          description: Alert creation timestamp
    Error:
      type: object
      description: Error response
      properties:
        errorCode:
          type: string
          description: Error code
        errorMessage:
          type: string
          description: Error description
  responses:
    Unauthorized:
      description: Authentication required
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Invalid request parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    customerId:
      name: customerId
      in: path
      required: true
      description: Unique customer identifier
      schema:
        type: string
    pageStart:
      name: page_start
      in: query
      description: Starting record number
      schema:
        type: integer
        minimum: 0
        default: 0
    pageSize:
      name: page_size
      in: query
      description: Number of records to return per page
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 25
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
externalDocs:
  description: Temenos BNPL API Documentation
  url: https://developer.temenos.com/service/buy-now-pay-later