Skip to main content

API Documentation

Authorization

Any request made without the authorization key (secret key) will fail with a 401 (Unauthorized) response code.

info

The authorization key is sent via the request header as Bearer Token Authorization

Example: Authorization: Bearer sandbox_sk_94f2b798466408ef4d19e848ee1a4d1a3e93f104046f

Get all Transactions

This API allows you get all your SquadPOS transactions

GET
https://sandbox-api-d.squadco.com/softpos/transactions?perPage&page

Allows you get all your Squad POS transactions

Parameters

Query

perPage*

Integer

Number of transactions per page

page*

Integer

page number

date_from

date

Format : YYYY-MM-DD, Start Date

date_to

date

Format : YYYY-MM-DD, End Date

sort_by

String

Sorting Parameter. This can have a value of 'createdAt'

sort_by_dir

String

This arranges the transactions in ascending or descending order. Possible values are 'ASC' - ascending order, 'DESC' - descending order

Responses

200:OK
Success
{
"status": 200,
"success": true,
"message": "Success",
"data": {
"count": 8,
"rows": [
{
"id": "1",
"amount": "10000",
"status": 0,
"card": "5074 *** *** 2234",
"createdAt": "2021-12-08T15:05:10.316Z",
"updatedAt": "2021-12-08T15:05:10.316Z",
"deletedAt": null,
"merchant_id": "1",
"terminal_id": "1",
"location_id": "1"
},
{
"id": "2",
"amount": "50000",
"status": 0,
"card": "5074 *** *** 2234",
"createdAt": "2021-12-08T15:05:10.316Z",
"updatedAt": "2021-12-08T15:05:10.316Z",
"deletedAt": null,
"merchant_id": "1",
"terminal_id": "1",
"location_id": "1"
},
{
"id": "3",
"amount": "100000",
"status": 0,
"card": "5074 *** *** 2234",
"createdAt": "2021-12-08T15:05:10.316Z",
"updatedAt": "2021-12-08T15:05:10.316Z",
"deletedAt": null,
"merchant_id": "1",
"terminal_id": "2",
"location_id": "2"
},
{
"id": "4",
"amount": "7000",
"status": 0,
"card": "5074 *** *** 2234",
"createdAt": "2021-12-08T15:05:10.316Z",
"updatedAt": "2021-12-08T15:05:10.316Z",
"deletedAt": null,
"merchant_id": "1",
"terminal_id": "2",
"location_id": "2"
},
{
"id": "5",
"amount": "10000",
"status": 0,
"card": "5074 *** *** 2234",
"createdAt": "2021-12-08T15:05:10.316Z",
"updatedAt": "2021-12-08T15:05:10.316Z",
"deletedAt": null,
"merchant_id": "1",
"terminal_id": "3",
"location_id": "2"
},
{
"id": "6",
"amount": "35000",
"status": 0,
"card": "5074 *** *** 2234",
"createdAt": "2021-12-08T15:05:10.316Z",
"updatedAt": "2021-12-08T15:05:10.316Z",
"deletedAt": null,
"merchant_id": "1",
"terminal_id": "3",
"location_id": "2"
},
{
"id": "7",
"amount": "10000",
"status": 0,
"card": "5074 *** *** 2234",
"createdAt": "2021-12-08T15:05:10.316Z",
"updatedAt": "2021-12-08T15:05:10.316Z",
"deletedAt": null,
"merchant_id": "1",
"terminal_id": "4",
"location_id": "3"
},
{
"id": "8",
"amount": "22000",
"status": 0,
"card": "5074 *** *** 2234",
"createdAt": "2021-12-08T15:05:10.316Z",
"updatedAt": "2021-12-08T15:05:10.316Z",
"deletedAt": null,
"merchant_id": "1",
"terminal_id": "4",
"location_id": "3"
}
]
}
}
401:Unathorized
No API key
{
"success": false,
"message": "",
"data": {}
}
404:Not Found
Not Profiled for SquadPOS
{
"status": 404,
"success": false,
"message": "Merchant does not exist",
"data": {}
}

Create Terminal

This API allows yopu create multiple SquadPOS terminals which are associated to your squad account

POST
https://sandbox-api-d.squadco.com/softpos/terminal

Parameters

Header

content-type*

String

application/json

Body

email*

String

unique email to be associated to the terminal being created

name*

String

Name to be associated to the terminal

phone*

String

11 digit phone number to be associated to the terminal

location_id*

Integer

unique ID that identifies a particular location

Responses

200:OK
Success
{
"status": 200,
"success": true,
"message": "Success",
"data": {
"enabled": false,
"id": "8",
"name": "Sample name",
"phone": "090123456789",
"email": "Sample@email.com",
"location_id": "1",
"updatedAt": "2021-11-12T10:02:09.413Z",
"createdAt": "2021-11-12T10:02:09.413Z",
"deletedAt": null,
"merchant_id": null
}
}
401:Unathorized
No API key
{
"success": false,
"message": "",
"data": {}
}
404:Not Found
Not Profiled for SquadPOS
{
"status": 404,
"success": false,
"message": "Merchant does not exist",
"data": {}
}

Sample Request

{
"name": "Sample name",
"email": "Sample@email.com",
"phone": "090123456789",
"location_id": 1
}

Get all Terminals

This API allows you see all SquadPOS terminals created and associated to your account.

GET
https://sandbox-api-d.squadco.com/softpos/terminals

Parameters

Query

perPage*

Integer

Number of results per page

page*

Integer

Page Number

location_id

Integer

an ID that identifies a location

sort_by

String

Sorting Parameter. This can have a value of 'createdAt'

sort_by_dir

String

This arranges the transactions in ascending or descending order. Possible values are 'ASC' - ascending order, 'DESC' - descending order

date_from

date

Format : YYYY-MM-DD, Start Date

date_to

date

Format : YYYY-MM-DD End Date

active

Boolean

It takes a value of 'True' or 'False'

Responses

200:OK
Success
{
"status": 200,
"success": true,
"message": "Success",
"data": {
"count": 4,
"rows": [
{
"id": "2",
"merchant_id": "1",
"name": "Terminal 2",
"email": "merchant1.terminal2@example.com",
"phone": "090123456789",
"registered": false,
"enabled": false,
"active": false,
"createdAt": "2021-11-20T16:11:21.570Z",
"updatedAt": "2021-11-20T16:11:21.570Z",
"deletedAt": null,
"location_id": "2",
"location": {
"id": "2",
"name": "Abuja",
"createdAt": "2021-11-20T16:11:21.410Z",
"updatedAt": "2021-11-20T16:11:21.410Z",
"deletedAt": null
}
},
{
"id": "3",
"merchant_id": "1",
"name": "Terminal 3",
"email": "merchant1.terminal3@example.com",
"phone": "090123456789",
"registered": false,
"enabled": false,
"active": false,
"createdAt": "2021-11-20T16:11:21.570Z",
"updatedAt": "2021-11-20T16:11:21.570Z",
"deletedAt": null,
"location_id": "2",
"location": {
"id": "2",
"name": "Abuja",
"createdAt": "2021-11-20T16:11:21.410Z",
"updatedAt": "2021-11-20T16:11:21.410Z",
"deletedAt": null
}
},
{
"id": "4",
"merchant_id": "1",
"name": "Terminal 4",
"email": "merchant1.terminal4@example.com",
"phone": "090123456789",
"registered": false,
"enabled": false,
"active": false,
"createdAt": "2021-11-20T16:11:21.570Z",
"updatedAt": "2021-11-20T16:11:21.570Z",
"deletedAt": null,
"location_id": "3",
"location": {
"id": "3",
"name": "Enugu",
"createdAt": "2021-11-20T16:11:21.410Z",
"updatedAt": "2021-11-20T16:11:21.410Z",
"deletedAt": null
}
},
{
"id": "1",
"merchant_id": "1",
"name": "Terminal 1",
"email": "merchant1.terminal1@example.com",
"phone": "090123456789",
"registered": false,
"enabled": false,
"active": true,
"createdAt": "2021-11-20T16:11:21.570Z",
"updatedAt": "2021-11-20T16:24:29.624Z",
"deletedAt": null,
"location_id": "1",
"location": {
"id": "1",
"name": "Lagos",
"createdAt": "2021-11-20T16:11:21.410Z",
"updatedAt": "2021-11-20T16:11:21.410Z",
"deletedAt": null
}
}
]
}
}
401:Unathorized
No API key
{
"success": false,
"message": "",
"data": {}
}
404:Not Found
Not Profiled
{
"status": 404,
"success": false,
"message": "Merchant does not exist",
"data": {}
}

GO LIVE - Production

To Use this API on production:

  1. Kindly change the base URL of the endpoint from sandbox-api-d.squadco.com to api-d.squadco.com
  2. Get production keys from your production environment on dashboard.squadco.com and replace as authorization keys.