Manage customer and supplier records in eTIMS. Maintain a directory of business contacts synced with KRA for invoice and purchase compliance.
| Scope | Description |
|---|---|
etims:read |
List and view customers and suppliers |
etims:write |
Create and update customers and suppliers |
| Method | Endpoint | Description | Scope |
|---|---|---|---|
GET |
/api/etims/customers |
List customers | etims:read |
GET |
/api/etims/customers/{id} |
Get customer details | etims:read |
POST |
/api/etims/customers |
Create a customer | etims:write |
PUT |
/api/etims/customers/{id} |
Update a customer | etims:write |
GET |
/api/etims/suppliers |
List suppliers | etims:read |
GET |
/api/etims/suppliers/{id} |
Get supplier details | etims:read |
POST |
/api/etims/suppliers |
Create a supplier | etims:write |
Register a new customer in the eTIMS system. Customer records are synced with KRA and can be referenced in sales transactions.
Endpoint: POST /api/etims/customers
Required Scope: etims:write
Request Body:
| Field | Type | Required | Description |
|---|---|---|---|
cust_no |
string | No | Your internal customer number |
cust_tin |
string | Yes | Customer's KRA PIN/TIN |
cust_nm |
string | Yes | Customer name |
adrs |
string | No | Address |
tel_no |
string | No | Phone number |
email |
string | No | Email address |
fax_no |
string | No | Fax number |
use_yn |
string | No | Active flag (Y or N, default: Y) |
remark |
string | No | Additional notes |
Request:
curl -X POST \
https://yourtenant.salami.dgl.co.ke/api/etims/customers \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"cust_tin": "A009876543B",
"cust_nm": "Jane Wanjiku Enterprises",
"adrs": "P.O. Box 54321, Nairobi",
"tel_no": "+254712345678",
"email": "jane@wanjiku.co.ke",
"use_yn": "Y"
}'
Response:
{
"success": true,
"data": {
"id": 101,
"cust_no": "CUST-101",
"cust_tin": "A009876543B",
"cust_nm": "Jane Wanjiku Enterprises",
"adrs": "P.O. Box 54321, Nairobi",
"tel_no": "+254712345678",
"email": "jane@wanjiku.co.ke",
"use_yn": "Y",
"synced_at": "2026-03-29T16:35:00Z"
},
"message": "Customer created and synced with KRA"
}
Endpoint: GET /api/etims/customers/{id}
Required Scope: etims:read
Request:
curl -X GET \
https://yourtenant.salami.dgl.co.ke/api/etims/customers/101 \
-H 'Authorization: Bearer YOUR_API_TOKEN'
Response:
{
"success": true,
"data": {
"id": 101,
"cust_no": "CUST-101",
"cust_tin": "A009876543B",
"cust_nm": "Jane Wanjiku Enterprises",
"adrs": "P.O. Box 54321, Nairobi",
"tel_no": "+254712345678",
"email": "jane@wanjiku.co.ke",
"use_yn": "Y",
"total_purchases": 12,
"total_amount": 450000.00,
"created_at": "2026-03-29T16:35:00Z"
}
}
Endpoint: PUT /api/etims/customers/{id}
Required Scope: etims:write
Request:
curl -X PUT \
https://yourtenant.salami.dgl.co.ke/api/etims/customers/101 \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"tel_no": "+254723456789",
"email": "info@wanjiku.co.ke"
}'
Response:
{
"success": true,
"data": {
"id": 101,
"cust_tin": "A009876543B",
"cust_nm": "Jane Wanjiku Enterprises",
"tel_no": "+254723456789",
"email": "info@wanjiku.co.ke",
"updated_at": "2026-03-29T16:40:00Z"
},
"message": "Customer updated successfully"
}
Endpoint: GET /api/etims/customers
Required Scope: etims:read
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
search |
string | No | Search by name or TIN |
use_yn |
string | No | Filter active (Y) or inactive (N) |
page |
integer | No | Page number |
per_page |
integer | No | Results per page |
Request:
curl -X GET \
'https://yourtenant.salami.dgl.co.ke/api/etims/customers?search=wanjiku' \
-H 'Authorization: Bearer YOUR_API_TOKEN'
Response:
{
"success": true,
"data": [
{
"id": 101,
"cust_tin": "A009876543B",
"cust_nm": "Jane Wanjiku Enterprises",
"tel_no": "+254723456789",
"use_yn": "Y",
"created_at": "2026-03-29T16:35:00Z"
}
],
"pagination": {
"total": 1,
"per_page": 50,
"current_page": 1,
"last_page": 1
}
}
Register a new supplier in the eTIMS system. Supplier records are linked to purchase transactions.
Endpoint: POST /api/etims/suppliers
Required Scope: etims:write
Request Body:
| Field | Type | Required | Description |
|---|---|---|---|
spplr_tin |
string | Yes | Supplier's KRA PIN/TIN |
spplr_nm |
string | Yes | Supplier name |
adrs |
string | No | Address |
tel_no |
string | No | Phone number |
email |
string | No | Email address |
fax_no |
string | No | Fax number |
use_yn |
string | No | Active flag (Y/N, default: Y) |
remark |
string | No | Additional notes |
Request:
curl -X POST \
https://yourtenant.salami.dgl.co.ke/api/etims/suppliers \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"spplr_tin": "P051234567B",
"spplr_nm": "Premium Furniture Suppliers Ltd",
"adrs": "Industrial Area, Nairobi",
"tel_no": "+254734567890",
"email": "sales@premiumfurniture.co.ke",
"use_yn": "Y"
}'
Response:
{
"success": true,
"data": {
"id": 12,
"spplr_tin": "P051234567B",
"spplr_nm": "Premium Furniture Suppliers Ltd",
"adrs": "Industrial Area, Nairobi",
"tel_no": "+254734567890",
"email": "sales@premiumfurniture.co.ke",
"use_yn": "Y",
"synced_at": "2026-03-29T16:45:00Z"
},
"message": "Supplier created and synced with KRA"
}
Endpoint: GET /api/etims/suppliers/{id}
Required Scope: etims:read
Request:
curl -X GET \
https://yourtenant.salami.dgl.co.ke/api/etims/suppliers/12 \
-H 'Authorization: Bearer YOUR_API_TOKEN'
Response:
{
"success": true,
"data": {
"id": 12,
"spplr_tin": "P051234567B",
"spplr_nm": "Premium Furniture Suppliers Ltd",
"adrs": "Industrial Area, Nairobi",
"tel_no": "+254734567890",
"email": "sales@premiumfurniture.co.ke",
"use_yn": "Y",
"total_purchases": 8,
"total_amount": 640000.00,
"created_at": "2026-03-29T16:45:00Z"
}
}
Endpoint: GET /api/etims/suppliers
Required Scope: etims:read
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
search |
string | No | Search by name or TIN |
use_yn |
string | No | Filter active/inactive |
page |
integer | No | Page number |
per_page |
integer | No | Results per page |
Request:
curl -X GET \
'https://yourtenant.salami.dgl.co.ke/api/etims/suppliers?use_yn=Y' \
-H 'Authorization: Bearer YOUR_API_TOKEN'
Response:
{
"success": true,
"data": [
{
"id": 12,
"spplr_tin": "P051234567B",
"spplr_nm": "Premium Furniture Suppliers Ltd",
"tel_no": "+254734567890",
"use_yn": "Y",
"created_at": "2026-03-29T16:45:00Z"
}
],
"pagination": {
"total": 8,
"per_page": 50,
"current_page": 1,
"last_page": 1
}
}
| Code | Description |
|---|---|
200 |
Success |
201 |
Created successfully |
401 |
Invalid Salami token |
403 |
Token lacks required scope |
404 |
Customer/Supplier not found |
409 |
Duplicate TIN (already registered) |
422 |
Validation error |
502 |
KRA eTIMS server error |
use_yn: N instead of deleting recordsBack to: eTIMS Purchases | eTIMS Reverse Invoices