Build payments into your product with MyTPE Pay. Start integrating →
Logo
API reference

Identifications

Manage your KYC dossier — the legal entity MyTPE verifies before activation.

An identification is your KYC dossier. It references an establishment type, an authorization type, an optional activity, and an optional registration document. It must be accepted before it can back a payment instance.

Statuses reference

Identification status values (pending, accepted, refused) are defined in Statuses & enums → KYC.

Endpoints

MethodPathDescription
GET/identificationsList identifications (paginated).
POST/identificationsCreate an identification.
GET/identifications/{id}Retrieve one identification.
PUT/identifications/{id}Update an identification.
DELETE/identifications/{id}Delete an identification.

The identification object

FieldTypeDescription
idstring (uuid)Unique identifier.
namestringLegal / commercial name.
establishment_typeobject{ id, name, slug } when loaded.
authorization_typeobject | null{ id, name, slug } when loaded.
activityobject | null{ id, name } when loaded.
has_filebooleanWhether a registration document is attached.
file_pathstring | nullPath to the stored document.
statusstringKYC status — see statuses.
reasonstring | nullReason when refused.
created_at / updated_atstring (ISO 8601)Timestamps.

List identifications

Query parameters: search, status, establishment_type_id, sort_by (created_at · name · status), sort_dir (asc · desc), per_page.

Request
curl "https://api.mytpe.appp/api/ext/identifications?status=accepted&per_page=15" \
  -H "X-Api-Key: $MYTPE_API_KEY" \
  -H "X-Api-Secret: $MYTPE_API_SECRET"
200 OK
{
  "data": [
    {
      "id": "0b1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f",
      "name": "Boutique Centrale SARL",
      "establishment_type": { "id": "2f1c...", "name": "SARL", "slug": "sarl" },
      "authorization_type": { "id": "7a9d...", "name": "Registre de commerce", "slug": "rc" },
      "activity": { "id": "c4e2...", "name": "Retail" },
      "has_file": true,
      "file_path": "identifications/0b1d.../registre.pdf",
      "status": "accepted",
      "reason": null,
      "created_at": "2026-06-09T10:00: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 an identification

Send as multipart/form-data to include the document.

FieldTypeRequiredNotes
namestringyesMax 255.
establishment_type_iduuidyes
authorization_type_iduuidyes
activity_iduuidno
identification_filefilenoPDF, max 5 MB.
Request
curl -X POST https://api.mytpe.appp/api/ext/identifications \
  -H "X-Api-Key: $MYTPE_API_KEY" \
  -H "X-Api-Secret: $MYTPE_API_SECRET" \
  -F "name=Boutique Centrale SARL" \
  -F "establishment_type_id=2f1c..." \
  -F "authorization_type_id=7a9d..." \
  -F "activity_id=c4e2..." \
  -F "identification_file=@registre-commerce.pdf"
201 Created
{
  "data": {
    "id": "0b1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f",
    "name": "Boutique Centrale SARL",
    "establishment_type": { "id": "2f1c...", "name": "SARL", "slug": "sarl" },
    "authorization_type": { "id": "7a9d...", "name": "Registre de commerce", "slug": "rc" },
    "activity": { "id": "c4e2...", "name": "Retail" },
    "has_file": true,
    "file_path": "identifications/0b1d.../registre.pdf",
    "status": "pending",
    "reason": null,
    "created_at": "2026-06-09T10:00:00.000000Z",
    "updated_at": "2026-06-09T10:00:00.000000Z"
  }
}

A first brand is created automatically with the same name.

Retrieve an identification

Request
curl https://api.mytpe.appp/api/ext/identifications/0b1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f \
  -H "X-Api-Key: $MYTPE_API_KEY" \
  -H "X-Api-Secret: $MYTPE_API_SECRET"
200 OK
{
  "data": {
    "id": "0b1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f",
    "name": "Boutique Centrale SARL",
    "establishment_type": { "id": "2f1c...", "name": "SARL", "slug": "sarl" },
    "authorization_type": { "id": "7a9d...", "name": "Registre de commerce", "slug": "rc" },
    "activity": { "id": "c4e2...", "name": "Retail" },
    "has_file": true,
    "file_path": "identifications/0b1d.../registre.pdf",
    "status": "accepted",
    "reason": null,
    "created_at": "2026-06-09T10:00:00.000000Z",
    "updated_at": "2026-06-09T11:00:00.000000Z"
  }
}

A missing or foreign id returns 404 with { "error": "IDENTIFICATION_NOT_FOUND", "message": "Identification not found." }.

Update an identification

Accepts the same fields as create (as multipart/form-data).

Request
curl -X PUT https://api.mytpe.appp/api/ext/identifications/0b1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f \
  -H "X-Api-Key: $MYTPE_API_KEY" \
  -H "X-Api-Secret: $MYTPE_API_SECRET" \
  -F "name=Boutique Centrale SARL (Alger)"
200 OK
{
  "data": {
    "id": "0b1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f",
    "name": "Boutique Centrale SARL (Alger)",
    "status": "pending",
    "reason": null,
    "has_file": true,
    "created_at": "2026-06-09T10:00:00.000000Z",
    "updated_at": "2026-06-09T12:00:00.000000Z"
  }
}

Delete an identification

Request
curl -X DELETE https://api.mytpe.appp/api/ext/identifications/0b1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f \
  -H "X-Api-Key: $MYTPE_API_KEY" \
  -H "X-Api-Secret: $MYTPE_API_SECRET"
200 OK
{ "message": "Identification deleted." }

You cannot delete an identification that a brand, bank account, or payment instance still depends on.

On this page