Update a kit
Rename a kit or replace its branding.
PATCH /organizations/{org}/kits/{kitId}
The body is the mask. branding is replaced whole when you send it, so send every one of its fields. Every page and email wearing the kit picks up the change.
Authorization
Org owner. Anyone else gets 403 forbidden.
Path parameters
| Name | Type | Description |
|---|---|---|
org | string | The organization: its id (org_…) or its slug. It has to be an org your token can manage (see Who can call it) |
kitId | string | The kit, kit_… |
Body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | no | 1–120 characters, trimmed |
branding | object | no | All nine fields required, as below |
branding.favicon, branding.logo, branding.og_image | string | with branding | https URLs |
branding.og_image_width, branding.og_image_height | integer | with branding | Positive integers |
branding.primary_color_light, branding.primary_color_dark | string | with branding | #rrggbb |
branding.tagline, branding.description | string | with branding | Up to 2000 characters |
At least one of name and branding is required.
Response
200 OK with the updated kit.
{
"id": "kit_65f1c2a9e4b0d3f7a1c8e906",
"name": "Acme brand",
"branding": {
"favicon": "https://ui-avatars.com/api/?name=Acme&size=32",
"logo": "https://ui-avatars.com/api/?name=Acme&size=128",
"og_image": "https://placehold.co/1200x630",
"og_image_width": 1200,
"og_image_height": 630,
"primary_color_light": "#4f46e5",
"primary_color_dark": "#818cf8",
"tagline": "",
"description": ""
}
}
Errors
| Status | error | When |
|---|---|---|
400 | invalid_request | An empty body, an unknown field, or a value that fails validation. The detail names it |
403 | forbidden | You are not an owner of the org |
404 | not_found | No such kit in this org, or the id is not a kit_ id |
404 | not_found | The org does not exist, or your token cannot manage it |
Example
curl -X PATCH https://loginwith.loginwith.dev/organizations/acme/kits/kit_65f1c2a9e4b0d3f7a1c8e906 \
-H "Authorization: Bearer $TOKEN" -H "content-type: application/json" \
-d '{"name": "Acme brand (2026)"}'