← Slimpay.ng

Used by every "Try It" panel across these docs to call app.slimpay.ng for real. Get one from Authentication — register or log in, then paste the token here. Stored only in this browser (localStorage), never sent anywhere but the Slimpay API, and auto-cleared after 8 hours.

Getting Started

Authentication

Slimpay uses Laravel Sanctum bearer tokens. Register or log in to get a token, then send it on every authenticated request.

Register

POST /auth/register Public
bash
curl https://app.slimpay.ng/api/v1/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "first_name": "Amaka",
    "last_name": "Okonkwo",
    "email": "amaka@example.com",
    "phone": "08012345678",
    "password": "a-strong-password",
    "password_confirmation": "a-strong-password"
  }'
POST /auth/register
No account number at registration

A wallet is created immediately with a placeholder account number (0000000000). A real, fundable account number is only issued after NIN verification — see Identity Verification. This is deliberate: no account is ever issued without a verified identity attached to it.

Login

POST /auth/login Public
bash
curl https://app.slimpay.ng/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{ "email": "amaka@example.com", "password": "a-strong-password" }'
POST /auth/login
json
{
  "status": true,
  "message": "Login successful",
  "data": {
    "token": "1|k3j2h4g5f6...",
    "user": { "id": 1, "first_name": "Amaka", "last_name": "Okonkwo", "email": "amaka@example.com" }
  }
}

Using the token

Send the token on every authenticated request as a Bearer header:

bash
curl https://app.slimpay.ng/api/v1/wallet \
  -H "Authorization: Bearer 1|k3j2h4g5f6..."

Other account endpoints

MethodPathPurpose
POST/auth/forgot-passwordSend a password reset link
POST/auth/reset-passwordComplete a password reset
POST/auth/logoutRevoke the current token
GET/auth/meGet the authenticated user's profile
PUT/auth/profileUpdate name, phone, address, photo
PUT/auth/passwordChange account password
PUT/auth/pinSet or change the 4-digit transaction PIN
POST/auth/verify-pinConfirm the transaction PIN (used before sensitive actions)
POST/auth/verify-phoneSend an OTP to the account phone number
POST/auth/verify-phone/confirmConfirm the OTP
POST/auth/device-tokenRegister an FCM/APNs push token
POST /auth/forgot-password
POST /auth/reset-password
POST /auth/logout
GET /auth/me
PUT /auth/profile
PUT /auth/password
PUT /auth/pin
POST /auth/verify-pin
POST /auth/verify-phone
POST /auth/verify-phone/confirm
POST /auth/device-token
Transaction PIN

A 4-digit PIN is required on every money-movement endpoint — transfers, withdrawals, and bill purchases. Set it via PUT /auth/pin before attempting those.