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

Create a new price quote

POST/api/v1/pricing/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

201Quote generated successfully, returns comprehensive pricing information and quoteId.
400Invalid input or required fields missing from request.
curl -X POST 'https://customer-api.docs.newinstance.cloud/api/v1/pricing/quote'
Response
null

Get quote by ID

GET/api/v1/pricing/quote/{quoteId}

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

quoteIdpath · stringrequireddefault:

Unique identifier for the pricing quote.

Responses

200Quote fetched successfully.
404Quote not found for the supplied quoteId.
curl -X GET 'https://customer-api.docs.newinstance.cloud/api/v1/pricing/quote/{quoteId}'
Response
null

Customers

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

Request body

application/json
null

Responses

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

Parameters

customerIdpath · stringrequireddefault:

Responses

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

Request body

application/json
null

Responses

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

Parameters

customerIdpath · stringrequireddefault:

Request body

application/json
null

Responses

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

Parameters

customerIdpath · stringrequireddefault:

Request body

application/json
null

Responses

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

Parameters

customerIdpath · stringrequireddefault:

Responses

200
curl -X GET 'https://customer-api.docs.newinstance.cloud/api/v1/customers/customers/addresses/fetch-customer-addresses'
Response
null

Get nearby vendors

GET/api/v1/customers/customers/vendors/nearby

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

Parameters

latitudequery · numberrequireddefault:

Customer's current latitude

longitudequery · numberrequireddefault:

Customer's current longitude

pagequery · numberdefault: 1
pageSizequery · numberdefault: 20

Responses

200Nearby vendors fetched successfully
curl -X GET 'https://customer-api.docs.newinstance.cloud/api/v1/customers/customers/vendors/nearby'
Response
null

Submit a review for a rider

POST/api/v1/customers/customers/{customerId}/reviews/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

customerIdpath · stringrequireddefault:

Customer ID

Request body

application/json
null

Responses

201Review submitted successfully
400Invalid request or review already exists
404Order not found
curl -X POST 'https://customer-api.docs.newinstance.cloud/api/v1/customers/customers/{customerId}/reviews/rider'
Response
null

Payments (Customers)

2 endpoints

Checkout

POST/api/v1/payments/checkout

Request body

application/json
null

Responses

200Checkout successful
400Bad request
curl -X POST 'https://customer-api.docs.newinstance.cloud/api/v1/payments/checkout'
Response
null

Get attempt by reference

GET/api/v1/payments/attempts/{reference}

Parameters

referencepath · stringrequireddefault:

Responses

200Attempt retrieved successfully
400Bad request
curl -X GET 'https://customer-api.docs.newinstance.cloud/api/v1/payments/attempts/{reference}'
Response
null