Customer API

v1.0.0

Customer-facing mobile/web app endpoints. NOTE: Every Amount Field is in Kobo (Minor), For Example: 100000k = N1000.00 (100000 kobo = N1000.00)

Pricing (cart - customer)

2 endpoints
POST/api/v1/pricing/quote

Create a new price quote

Generates a pricing quote for an order, calculating meal subtotal, service charge, delivery fee, and providing a quoteId for reference.

The quote calculation is based on the current active fee and delivery configuration.

The customerId (if provided) is passed in the request body, as there is currently no customer authentication.

Request body must include a valid set of meals and their quantities, vendor information, and delivery address/location.

Request body

application/json

Details for generating the order quote.

null

Responses

Quote generated successfully, returns comprehensive pricing information and quoteId.

null
boltTry it
env
POSThttps://api.example.com/api/v1/pricing/quote

Request body

Code samples

curl -X POST 'https://customer-api.docs.newinstance.cloud/api/v1/pricing/quote'
GET/api/v1/pricing/quote/{quoteId}

Get quote by ID

Retrieves a previously generated pricing quote by its identifier.

Returns all calculated fields and metadata for the specified quote.

This can be used to view or confirm the details of a specific quote before proceeding to order creation.

Parameters

quoteIdpathstringrequireddefault: Unique identifier for the pricing quote.

Responses

Quote fetched successfully.

null
boltTry it
env
GEThttps://api.example.com/api/v1/pricing/quote/{quoteId}

Path parameters

quoteId*

Code samples

curl -X GET 'https://customer-api.docs.newinstance.cloud/api/v1/pricing/quote/{quoteId}'

Customers

8 endpoints
POST/api/v1/customers/customers/create-customer

Request body

application/json
null

Responses

null
boltTry it
env
POSThttps://api.example.com/api/v1/customers/customers/create-customer

Request body

Code samples

curl -X POST 'https://customer-api.docs.newinstance.cloud/api/v1/customers/customers/create-customer'
GET/api/v1/customers/customers/get-customer-by-id/{customerId}

Parameters

customerIdpathstringrequireddefault:

Responses

null
boltTry it
env
GEThttps://api.example.com/api/v1/customers/customers/get-customer-by-id/{customerId}

Path parameters

customerId*

Code samples

curl -X GET 'https://customer-api.docs.newinstance.cloud/api/v1/customers/customers/get-customer-by-id/{customerId}'
POST/api/v1/customers/customers/addresses/create-customer-address

Request body

application/json
null

Responses

null
boltTry it
env
POSThttps://api.example.com/api/v1/customers/customers/addresses/create-customer-address

Request body

Code samples

curl -X POST 'https://customer-api.docs.newinstance.cloud/api/v1/customers/customers/addresses/create-customer-address'
POST/api/v1/customers/customers/addresses/make-customer-address-active

Parameters

customerIdpathstringrequireddefault:

Request body

application/json
null

Responses

null
boltTry it
env
POSThttps://api.example.com/api/v1/customers/customers/addresses/make-customer-address-active

Path parameters

customerId*

Request body

Code samples

curl -X POST 'https://customer-api.docs.newinstance.cloud/api/v1/customers/customers/addresses/make-customer-address-active'
POST/api/v1/customers/customers/addresses/delete-customer-address

Parameters

customerIdpathstringrequireddefault:

Request body

application/json
null

Responses

null
boltTry it
env
POSThttps://api.example.com/api/v1/customers/customers/addresses/delete-customer-address

Path parameters

customerId*

Request body

Code samples

curl -X POST 'https://customer-api.docs.newinstance.cloud/api/v1/customers/customers/addresses/delete-customer-address'
GET/api/v1/customers/customers/addresses/fetch-customer-addresses

Parameters

customerIdpathstringrequireddefault:

Responses

null
boltTry it
env
GEThttps://api.example.com/api/v1/customers/customers/addresses/fetch-customer-addresses

Path parameters

customerId*

Code samples

curl -X GET 'https://customer-api.docs.newinstance.cloud/api/v1/customers/customers/addresses/fetch-customer-addresses'
GET/api/v1/customers/customers/vendors/nearby

Get nearby vendors

Fetches all approved, open vendors within the configured search radius of the customer location.

Parameters

latitudequerynumberrequireddefault: Customer's current latitude
longitudequerynumberrequireddefault: Customer's current longitude
pagequerynumberdefault: 1
pageSizequerynumberdefault: 20

Responses

Nearby vendors fetched successfully

null
boltTry it
env
GEThttps://api.example.com/api/v1/customers/customers/vendors/nearby

Query parameters

latitude*
longitude*
page
pageSize

Code samples

curl -X GET 'https://customer-api.docs.newinstance.cloud/api/v1/customers/customers/vendors/nearby'
POST/api/v1/customers/customers/{customerId}/reviews/rider

Submit a review for a rider

Allows a customer to submit a review for a rider after delivery completion. Customer can only review completed deliveries (DELIVERED status) that they placed. Each delivery can only be reviewed once. Review includes rating (1-5 stars), optional text feedback, and quality indicators (professional, on-time, handled with care).

Parameters

customerIdpathstringrequireddefault: Customer ID

Request body

application/json
null

Responses

Review submitted successfully

null
boltTry it
env
POSThttps://api.example.com/api/v1/customers/customers/{customerId}/reviews/rider

Path parameters

customerId*

Request body

Code samples

curl -X POST 'https://customer-api.docs.newinstance.cloud/api/v1/customers/customers/{customerId}/reviews/rider'

Payments (Customers)

2 endpoints
POST/api/v1/payments/checkout

Checkout

Request body

application/json
null

Responses

Checkout successful

null
boltTry it
env
POSThttps://api.example.com/api/v1/payments/checkout

Request body

Code samples

curl -X POST 'https://customer-api.docs.newinstance.cloud/api/v1/payments/checkout'
GET/api/v1/payments/attempts/{reference}

Get attempt by reference

Parameters

referencepathstringrequireddefault:

Responses

Attempt retrieved successfully

null
boltTry it
env
GEThttps://api.example.com/api/v1/payments/attempts/{reference}

Path parameters

reference*

Code samples

curl -X GET 'https://customer-api.docs.newinstance.cloud/api/v1/payments/attempts/{reference}'