Scrub - Open API

Schemas


ApiError

  • error_codestring

    Machine-readable error identifier

    Example: INVALID_BVN
  • error_typestring · enum
    Enum values:
    INVALID_REQUEST
    AUTHENTICATION
    NOT_FOUND
    RATE_LIMIT
    INTERNAL
    Example: INVALID_REQUEST
  • messagestring
    Example: BVN must be exactly 11 digits
  • request_idstring

    Include when contacting support

    Example: req_8f3k2m9x1p

BvnVerifyRequest

  • bvnstring · required

    11-digit Bank Verification Number

    Example: 22345678901

BvnVerifyResponse

  • validboolean
    Example:
  • full_namestring
    Example: Adebola James
  • phone_numberstring
    Example: 08031234567
  • date_of_birthstring · date
    Example: 1990-05-15
  • request_idstring
    Example: req_abc123

NinVerifyRequest

  • ninstring · required

    11-digit National Identification Number

    Example: 12345678901

NinVerifyResponse

  • validboolean
    Example:
  • full_namestring
    Example: Chioma Okonkwo
  • genderstring · enum
    Enum values:
    M
    F
    Example: F
  • request_idstring

FraudAnalyzeRequest

  • transaction_idstring · required
    Example: TXN123456789
  • sender_accountstring · required
    Example: 0123456789
  • receiver_accountstring · required
    Example: 9876543210
  • amountnumber · float · required
    Example: 125000.5
  • channelstring · enum · required
    Enum values:
    mobile
    ussd
    web
    atm
    pos
    Example: web
  • currencystring · enum
    Enum values:
    NGN
    USD
    Default: NGN
  • ip_addressstring
    Example: 102.89.23.45
  • device_idstring
    Example: dev_fingerprint_abc
  • metadataobject

    Optional key-value context

FraudAnalyzeResponse

  • transaction_idstring
  • is_fraudboolean
  • risk_scorenumber

    0 (safe) to 100 (high risk)

    Example: 45.7
  • risk_levelstring · enum
    Enum values:
    low
    medium
    high
    critical
    Example: medium
  • recommended_actionstring · enum
    Enum values:
    approve
    review
    decline
    step_up_auth
    Example: approve
  • signalsobject[]
  • request_idstring

FraudScoreResponse

  • account_numberstring
    Example: 0123456789
  • fraud_scorenumber
    Example: 73.2
  • risk_levelstring · enum
    Enum values:
    low
    medium
    high
    critical
    Example: high
  • last_updatedstring · date-time
  • report_countinteger

    Number of network fraud reports

    Example: 2

WatchlistCheckRequest

  • subject_typestring · enum · required
    Enum values:
    account
    bvn
    nin
    phone
    email
    Example: bvn
  • identifierstring · required
    Example: 22345678901
  • full_namestring
    Example: Adebola James

WatchlistCheckResponse

  • matchedboolean
  • match_countinteger
  • matchesobject[]
  • request_idstring

DeviceFingerprintRequest

  • device_idstring · required
    Example: dev_abc123
  • ip_addressstring · required
    Example: 102.89.23.45
  • user_agentstring · required
    Example: Mozilla/5.0 (Linux; Android 14)...
  • account_numberstring
    Example: 0123456789
  • timezonestring
    Example: Africa/Lagos
  • is_emulatorboolean

DeviceFingerprintResponse

  • device_idstring
  • risk_scorenumber
    Example: 62
  • risk_levelstring · enum
    Enum values:
    low
    medium
    high
    Example: medium
  • flagsstring[]
    Example: ["NEW_DEVICE","VPN_DETECTED"]
  • known_deviceboolean
  • request_idstring

VelocityCheckRequest

  • account_numberstring · required
    Example: 0123456789
  • event_typestring · enum · required
    Enum values:
    transfer
    login
    card_txn
    bvn_lookup
    Example: transfer
  • window_minutesinteger
    Example: 60
    Default: 60
  • thresholdinteger

    Max events before flagging

    Example: 5
    Default: 5

VelocityCheckResponse

  • exceededboolean
  • event_countinteger
    Example: 2
  • thresholdinteger
    Example: 5
  • window_minutesinteger
    Example: 60
  • request_idstring

FraudReportRequest

  • reporter_emailstring · email · required
    Example: report@fraudwatch.ng
  • account_numberstring · required
    Example: 0123456789
  • fraud_typestring · enum · required
    Enum values:
    phishing
    account_takeover
    sim_swap
    identity_theft
    chargeback
    other
    Example: phishing
  • amount_lostnumber
    Example: 50000
  • descriptionstring
    Example: User tricked into sending money under false pretenses.
  • evidence_urlsstring[]

FraudReportResponse

  • report_idstring
    Example: frd_rpt_8x2k9m
  • statusstring · enum
    Enum values:
    received
    under_review
    verified
    Example: received
  • created_atstring · date-time
  • request_idstring

FraudAlertsResponse

  • countinteger
    Example: 42
  • pageinteger
    Example: 1
  • resultsobject[]

CreditScoreRequest

  • bvnstring · required
    Example: 22345678901
  • consent_referencestring · required

    Reference to stored customer consent

    Example: cns_abc123
  • bureaustring · enum
    Enum values:
    crc
    firstcentral
    all
    Default: all

CreditScoreResponse

  • bvnstring
  • scoreinteger

    300–850 scale

    Example: 682
  • ratingstring · enum
    Enum values:
    excellent
    good
    fair
    poor
    very_poor
    Example: good
  • bureau_sourcestring
    Example: crc
  • factorsobject[]
  • request_idstring

CreditReportRequest

  • bvnstring · required
    Example: 22345678901
  • consent_referencestring · required
    Example: cns_abc123
  • include_loansboolean
    Default:
  • include_inquiriesboolean
    Default:

CreditReportInitResponse

  • report_idstring
    Example: crp_8f3k2m9x
  • statusstring · enum
    Enum values:
    pending
    processing
    Example: processing
  • estimated_ready_atstring · date-time
  • request_idstring

CreditReport

  • report_idstring
  • bvnstring
  • scoreinteger
    Example: 682
  • ratingstring
    Example: good
  • generated_atstring · date-time
  • active_loansobject[]
  • inquiries_last_12minteger
    Example: 3
  • delinquenciesinteger

CreditInquiryRequest

  • bvnstring · required
    Example: 22345678901
  • inquiry_typestring · enum · required
    Enum values:
    soft
    hard
    Example: soft
  • consent_referencestring · required
    Example: cns_abc123
  • purposestring · enum · required
    Enum values:
    loan_application
    account_opening
    periodic_review
    Example: loan_application

CreditInquiryResponse

  • inquiry_idstring
    Example: inq_7k2m9x
  • inquiry_typestring
    Example: soft
  • recorded_on_bureauboolean
  • score_at_inquiryinteger
    Example: 682
  • request_idstring

CreditHistoryResponse

  • bvnstring
  • months_analyzedinteger
    Example: 24
  • total_facilitiesinteger
    Example: 4
  • active_facilitiesinteger
    Example: 2
  • on_time_payments_pctnumber
    Example: 94.5
  • worst_delinquency_daysinteger
  • facilitiesobject[]
  • request_idstring

ChangePassword

  • current_passwordstring · minLength: 1 · required
  • new_passwordstring · minLength: 1 · required

VerifiedTokenObtainPair

  • emailstring · minLength: 1 · required
  • passwordstring · minLength: 1 · required

VerifiedTokenObtainPairResponse

  • accessstring · minLength: 1
  • refreshstring · minLength: 1

User

  • usernamestring · minLength: 1 · maxLength: 150 · required
  • emailstring · email · minLength: 1 · maxLength: 254 · required
  • idinteger · readOnly
  • passwordstring · minLength: 1
  • first_namestring · maxLength: 150
  • last_namestring · maxLength: 150
  • is_activeboolean · readOnly

    Designates whether this user should be treated as active. Unselect this instead of deleting accounts.

  • rolestring · enum
    Enum values:
    A
    B
  • date_joinedstring · date-time · readOnly
  • statusstring · readOnly
  • phonestring · minLength: 1 · maxLength: 200
  • genderstring · enum
    Enum values:
    MALE
    FEMALE
    OTHERS
  • tierinteger · readOnly
    Default: 1
  • is_verified_for_loginstring · readOnly

TokenRefresh

  • refreshstring · minLength: 1 · required
  • accessstring · minLength: 1 · readOnly

WithdrawalAccount

  • bank_namestring · minLength: 1 · maxLength: 255 · required
  • account_numberstring · minLength: 1 · maxLength: 255 · required
  • account_namestring · minLength: 1 · maxLength: 255 · required
  • idinteger · readOnly
  • userinteger · readOnly

Wallet

  • idinteger · readOnly
  • total_transactionsstring · readOnly
  • total_incomestring · readOnly
  • currencystring · enum
    Enum values:
    USD
    NGN
    EUR
    GBP
  • balancenumber
  • userinteger

ClassicContract

  • titlestring · minLength: 1 · maxLength: 255 · required
  • amountnumber · required
  • descriptionstring · minLength: 1 · required
  • currencystring · enum · required
    Enum values:
    USD
    NGN
    EUR
    GBP
  • creatorinteger · required
  • creator_roleinteger · enum · required
    Enum values:
    1
    2
  • product_namestring · minLength: 1 · maxLength: 255 · required
  • inspection_periodinteger · min: -2147483648 · max: 2147483647 · required

    Inspection period in days - 0 indicates immediate

  • created_onstring · date-time · readOnly
  • uuidstring · uuid · readOnly
  • statusstring · enum · readOnly
    Enum values:
    AGREEMENT
    REJECTED
    PAYMENT
    DELIVERY
    INSPECTION
    APPEAL
    COMPLETED
  • categorystring · readOnly
  • walletobject
  • counterpartyinteger
  • delivery_feeinteger · max: 32767
  • status_historyobject

WagerContract

  • titlestring · minLength: 1 · maxLength: 255 · required
  • amountnumber · required
  • descriptionstring · minLength: 1 · required
  • currencystring · enum · required
    Enum values:
    USD
    NGN
    EUR
    GBP
  • creatorinteger · required
  • created_onstring · date-time · readOnly
  • uuidstring · uuid · readOnly
  • statusstring · enum · readOnly
    Enum values:
    ACCEPTED
    PROGRESS
    COMPLETED
  • categorystring · readOnly
  • walletobject
  • counterpartyinteger
  • adjudicatorinteger
  • status_historyobject

ClassicContractUpdate

  • statusstring · enum · required
    Enum values:
    PAYMENT
    AGREEMENT
    REJECTED
    DELIVERY
    INSPECTION
    ESCALATION
    APPEAL
  • statestring · enum
    Enum values:
    end
    start

WagerContractUpdate

  • statusstring · enum · required
    Enum values:
    ACCEPTED
    PROGRESS
    COMPLETED
  • statestring · enum · required
    Enum values:
    end
    start

MessageImage

  • idinteger · readOnly
  • imagestring · uri · readOnly
  • image_urlstring · readOnly
  • uploaded_atstring · date-time · readOnly

DisputeMessage

  • messagestring · minLength: 1 · required
  • idinteger · readOnly
  • senderobject
  • created_atstring · date-time · readOnly
  • is_admin_messageboolean · readOnly
  • imagesobject[] · readOnly

DisputeEvidence

  • idinteger · readOnly
  • imagestring · uri · readOnly
  • image_urlstring · readOnly
  • descriptionstring
  • uploaded_byobject
  • uploaded_atstring · date-time · readOnly

Dispute

  • contractinteger · required
  • idinteger · readOnly
  • contract_titlestring · minLength: 1 · readOnly
  • contract_amountnumber · readOnly
  • contract_currencystring · minLength: 1 · readOnly
  • initiatorobject
  • other_partystring · readOnly
  • statusstring · enum · readOnly
    Enum values:
    OPEN
    IN_PROGRESS
    ESCALATED
    RESOLVED
    CLOSED
  • created_atstring · date-time · readOnly
  • updated_atstring · date-time · readOnly
  • last_response_timestring · date-time · readOnly
  • escalated_atstring · date-time · readOnly
  • resolution_deadlinestring · date-time · readOnly
  • admin_resolutionstring · minLength: 1 · readOnly
  • admin_resolved_byinteger · readOnly
  • messagesobject[] · readOnly
  • evidenceobject[] · readOnly
  • time_remainingstring · readOnly

DisputeCreate

  • contractinteger · required
  • statusstring · enum · readOnly
    Enum values:
    OPEN
    IN_PROGRESS
    ESCALATED
    RESOLVED
    CLOSED

UpdateWallet

  • amountnumber · required
  • currencystring · enum · required
    Enum values:
    USD
    NGN
    EUR
    GBP
  • typestring · enum · required
    Enum values:
    DEBIT
    CREDIT