# Products and Customers > API reference for storing a seller's product catalogue and customer records: create, list, update and delete products and customers, authenticated with a JWT from `POST /auth-tokens`. ## Machine-readable - [Products and Customers — Authentication OpenAPI spec](https://docs.payme.io/products-and-customers/authentication/openapi.json): the section's OpenAPI document (also as [YAML](https://docs.payme.io/products-and-customers/authentication/openapi.yaml)) - [Products and Customers — Products OpenAPI spec](https://docs.payme.io/products-and-customers/products/openapi.json): the section's OpenAPI document (also as [YAML](https://docs.payme.io/products-and-customers/products/openapi.yaml)) - [Products and Customers — Customers OpenAPI spec](https://docs.payme.io/products-and-customers/customers/openapi.json): the section's OpenAPI document (also as [YAML](https://docs.payme.io/products-and-customers/customers/openapi.yaml)) - [Products and Customers tool definitions](https://docs.payme.io/api/v1/projects/products-and-customers/api/tools.json): one function-calling tool per endpoint - [Products and Customers full text](https://docs.payme.io/products-and-customers/llms-full.txt): every Products and Customers page in one file - Markdown: append `.md` to any page URL for that page as Markdown, or request the page URL with `Accept: text/markdown` - Source: append `.yaml` to an endpoint page URL (a line that reads `METHOD path — summary`) for its source YAML; guide pages have no YAML ## Authentication - [Authentication](https://docs.payme.io/products-and-customers/authentication): Hosts: https://payme-store-staging.payme.io/api/ (sandbox), https://payme-store.payme.io/api/ (production). POST /auth-tokens with {"mpl": seller MPL, "key": partner payme_client_key} returns 201 with auth_token (JWT) and refresh_token; send Authorization: Bearer . POST /refresh-exchanges with {"refresh_token"} (no headers) returns a new auth_token and a new single-use refresh_token. Prices are decimal major units as {amount, currency}. Errors: status_error_details, status_error_code (501 validation, 999 other), validation_errors, session; HTTP 400, 401, 404, 409, 500. - [Get an access token](https://docs.payme.io/products-and-customers/authentication/post-auth-token): POST /auth-tokens — Get an access token - [Refresh an access token](https://docs.payme.io/products-and-customers/authentication/post-auth-refresh): POST /refresh-exchanges — Refresh an access token ## Products - [List products](https://docs.payme.io/products-and-customers/products/get-products): GET /products — List products - [Get a product](https://docs.payme.io/products-and-customers/products/get-products-guid): GET /products/{guid} — Get a product - [Update a product](https://docs.payme.io/products-and-customers/products/patch-products-product-id): PATCH /products/{guid} — Update a product - [Delete a product](https://docs.payme.io/products-and-customers/products/delete-products-guid): DELETE /products/{guid} — Delete a product - [Create a product](https://docs.payme.io/products-and-customers/products/post-user): POST /products — Create a product ## Customers - [List customers](https://docs.payme.io/products-and-customers/customers/get-customers): GET /customers — List customers - [Create a customer](https://docs.payme.io/products-and-customers/customers/post-customers): POST /customers — Create a customer - [Get a customer](https://docs.payme.io/products-and-customers/customers/get-customers-guid): GET /customers/{guid} — Get a customer - [Update a customer](https://docs.payme.io/products-and-customers/customers/patch-customers): PATCH /customers/{guid} — Update a customer - [Delete a customer](https://docs.payme.io/products-and-customers/customers/delete-customers): DELETE /customers/{guid} — Delete a customer