---
title: "Name up to 50 customers"
method: PUT
path: "/credits/customers"
tags: ["Customers"]
---

# Name up to 50 customers

`PUT /credits/customers`

## Request

- Base URL: `https://api.paywithlocus.com/api`
- URL: `https://api.paywithlocus.com/api/credits/customers`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Upserts display data per (source, customerId). Charges keep only the ids, so a name can be corrected or removed later; the security audit records how many entries a write carried, never the entries themselves. The production edge rejects request bodies over 8 KiB, so send fewer entries when names or links are long. Enterprise workspaces only.

## Request body

- object
  - `customers` CustomerUpsert[], required
    - `source` string
    - `customerId` string, required
    - `name` string, required: Trimmed; no control characters.
    - `url` string, uri, nullable: Absolute http(s) URL, stored exactly as sent.
    - `adminUrl` string, uri, nullable: Absolute http(s) URL, stored exactly as sent.

## Response `200`

Every entry was written

- object
  - `success` true, required
  - `upserted` integer, required

## Other responses

- `400`: An invalid entry, a duplicate (source, customerId), an unexpected key, or an empty or oversized batch; nothing is written
- `401`: Missing, invalid, expired, or revoked management credential
- `403`: The authenticated management credential lacks one or more required scopes

---

[API](https://skmtc.dev/paywithlocus/apis/locus-pro-api.md) - [All operations](https://skmtc.dev/paywithlocus/apis/locus-pro-api/llms.txt) - [OpenAPI document](https://skmtc.dev/paywithlocus/apis/locus-pro-api/revisions/aab8fa5d6cef?raw)
