Docs › Fundamentals › Data ingestion
Data ingestion
Send transaction history before you score.
PACIN scores records that already have activity. You send that activity in. Then you request a score.
API ingest
POST /v1/ingest accepts a batch of transactions. Use a unique idempotency key so a retry does not double-write. Live data needs a valid consent_id.
curl -X POST https://app.pacinnetwork.com/api/v1/ingest \
-H "Authorization: Bearer $PACIN_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: ingest-2026-09-14-001" \
-d '{
"source": "json",
"rail": "mpesa",
"country_code": "KE",
"consent_id": "con_01JXXXXXXXXXXXXXXXXXXX",
"records": [
{
"entity_id": "pac_KE_0001",
"transaction_type": "credit",
"amount": 25000,
"currency": "KES",
"timestamp_utc": "2026-05-13T08:23:14Z",
"source_record_id": "txn-001"
}
]
}'Each record needs an entity id, a type (for example credit or debit), amount, currency, timestamp, and a source id from your system.
File upload
For a one-off history file, use the bulk upload tool in your institution account. Supply: entity identifier, date, amount, transaction type, rail, and currency.
Consent
Production ingest without consent is rejected. Sandbox keys may use test entity IDs for development. See Consent.
Last updated 14 September 2026
