API reference
Brands
Manage the customer-facing identities (name + logo) shown on payment pages.
A brand is what customers see on the payment page — a display name and a logo. Every brand belongs
to one identification and must be accepted before it can back a
payment instance.
Statuses reference
Brand status values (pending, accepted, refused) are defined in
Statuses & enums → KYC.
Endpoints
| Method | Path | Description |
|---|---|---|
GET | /brands | List brands (paginated). |
POST | /brands | Create a brand. |
GET | /brands/{id} | Retrieve one brand. |
PUT | /brands/{id} | Update a brand. |
DELETE | /brands/{id} | Delete a brand. |
The brand object
| Field | Type | Description |
|---|---|---|
id | string (uuid) | Unique identifier. |
name | string | Display name shown to customers. |
logo | string | null | Public logo URL. |
file | string | null | Supporting document path. |
status | string | KYC status — see statuses. |
reason | string | null | Reason when refused. |
identification_id | string (uuid) | Parent identification. |
identification | object | { id, name } when loaded. |
created_at / updated_at | string (ISO 8601) | Timestamps. |
List brands
Query parameters: search, sort_by, sort_dir, per_page.
curl "https://api.mytpe.appp/api/ext/brands?search=centrale&per_page=15" \
-H "X-Api-Key: $MYTPE_API_KEY" \
-H "X-Api-Secret: $MYTPE_API_SECRET"{
"data": [
{
"id": "1c2d3e4f-5a6b-7c8d-9e0f-1a2b3c4d5e6f",
"name": "Boutique Centrale",
"logo": "https://api.mytpe.appp/storage/brands/1c2d.../logo.png",
"file": "brands/1c2d.../doc.png",
"status": "accepted",
"reason": null,
"identification_id": "0b1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f",
"created_at": "2026-06-09T10:05:00.000000Z",
"updated_at": "2026-06-09T11:00:00.000000Z"
}
],
"links": { "first": "...?page=1", "last": "...?page=1", "prev": null, "next": null },
"meta": { "current_page": 1, "from": 1, "to": 1, "per_page": 15, "last_page": 1, "total": 1 }
}Create a brand
Send as multipart/form-data.
| Field | Type | Required | Notes |
|---|---|---|---|
name | string | yes | Max 255. |
identification_id | uuid | yes | Must be an existing identification. |
logo | file | yes | Image, max 5 MB. |
file | file | yes | Image, max 5 MB. |
curl -X POST https://api.mytpe.appp/api/ext/brands \
-H "X-Api-Key: $MYTPE_API_KEY" \
-H "X-Api-Secret: $MYTPE_API_SECRET" \
-F "name=Boutique Centrale" \
-F "identification_id=0b1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f" \
-F "logo=@logo.png" \
-F "file=@brand-doc.png"{
"data": {
"id": "1c2d3e4f-5a6b-7c8d-9e0f-1a2b3c4d5e6f",
"name": "Boutique Centrale",
"logo": "https://api.mytpe.appp/storage/brands/1c2d.../logo.png",
"file": "brands/1c2d.../doc.png",
"status": "pending",
"reason": null,
"identification_id": "0b1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f",
"created_at": "2026-06-09T10:05:00.000000Z",
"updated_at": "2026-06-09T10:05:00.000000Z"
}
}Retrieve a brand
curl https://api.mytpe.appp/api/ext/brands/1c2d3e4f-5a6b-7c8d-9e0f-1a2b3c4d5e6f \
-H "X-Api-Key: $MYTPE_API_KEY" \
-H "X-Api-Secret: $MYTPE_API_SECRET"{
"data": {
"id": "1c2d3e4f-5a6b-7c8d-9e0f-1a2b3c4d5e6f",
"name": "Boutique Centrale",
"logo": "https://api.mytpe.appp/storage/brands/1c2d.../logo.png",
"file": "brands/1c2d.../doc.png",
"status": "accepted",
"reason": null,
"identification_id": "0b1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f",
"identification": { "id": "0b1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f", "name": "Boutique Centrale SARL" },
"created_at": "2026-06-09T10:05:00.000000Z",
"updated_at": "2026-06-09T11:00:00.000000Z"
}
}Update a brand
Accepts the same fields as create (as multipart/form-data).
curl -X PUT https://api.mytpe.appp/api/ext/brands/1c2d3e4f-5a6b-7c8d-9e0f-1a2b3c4d5e6f \
-H "X-Api-Key: $MYTPE_API_KEY" \
-H "X-Api-Secret: $MYTPE_API_SECRET" \
-F "name=Boutique Centrale Alger" \
-F "logo=@new-logo.png"{
"data": {
"id": "1c2d3e4f-5a6b-7c8d-9e0f-1a2b3c4d5e6f",
"name": "Boutique Centrale Alger",
"logo": "https://api.mytpe.appp/storage/brands/1c2d.../new-logo.png",
"status": "pending",
"reason": null,
"identification_id": "0b1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f",
"created_at": "2026-06-09T10:05:00.000000Z",
"updated_at": "2026-06-09T12:00:00.000000Z"
}
}Delete a brand
curl -X DELETE https://api.mytpe.appp/api/ext/brands/1c2d3e4f-5a6b-7c8d-9e0f-1a2b3c4d5e6f \
-H "X-Api-Key: $MYTPE_API_KEY" \
-H "X-Api-Secret: $MYTPE_API_SECRET"{ "message": "Brand deleted." }A brand that a payment instance depends on cannot be deleted while the instance exists.