Send it once.Know it arrived.Prove it later.
Statements, payslips, notices, agreements. Send them to your customers and staff by NIN, email, CAC number, or a claim code if a name is all you have. Keepable tells you when each one is delivered and opened, and keeps a sealed record for when NDPC or your auditors ask.
Start with the quickstart, or go straight to the API reference.
Put the file in, once.+−The id that comes back is reusable. Reference it wherever the document is needed instead of re-posting the bytes per recipient.
POST https://api.keepable.co/sender/v2/documents
Authorization: Bearer {{KEEPABLE_TOKEN}}
Content-Type: application/json
{
"filename": "payslip-march.pdf",
"media_type": "application/pdf",
"content_base64": "JVBERi0xLjQK..."
}HTTP/1.1 201 Created
{ "document_id": "doc_01J8ZQ4T", "filename": "payslip-march.pdf", "size_bytes": 184320 }Then address it to a person.+−That id goes in document_ids. This one is addressed by NIN; email, CAC number, and claim codes take the same shape.
POST https://api.keepable.co/sender/v2/correspondence
Authorization: Bearer {{KEEPABLE_TOKEN}}
Idempotency-Key: 5f3c1e02-9b7a-4a11-8c2e-6d0f4b8a1c93
Content-Type: application/json
{
"kind": "letter",
"subject": "Your March payslip",
"content_type": "payslip",
"document_ids": ["doc_01J8ZQ4T"],
"recipients": [
{ "addressing": { "type": "nin", "nin": "12345678901" },
"display_name": "Musa Bello",
"ref": "EMP-4471" }
]
}HTTP/1.1 201 Created
{
"correspondence_id": "cor_01J8ZQ4T",
"kind": "letter",
"status": "delivered",
"participants": [
{ "participant_id": "par_01J8ZQ4T", "ref": "EMP-4471", "state": "delivered" }
]
}