> ## Documentation Index
> Fetch the complete documentation index at: https://docs.smartcomply.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Card Fraud Detection

> Submit a card transaction for real-time fraud scoring based on your configured thresholds and limits.

The Card Fraud Detection endpoint evaluates a card transaction in real-time, computing a activity code using your configured thresholds and limits. All fields are required. Use a unique `transaction_id` for each request to ensure accurate tracking.

## Endpoint

```
POST /api/v1/monitoring/transaction_monitoring/
```

## Request

### Headers

| Header           | Value               | Required |
| ---------------- | ------------------- | -------- |
| `x-access-token` | Your API secret key | Yes      |
| `Content-Type`   | `application/json`  | Yes      |

### Body Parameters

| Parameter                            | Type   | Required | Description                                |
| ------------------------------------ | ------ | -------- | ------------------------------------------ |
| `transaction_id`                     | string | Yes      | Unique identifier for the transaction      |
| `amount`                             | number | Yes      | Transaction amount                         |
| `currency`                           | string | Yes      | Currency code (e.g., `NGN`, `USD`)         |
| `transaction_type`                   | string | Yes      | Transaction type (e.g., `card`)            |
| `account_type`                       | string | Yes      | Account type: `individual` or `corporate`  |
| `timestamp`                          | string | Yes      | ISO-8601 datetime of the transaction       |
| `card_details`                       | object | Yes      | Details of the card used                   |
| `card_details.bin`                   | string | Yes      | First six digits of the card number (BIN)  |
| `card_details.last4`                 | string | Yes      | Last four digits of the card number        |
| `merchant_details`                   | object | Yes      | Merchant details                           |
| `merchant_details.merchant_name`     | string | Yes      | Name of the merchant                       |
| `merchant_details.merchant_location` | string | Yes      | Location of the merchant                   |
| `customer_details`                   | object | Yes      | Customer details                           |
| `customer_details.customer_name`     | string | Yes      | Customer's full name                       |
| `customer_details.customer_email`    | string | Yes      | Customer's email address                   |
| `customer_details.customer_phone`    | string | Yes      | Customer's phone number with country code  |
| `customer_details.bvn`               | string | Yes      | Customer's Bank Verification Number        |
| `additional_info`                    | object | Yes      | Additional context for fraud evaluation    |
| `additional_info.ip_address`         | string | Yes      | IP address during the transaction          |
| `additional_info.country_code`       | string | Yes      | Country code (e.g., `234`)                 |
| `additional_info.location`           | string | Yes      | Customer location (e.g., `Lagos, Nigeria`) |

### Example

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST "https://adhere-api.smartcomply.com/api/v1/monitoring/transaction_monitoring/" \
    -H "x-access-token: YOUR_SECRET_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "transaction_id": "12345678",
      "amount": 300000,
      "currency": "NGN",
      "transaction_type": "card",
      "account_type": "individual",
      "timestamp": "2025-08-23T14:30:00Z",
      "card_details": {
        "bin": "345676",
        "last4": "9809"
      },
      "merchant_details": {
        "merchant_name": "ABC Stores",
        "merchant_location": "Lagos, Nigeria"
      },
      "customer_details": {
        "customer_name": "John Doe",
        "customer_email": "john.doe@example.com",
        "customer_phone": "+2347012345678",
        "bvn": "1234567890"
      },
      "additional_info": {
        "ip_address": "102.89.1.1",
        "country_code": "234",
        "location": "Lagos, Nigeria"
      }
    }'
  ```
</CodeGroup>

## Response

### 201 Created

| Field                | Type   | Description                                                                                                                         |
| -------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------- |
| `data.activity_code` | string | Activity code returned from the fraud assessment (see [activity codes](/v3/transaction/card_transaction/card_transaction_overview)) |
| `data.status`        | string | Transaction status: `"clean"` or `"suspicious"`                                                                                     |
| `data.comment`       | array  | List of triggered fraud rules, if any                                                                                               |

```json theme={null}
{
  "status": "Success",
  "data": {
    "activity_code": "200",
    "status": "clean",
    "comment": []
  },
  "message": "Transaction was successfully processed"
}
```

### 400 Bad Request

```json theme={null}
{
  "status": "failed",
  "data": [],
  "message": "Sorry, your check cannot be processed at the moment. Please try again in a few minutes"
}
```

### 401 Unauthorized

```json theme={null}
{
  "status": "failed",
  "message": "Authentication credentials were not provided."
}
```


## OpenAPI

````yaml POST /api/v1/monitoring/transaction_monitoring/
openapi: 3.0.3
info:
  title: Adhere API
  description: >-
    Identity verification, credit checks, transaction monitoring, and loan fraud
    detection across Africa.
  version: 3.0.0
servers:
  - url: https://adhere-api.smartcomply.com
    description: Production
security:
  - ApiKeyAuth: []
tags:
  - name: Nigeria KYC
  - name: Kenya KYC
  - name: Ghana KYC
  - name: Rwanda KYC
  - name: Uganda KYC
  - name: Biometrics
  - name: Individual Credit
  - name: Business Credit
  - name: Transaction Monitoring
  - name: Transaction Screening
  - name: Transaction KYC
  - name: Loan Fraud
  - name: User Journey
paths:
  /api/v1/monitoring/transaction_monitoring/:
    post:
      tags:
        - Transaction Monitoring
      summary: Submit Transaction for Monitoring
      operationId: submitTransaction
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - transaction_id
                - amount
                - currency
                - transaction_type
                - account_type
                - origin_account
                - destination_account
                - customer_details
                - additional_info
              properties:
                transaction_id:
                  type: string
                  example: TXN-12345678
                amount:
                  type: number
                  example: 50000
                currency:
                  type: string
                  example: NGN
                transaction_type:
                  type: string
                  enum:
                    - transfer
                    - card
                    - ussd
                    - web
                account_type:
                  type: string
                  enum:
                    - individual
                    - corporate
                origin_account:
                  type: object
                  required:
                    - account_number
                    - bank_code
                  properties:
                    account_number:
                      type: string
                      example: '9876543219'
                    bank_code:
                      type: string
                      example: '001'
                destination_account:
                  type: object
                  required:
                    - account_number
                    - bank_code
                  properties:
                    account_number:
                      type: string
                      example: '123456789'
                    bank_code:
                      type: string
                      example: '002'
                customer_details:
                  type: object
                  required:
                    - customer_name
                    - customer_email
                  properties:
                    customer_name:
                      type: string
                    customer_email:
                      type: string
                      format: email
                    bvn:
                      type: string
                additional_info:
                  type: object
                  required:
                    - ip_address
                    - location
                  properties:
                    ip_address:
                      type: string
                      example: 192.168.1.1
                    location:
                      type: string
                      example: Lagos, Nigeria
                    transaction_description:
                      type: string
                run_kyc:
                  type: boolean
                  default: false
      responses:
        '201':
          description: Transaction processed
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                example: failed
              data:
                type: array
                items: {}
              message:
                type: string
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                example: failed
              message:
                type: string
                example: Authentication credentials were not provided.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-access-token
      description: Your Adhere API secret key

````