KeysenderhomeSupport help center home
IntegrationsPricingDemoSubmit a ticketTicket statusLog inStart free
KeysenderSupport home

The Keysender help center. Setup, connected channels, orders, and delivery, for digital product vendors.

Product

  • Integrations
  • Pricing
  • Demo
  • API

Resources

  • Help Center
  • Submit a ticket
  • Ticket status
  • Request an integration
  • Connect a supplier
  • Insights
  • Refer & earn
  • Contact sales

Legal

  • Privacy Policy
  • Terms & Conditions
  • Violation Report

Bought from a seller?

Keysender is the delivery platform, not the seller. If your order has not arrived or is not as described, contact the seller directly. They can help fastest.

Get help with your order →
© 2026 Keysender. Made in the USA.
Keysender is the delivery system, not the seller.
Back
Help CenterDevelopers and APIManaging customers with the API

Managing customers with the API

Last updated Aug 26, 2026Developers and API

Reading this in another language? Use your browser's built-in translate option. Button and field names stay in English on purpose, to match what you see in Keysender.

Overview

Customers are the buyer records Keysender keeps for your account: an email, a name, contact details, notes, and the list type that decides whether a buyer is blocked or always allowed. The Customer endpoints keep those records in step with your own CRM or store, so a vetted buyer is treated the same way on every channel.

TL;DR

  • A customer record holds a buyer's contact details and their block/allow list type.
  • Create one with POST /customer; an email that already exists returns 422 Invalid email, meaning "already there."
  • Update the five editable fields with PUT /customer; email and language cannot change afterward.

Before you start

Make sure you have:

  • A bearer token from POST /login and the base URL https://panel.keysender.com/api/v1.0.
  • The customer's email address. It is the identity of the record and cannot be changed afterwards.

A customer has these fields: id, email, firstName, lastName, language, phone, organizationId, marketingFlag, listType, and notes.

Steps

List customers

  1. Send GET /customers. Add page and pagesize for large lists.

Read one customer

  1. Send GET /customer?id=789.

Create a customer

  1. Send POST /customer with at least email and firstName:
curl -X POST "https://panel.keysender.com/api/v1.0/customer" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]", "firstName": "Alex", "lastName": "Rivera", "notes": "Repeat buyer, verified", "marketingFlag": false}'
  1. Optional fields: lastName, language (default en), phone, notes, marketingFlag, and listType.
  2. An email that already exists on your account is rejected with 422 and the message Invalid email. Read that as "already there" and update the existing record instead.

Update a customer

  1. Send PUT /customer with id and only the fields to change: firstName, lastName, phone, notes, or marketingFlag. The email stays as created.

Delete a customer

  1. Send DELETE /customer with {"id": 789}.

Block or allow a buyer

  1. The block and allow lists you manage in the panel are the same records. See Add a customer to the block or allow list for what each list does to delivery and fraud screening.

Confirm it works

GET /customer?id=... returns the record you created, and the same buyer appears under Customers in the panel with the notes you wrote. A customer's email is also the payer you send in Creating transactions with the API.

Troubleshooting

Symptom Cause Action
422 Invalid email on create The email exists already, or it is not a valid address Search for it with GET /customers first
A field did not change on update Only the five editable fields apply; email and language are not Confirm the field is one of firstName, lastName, phone, notes, marketingFlag
A create was rejected with no matching existing customer A required field is missing, or email is malformed Resend with email and firstName at minimum

If it still is not working

Submit a ticket with the customer id and the request you sent.

Frequently asked questions

Why does creating a customer return Invalid email?

That message is also what you get when the email already exists on your account. Search for it with GET /customers first and update the existing record instead of creating a new one.

Can I change a customer's email over the API?

No. The email is the identity of the record and cannot be changed after creation. Only firstName, lastName, phone, notes, and marketingFlag can be updated.

How do customer records relate to the block and allow lists?

They are the same records. The listType field is what the panel's block and allow lists set, and it decides how fraud screening treats that buyer on every channel.

Related articles

Getting started with the Keysender APIConnecting your own app to KeysenderCreating transactions with the APIUploading and managing codes with the API
Back to Help Center
If this still is not workingSubmit a Ticket