Authorised checkout at a partner retailer
Developers

Build on a payroll-secured credit rail.

One REST endpoint to authorize purchases against pre-approved staff credit. Bank-grade security · 1-second responses · Audit-ready logs.

01 / 04·Build on a payroll-secured rail
API reference

Three endpoints. Production-ready in an afternoon.

Quick start (3 steps)
  1. Sign in and generate an API key on the API Keys page.
  2. Send a POST /api/v1/authorize from your POS with the staff ID and amount.
  3. If approved, print the authorization_code on the receipt.
Base URL & authentication
All endpoints are versioned under /api/v1. Authenticate with a Bearer token.
http
Base URL:  https://altura.e-startupskenya.co.ke
Header:    Authorization: Bearer alt_live_xxxxxxxxxxxxxxxxxxxx
           Content-Type: application/json
Rate limit: 120 requests/minute per API key. All responses follow { ok: boolean, data?: ..., error?: { code, message } }.
Authorize a purchase
POST/api/v1/authorize
Validates the staff member's available credit, records the transaction, and returns an authorization code to print on the receipt.
Request
bash
curl -X POST https://altura.e-startupskenya.co.ke/api/v1/authorize \
  -H "Authorization: Bearer $ALTURA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "employee_code": "STAFF-1042",
    "amount": 12000,
    "installments": 3
  }'
Response — Approved
json
{
  "ok": true,
  "data": {
    "approved": true,
    "authorization_code": "ALT-7K3XQ9",
    "transaction_id": "tx_01H...",
    "staff_name": "Jane Mwangi",
    "amount": 12000,
    "installments": 3,
    "new_available_balance": 8000,
    "next_deduction_date": "2026-05-30"
  }
}
Response — Declined
json
{
  "ok": true,
  "data": {
    "approved": false,
    "reason": "Insufficient available credit",
    "available": 4500
  }
}
Body parameters
FieldTypeRequiredNotes
employee_codestringYesStaff ID as issued by the employer.
amountnumberYesIn KES. Max 10,000,000.
installmentsintegerNo1–12. Defaults to 1 (next paycheck).
Void a transaction
POST/api/v1/void
Reverses an approved transaction within 24 hours and restores the staff member's available credit.
bash
curl -X POST https://altura.e-startupskenya.co.ke/api/v1/void \
  -H "Authorization: Bearer $ALTURA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "authorization_code": "ALT-7K3XQ9" }'
Response
json
{
  "ok": true,
  "data": {
    "voided": true,
    "authorization_code": "ALT-7K3XQ9",
    "amount_restored": 12000
  }
}
List transactions
GET/api/v1/transactions
Returns your merchant's most recent transactions. Filter by date range or status.
bash
curl "https://altura.e-startupskenya.co.ke/api/v1/transactions?limit=50&status=approved" \
  -H "Authorization: Bearer $ALTURA_API_KEY"
Query parameters
ParamTypeNotes
limitinteger1–200. Default 50.
fromISO 8601Inclusive lower bound on occurred_at.
toISO 8601Inclusive upper bound on occurred_at.
statusenumpending · approved · settled · declined
Error codes
HTTPCodeMeaning
400invalid_inputBody failed validation.
401missing_auth / invalid_keyNo or invalid Bearer token.
429rate_limitedMore than 120 requests/min.
500authorize_failed / query_failedInternal error — safe to retry with backoff.
Node.js example
javascript
const res = await fetch("https://altura.e-startupskenya.co.ke/api/v1/authorize", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.ALTURA_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    employee_code: "STAFF-1042",
    amount: 12000,
    installments: 3,
  }),
});

const { ok, data, error } = await res.json();
if (!ok) throw new Error(error.message);

if (data.approved) {
  printReceipt({ code: data.authorization_code, name: data.staff_name });
} else {
  showDecline(data.reason);
}
Install

Two no-code ways to start authorizing today.

Use the Altura POS app on a tablet or phone, or drop the browser extension into your back-office laptop. Both call the same secure API — no developer integration required.

Altura POS app
iOS · Android · Windows · macOS · ChromeOS
  • Installs from the browser — no app store, no review process.
  • Full-screen, app-like experience on tablets and phones.
  • Auto-updates whenever you publish a new version.
  • Offline banner so cashiers know when authorizations can't go through.

On iPhone/iPad, install with Safari → Share → "Add to Home Screen".

Altura POS Authorizer
Chrome · Edge · Brave · Opera · Arc
  • Adds a one-click "Authorize" button to your browser toolbar.
  • Choose installments (1, 2, 3, or 6 paychecks).
  • Copy the auth code to paste on the receipt.
  • API key stored locally — never sent anywhere except Altura.

v1.0.0 · Manifest V3 · ~16 KB · Unpack & load via chrome://extensions

Install the browser extension in 4 steps
  1. 1
    Unzip the download
    Extract altura-pos-extension.zip to a folder you can keep.
  2. 2
    Open chrome://extensions
    Paste this in your browser address bar and press Enter.
  3. 3
    Enable Developer mode
    Toggle the switch in the top-right of the page.
  4. 4
    Click Load unpacked
    Select the unzipped folder. The Altura icon appears in your toolbar.
On first open, paste your API key and you're done.
Security & trust

Built so the right people get paid at the right time.

Trust isn't a marketing feature — it's the foundation of every Altura transaction. Bank-grade · Payroll-secured · Privacy-first.

Nine controls across the credit lifecycle
Payroll-backed repayment

Repayment is deducted at source from the next salary cycle. The funds are recovered before the employee even receives them — eliminating the entire default spiral.

Pre-approved limits only

Every employee has a calculated personal ceiling based on verified salary, tenure, and existing deductions. Spending above the limit is impossible.

Controlled transactions

Each authorisation is checked in real time against employer policy, available balance, and merchant whitelist. No grey-area approvals.

Employer verification

Only employers with confirmed legal status, payroll capability, and signed deduction authority are onboarded into the network.

Secure checkout authorisation

Two-factor employee verification at checkout. Time-bound authorisation codes. Every event signed and logged for audit.

Data protection & privacy

Personal salary data never leaves the Altura environment. Retailers see only an authorisation result — never PII.

Transparent repayment terms

Every employee sees their limit, balance, deduction date, and amount before they shop. No fees hidden in fine print.

Audit-ready logs

Every authorisation, settlement, and payroll deduction is immutably logged and exportable for HR, finance, and regulators.

Reversible by design

Employer or employee can pause access in one click. Limits adjust automatically when employment status changes.

Our trust principles

Three commitments that govern every line of code.

Welfare-first underwriting

We will never extend credit beyond what an employee can comfortably repay from a single salary cycle.

Transparent by default

Every party — employer, employee, retailer — sees the full picture. No hidden fees. No silent rate changes.

Secure at every layer

Encryption in transit and at rest. Role-based access. Continuous security scanning. Independent audits.

Want our security & compliance brief?

We'll share a full architecture overview, controls map, and policy library with your CISO or compliance team.

Request the brief