---
title: "Create a directory entry"
method: POST
path: "/api/directory/entries"
tags: ["Entries"]
---

# Create a directory entry

`POST /api/directory/entries`

Register a new directory entry. The combination of `rail` + `identifier`
must be unique. Global entries (no tenantId) are visible to all tenants.

## Headers

- `x-tenant-id` string, required

## Request body

- CreateDirectoryEntryRequest
  - `rail` string, required
  - `identifier` string, required
  - `tenantId` string, nullable
  - `gateway` string, nullable
  - `currencies` string[]
  - `priority` integer
  - `routingInfo` object
  - `status` 'ACTIVE' | 'SUSPENDED'

## Response `201`

Entry created

- DirectoryEntry
  - `id` string, uuid
  - `rail` string — Payment rail type (e.g. mobile_money, bank_transfer, card)
  - `identifier` string — Unique identifier within the rail
  - `tenantId` string, nullable — Owning tenant ID, null for global entries
  - `gateway` string, nullable — Gateway provider name
  - `currencies` string[] — Supported ISO 4217 currency codes
  - `priority` integer — Routing priority (lower = preferred)
  - `routingInfo` object — Arbitrary gateway-specific routing metadata
  - `status` 'ACTIVE' | 'SUSPENDED'
  - `createdAt` string, date-time
  - `updatedAt` string, date-time

## Other responses

- `400` — Validation error
- `401` — Missing or invalid authentication
- `409` — Duplicate rail + identifier

---

[API](https://skmtc.dev/stalela/apis/stalela-directory-api.md) · [All operations](https://skmtc.dev/stalela/apis/stalela-directory-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/stalela/stalela-directory-api/revisions/766a35bc67dd/schema)
