Skip to main content

Overview

AnyCheck supports 12 different verification services through integration with government databases and trusted third-party providers. Each service type has specialized processing capabilities designed for specific document and data validation needs.

Available Verification Services

KTP & PEP

Validate Indonesian national ID cards with NIK, PEP screening, and selfie comparison

BPKB

Verify vehicle registration and ownership documents

Land Certificate

Validate land ownership certificates and property documents

Bank Statement

Extract and verify bank statement data

Financial Statement

Process and validate financial statements for business analysis

SLIK

Credit history analysis with multiple template options

Payslip

Extract and verify payslip information

Vehicle Price

Vehicle valuation and market price verification

Company Check

Verify company and industry information analysis

NIB Check

Verify NIB (business registration)

Document Forensic

Advanced fraud detection and document authenticity verification

Document Extraction

Extract structured data from documents using Fintelite AI

Service Configuration Reference

KTP & PEP

Identity verification and PEP screening using Indonesian national ID cards.
{
  "configuration": {
    "verification_type": "KTP_PEP",
    "fraud_detection": false,
    "files": {
      "ktp_file": ["/path/ktp_front.jpg"]
    }
  }
}
Extracts data from KTP document, validates NIK/name, and checks PEP status.
Field Validations:
FieldTypeRequiredValidationDescription
verification_typestringYesMust be valid KTP typeKTP_PEP, NIK_PEP, PEP, NIK, or KTP_SELFIE
fraud_detectionbooleanNoOnly with file-based types (KTP_PEP, KTP_SELFIE)Enable fraud detection (requires KTP_PEP or KTP_SELFIE type)
full_namestringConditionalNon-empty when requiredRequired for NIK_PEP, PEP verification
nikstringConditionalExactly 16 digits, numericRequired for NIK_PEP, NIK verification
files.ktp_filearrayConditionalNon-empty arrayRequired for KTP_PEP, KTP_SELFIE verification
files.selfie_filearrayConditionalNon-empty arrayRequired for KTP_SELFIE verification

BPKB

Vehicle registration and ownership document verification.
{
  "configuration": {
    "region": "JABAR",
    "license_plate_region_code": "D",
    "license_plate_number": "1234",
    "license_plate_suffix": "ABC"
  }
}
Available Regions:
RegionValueLicense Plate PrefixStatus
Jawa BaratJABARDAvailable
DI YogyakartaDIYABAvailable
DKI JakartaDKI_JAKARTABNot available
BantenBANTENANot available
BaliBALIDKNot available
Field Validations:
FieldTypeRequiredValidationDescription
regionstringYesSee available regions aboveBPKB region code
license_plate_region_codestringYes1-2 alphabetic charsLicense plate region prefix
license_plate_numberstringYes1-4 digitsLicense plate number
license_plate_suffixstringYes1-3 alphabetic charsLicense plate suffix letters

Land Certificate

Property ownership and land title verification.
{
  "configuration": {
    "verification_type": "REGULAR",
    "verification_method": "FORM",
    "city_regency_id": "b160614030d24ceca2999145f485eb41",
    "subdistrict_id": "5678",
    "number_type": "NIB",
    "nib": "12345"
  }
}
Verifies land certificate using NIB (land parcel number) lookup.
Field Validations:
FieldTypeRequiredValidationDescription
verification_typestringYesREGULARType of land verification (only REGULAR is currently available)
verification_methodstringYesFORM or UPLOADVerification method
city_regency_idstringConditionalNon-emptyRequired for FORM method. Obtain from GET /forms/land-certificate/city-regencies
subdistrict_idstringConditionalNon-emptyRequired for FORM method. Obtain from GET /forms/land-certificate/subdistricts
number_typestringConditionalNIB or ENTITLEMENT_NUMBERRequired for FORM method. Determines which number field to use
nibstringConditionalExactly 5 digitsRequired when number_type is NIB
entitlement_numberstringConditionalExactly 14 digitsRequired when number_type is ENTITLEMENT_NUMBER
nikstringConditionalExactly 16 digits, numericRequired for PRO verification type
fraud_detectionbooleanNoOnly with UPLOAD methodEnable fraud detection
files.land_certificate_filearrayConditionalNon-empty arrayRequired for UPLOAD method
City and Subdistrict LookupsFor REGULAR + FORM verifications, you need to obtain the correct city_regency_id and subdistrict_id:
curl -X GET "https://api.anycheck.ai/forms/land-certificate/city-regencies" \
  -H "X-API-Key: YOUR_API_KEY"
Response:
[
  {
    "label": "Kabupaten Aceh Barat",
    "value": "c058176347484659b1384504f6461aff"
  },
  {
    "label": "Kabupaten Aceh Barat Daya",
    "value": "975F406101AFFC22E0400B0A921455E2"
  },
  {
    "label": "Kabupaten Aceh Besar",
    "value": "f546e0fd38514f60946e447115398e0c"
  },
  ...
]

Bank Statement

Comprehensive bank statement analysis with OCR, transaction categorization, and fraud detection.
{
  "configuration": {
    "fraud_detection": false,
    "files": {
      "bsa_file": ["<path from POST /uploads>"]
    }
  }
}
{
  "timestamp": "2024-03-15T14:30:00.000",
  "confidence_level_range": {
    "start": 50,
    "end": 90
  },
  "exchange_rate_config": {
    "type": "GLOBAL_OVERRIDE",
    "currencies": [],
    "exchange_rates": {}
  },
  "keyword_config": {
    "customer_keywords": [],
    "supplier_keywords": [],
    "group_company_keywords": [],
    "director_company_keywords": [],
    "operational_debit_keywords": [],
    "operational_credit_keywords": [],
    "non_operational_debit_keywords": [],
    "non_operational_credit_keywords": []
  },
  "atm_withdrawal_config": {
    "multiple_base": 50000,
    "max_withdrawal": 10,
    "if_detected_label": "WARNING",
    "if_not_detected_label": "PASS"
  },
  "large_transaction_config": {
    "threshold": 1000000000,
    "max_frequency": 5
  },
  "circular_transaction_config": {
    "window": "PRESET",
    "window_type": "SAME_DAY",
    "window_size_days": 30
  },
  "credit_discontinuity_config": {
    "max_no_credit_days": 7,
    "if_detected_label": "WARNING",
    "if_not_detected_label": "PASS"
  },
  "month_to_month_balance_config": {
    "drop_anomaly_percentage": 50,
    "if_detected_label": "WARNING",
    "if_not_detected_label": "PASS"
  },
  "back_to_back_transaction_config": {
    "interval_days": 3,
    "if_detected_label": "WARNING",
    "if_not_detected_label": "PASS"
  },
  "unusual_transaction_spike_config": {
    "transaction_amount_threshold": 300,
    "closing_balance_threshold": 85,
    "if_detected_label": "WARNING",
    "if_not_detected_label": "PASS"
  }
}
Note: This configuration is applied automatically and optimized for comprehensive bank statement analysis. You only need to provide the bank statement files in your request.Custom Configuration: You can override these defaults by including a timestamp field and your custom configuration parameters in the request:
{
  "configuration": {
    "files": {
      "bsa_file": ["/path/bank_statement.pdf"]
    },
    "timestamp": "2024-03-15T14:30:00.000",
    "large_transaction_config": {
      "threshold": 500000000,
      "max_frequency": 3
    },
    ... // other configurations
  }
}
When timestamp is included, any provided configuration parameters will override the corresponding default values.Configuration Parameters:
ParameterTypeValidationDescription
timestampstringISO 8601 formatRequired for custom config (YYYY-MM-DDTHH:mm:ss.SSS)
confidence_level_range.startnumber0-100OCR confidence minimum threshold
confidence_level_range.endnumber0-100OCR confidence maximum threshold
exchange_rate_config.typestringEnum"GLOBAL_OVERRIDE" or "DATE_RANGE_OVERRIDE"
keyword_config.*_keywordsarrayString arrayTransaction categorization keywords
large_transaction_config.thresholdnumberPositiveLarge transaction amount threshold (IDR)
large_transaction_config.max_frequencynumberPositiveMaximum allowed frequency
atm_withdrawal_config.multiple_basenumberPositiveATM withdrawal detection base amount
atm_withdrawal_config.max_withdrawalnumberPositiveMaximum withdrawal transaction count
*_config.if_detected_labelstringEnum"PASS" or "WARNING"
*_config.if_not_detected_labelstringEnum"PASS" or "WARNING"
Field Validations:
FieldTypeRequiredValidationDescription
fraud_detectionbooleanNo-Enable fraud detection analysis
files.bsa_filearrayYesNon-empty arrayBank statement files for analysis

Financial Statement

Detailed financial statement processing and ratio analysis.
{
  "configuration": {
    "fraud_detection": false,
    "files": {
      "fsa_file": ["/path/financial_statement.pdf"]
    }
  }
}
Field Validations:
FieldTypeRequiredValidationDescription
fraud_detectionbooleanNo-Enable fraud detection analysis
files.fsa_filearrayYesNon-empty arrayFinancial statement files for analysis

SLIK

Credit history and facility analysis.
{
  "configuration": {
    "fraud_detection": false,
    "template_type": "SLIK_UNDERWRITING",
    "files": {
      "slik_file": ["<path from POST /uploads>"]
    }
  }
}
SLIK analysis optimized for loan underwriting and approval workflows.
Field Validations:
FieldTypeRequiredValidationDescription
template_typestringYesSLIK_DEFAULT, SLIK_CREDIT_SCORING, or SLIK_UNDERWRITINGAnalysis template to apply
fraud_detectionbooleanNo-Enable fraud detection analysis
files.slik_filearrayYesNon-empty arraySLIK report file. Supported formats: .pdf, .png, .jpg, .jpeg, .heic, .tiff, .tif, .json, .txt

Payslip

Employee payslip data extraction and verification.
{
  "configuration": {
    "fraud_detection": false,
    "files": {
      "payslip_file": ["/path/payslip.pdf"]
    }
  }
}
Field Validations:
FieldTypeRequiredValidationDescription
fraud_detectionbooleanNo-Enable fraud detection analysis
files.payslip_filearrayYesNon-empty arrayPayslip files for processing

Vehicle Price

Market valuation for vehicles based on type, brand, and year.
{
  "configuration": {
    "vehicle_name": "Honda Beat",
    "vehicle_type": "MOTORCYCLE",
    "vehicle_year": 2025
  }
}
Field Validations:
FieldTypeRequiredValidationDescription
vehicle_typestringYesCAR or MOTORCYCLEType of vehicle
vehicle_namestringYesNon-emptyVehicle brand and model
vehicle_yearintegerNo1900–current yearManufacturing year of the vehicle

Company Check

Company and industry verification with document analysis.
{
  "configuration": {
    "verification_method": "UPLOAD",
    "verification_type": "AKTA_ONLY",
    "fraud_detection": false,
    "files": {
      "akta_file": ["/path/akta.pdf"]
    }
  }
}
Extracts company data from Akta document using OCR only.
Field Validations:
FieldTypeRequiredValidationDescription
verification_methodstringYesFORM or UPLOADMethod of providing company data
verification_typestringYesValid company typeAKTA_ONLY, AKTA_COMPANY_CHECK, AKTA_COMPANY_INDUSTRY_CHECK, COMPANY_CHECK_ONLY, COMPANY_INDUSTRY_CHECK, INDUSTRY_CHECK_ONLY
fraud_detectionbooleanNoOnly with UPLOAD methodEnable fraud detection (requires UPLOAD method)
company_namestringConditionalNon-emptyRequired for FORM method
files.akta_filearrayConditionalNon-empty arrayRequired for UPLOAD method

NIB Check

Business registration verification for Indonesian companies.
{
  "configuration": {
    "nib": "1234567890123"
  }
}
Field Validations:
FieldTypeRequiredValidationDescription
nibstringYesExactly 13 digits, numericIndonesian business registration number

Document Forensic

Advanced document authenticity and fraud detection analysis.
{
  "configuration": {
    "files": {
      "document_forensic_file": ["/path/document.pdf", "/path/document2.jpg"]
    }
  }
}
Field Validations:
FieldTypeRequiredValidationDescription
files.document_forensic_filearrayYesNon-empty arrayDocument files for fraud detection

Document Extraction

Custom document extraction using Fintelite AI templates.
{
  "configuration": {
    "mode": "parse",
    "review_parser_mode": true,
    "files": {
      "document_extraction_file": ["<path from POST /uploads>"]
    }
  }
}
Parses the document structure directly. Suitable for structured documents.
Field Validations:
FieldTypeRequiredValidationDescription
modestringYesparse or predictProcessing mode. Defaults to parse
template_idstringConditionalValid UUIDRequired when mode is predict
extraction_modestringNoODIN, FREYA, or NEXUSPrediction engine for predict mode
use_parserbooleanNo-Enable parser step after prediction in predict mode
review_parser_modebooleanNo-Enable manual review of parsed results. Defaults to true
files.document_extraction_filearrayYesNon-empty arrayDocument files for extraction
Custom Templates Custom templates define extraction schemas that can be used for consistent processing on Document Extraction service. Templates can be referenced by template_id (UUID or custom_id) in the verification configuration. Template Types
  • Custom Templates: User-created templates for specific document types
  • Prebuilt Templates: System-provided templates for common document formats
curl -X GET "https://api.anycheck.ai/templates/custom?page_offset=0&page_size=10&search=" \
  -H "X-API-Key: YOUR_API_KEY"
Response:
{
  "total": 1,
  "items": [
    {
      "id": "template-uuid",
      "name": "Invoice Extractor",
      "description": "Extract invoice data with vendor details and line items",
      "custom_id": "INVOICE_V1",
      "type": "CUSTOM",
      "created_at": "2024-01-15T10:30:00Z",
      "updated_at": "2024-01-15T10:30:00Z"
    }
  ]
}
To see complete custom template management including creating, updating, and deleting templates, refer to the Custom Template API Reference.

Common Configuration Fields

File Upload

File-based services use the files configuration:
{
  "files": {
    "file_type_name": ["/path/file1.pdf", "/path/file2.jpg"]
  }
}
Files must be uploaded first using the /upload endpoint to get the path. See the verification submission step for complete upload process details. File Requirements:
  • Supported formats: PDF, PNG, JPG, JPEG, GIF, BMP, WEBP, HEIC, HEIF, TIFF, TIF, XLSX, XLS, CSV, TXT, JSON
  • Maximum file size: 50MB per file
  • Multiple files: Can upload multiple files in single request

Fraud Detection

File-based services support fraud detection for image and document formats:
{
  "fraud_detection": true // default: `false`
}
When fraud_detection is enabled, the response will include additional fraud_detection data for each processed file. The fraud detection output structure follows the same format as shown in the Document Forensic service output. Fraud Detection Requirements:
  • Supported formats: PDF, PNG, JPG, JPEG, GIF, BMP, WEBP, HEIC, HEIF, TIFF, TIF

Pricing

Each verification consumes credits from your organization’s balance. Credit costs vary by service and are configured per organization. Contact your account manager for your specific pricing.
To check your current credit balance, contact your AnyCheck account manager or reach out at bd@fintelite.ai.

Best Practices

Always follow the exact field names and data types from the service documentation:Correct:
{
  "verification_type": "KTP_PEP",
  "fraud_detection": false,
  "files": {
    "ktp_file": ["/path/file.jpg"]
  }
}
Incorrect:
{
  "type": "ktp_pep",           // Wrong field name
  "fraud_detect": "false",     // Wrong field name and type
  "file": "/path/file.jpg"     // Wrong structure
}
Use the configuration examples in this documentation as your reference.
For file-based services, always upload files first using the /upload endpoint, then use the returned file URLs in your verification configuration:Step 1: Upload files
curl -X POST https://api.anycheck.ai/upload \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file_category=VERIFICATION" \
  -F "files=@ktp.jpg" \
  -F "files=@bank_statement.pdf"
For password-protected PDFs:
curl -X POST https://api.anycheck.ai/upload \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file_category=VERIFICATION" \
  -F "files=@protected_statement.pdf" \
  -F "file_passwords=mypassword"
Response:
{
  "success": true,
  "data": {
    "object_id": "550e8400-e29b-41d4-a716-446655440000",
    "file_category": "VERIFICATION",
    "files": [
      {
        "path": "/uploads/2024/01/550e8400-e29b-41d4-a716-446655440000/ktp.jpg",
        "url": "https://storage.anycheck.ai/uploads/2024/01/550e8400-e29b-41d4-a716-446655440000/ktp.jpg",
        "page_count": 1
      }
    ]
  }
}
Step 2: Use file path in verification
{
  "service_id": "ktp-service-uuid",
  "folder_id": "folder-uuid",
  "configuration": {
    "verification_type": "KTP_PEP",
    "files": {
      "ktp_file": ["/uploads/2024/01/550e8400-e29b-41d4-a716-446655440000/ktp.jpg"]
    }
  }
}
Supported formats: PDF, PNG, JPG, JPEG, GIF, BMP, WEBP, HEIC, HEIF, TIFF, TIF, XLSX, XLS, CSV, TXT, JSON ✅ Max file size: 50MB per file ✅ Files expire: 24 hours after upload

Next Steps

Verifications

Learn about verification workflow

Services API

Explore services endpoints