Retrieve list of customers
  • 15 Nov 2024
  • 3 Minutes to read
  • Contributors
  • Dark
    Light

Retrieve list of customers

  • Dark
    Light

Article summary

Get
/customers

Retrieve list of customers, using a cursor based pagniation scheme.

The purpose of this endpoint, is to allow Bento Box to search over the Customer dataset for features such as the Admin UI Customer page. Depending on capabilities defined, within the integration configuration, Bento Box capabilities will automatically change. For example, if the generic search capability is not provided, the Admin UI will search just over email address.

Security
HTTP
Type bearer
Query parameters
id
string

ID of customer to search over, including partial ids

email
string (email)

Email address to search over, including partial email addresses

search
string

Generic search field that allow for searching over whichever Customer fields that the Merchant would like to be available within the Admin UI

This is an optional field to implement, with it being available to the Customer Gateway, being defined as part of the integration setup. If this capability is not provided, Admin UI search feature will operate over the email field.

cursor
string

Cursor to start the results from

page_size
number

Number of items to return up to in the response

Responses
200

Pagniated list of customers

Expand All
object

An object that encapsulates the return of multiple Customer objects in a pagniated result

items
Array of object (Customer)
object
id
string
email
string (email)
firstName
string
lastName
string
addresses
Array of object (Address)
Min items1
object
id
string
line1
string
line2
string
city
string
province
string
zipcode
string
country
string
meta
object (MetadataBlock)

Block that allows for the arbitary passing of metadata alongside an entity

property*

Can be any value - string, number, boolean, array or object

pagination
object (PaginationBlock)

Provide information to help with pagniating through a set of results

moreResults
boolean

Defines whether more results are available from the endpoint

totalNumber
integer

The number of items within the result

cursor
string

The cursor used to access the current set of results

nextCursor
string

The cursor needed to access the next set of results

400

Invalid request

Expand All
object

Response body, based upon RFC-9457 specification, for 400 error codes

title
string
status
number
Valid values[ "401" ]
errors
Array of object

Array contain the reason(s) for why the request being invalid

object
title
string

Short human readable explaination for the violation

detail
string

JSON string containing a human-readable explanation specific to this occurrence of the problem.

Consumers should not parse this property to extract information, but instead should rely on extension properties.

401

Invalid authentication token

object

Response body, based upon RFC-9457 specification, for 401 error codes

title
string
Valid values[ "No authorisation token provided", "Unauthorised token provided" ]
status
number
Valid values[ "401" ]
403

Invalid authorization permissions

object

Response body, based upon RFC-9457 specification, for 403 error codes

title
string
Valid values[ "Invalid permissions for request" ]
status
number
Valid values[ "403" ]
500

Internal server error

object

Error response body, as defined in RFC-9457. Please refer to the specification for more detail on each of the properties.

Other properties can be provided, Extensions, to provide more detailed information for consumers, such as balance in a credit based error.

type
string (uri)

URI reference that identifies the problem type, which consumer must use as the problem type's primrary identifier.

Relative URI's can be used; however, fully qualified URI's are preferred to avoid confusion, as implementations may not handle relative URIs correctly.

status
number

HTTP status code generated by the origin server.

This value, if provided, should match the HTTP status code sent by the server. But this disagree on the consumer, due to intermediaries such as proxies and caches.

title
string

Short, human-readable summary of the problem type

detail
string

JSON string containing a human-readable explanation specific to this occurrence of the problem.

Consumers should not parse this property to extract information, but instead should rely on extension properties.

instance
string (uri)

JSON string containing a URI reference that identifies the specific occurrence of the problem.


Was this article helpful?