Documentation ·Docs
API design guidelines

Naming

Property, query parameter, enum value and path names on the wire: snake_case, kebab-case paths, and the rules that check them.

Read this page in العربية

On this page

At a glance#

Wire names are lower snake_case. The runtime rejects a camelCase property in a request body, so a specification that declares one describes a request that fails. The OpenAPI file of the platform is generated from the same names the runtime reads and writes.

WhereStyleExample
JSON propertysnake_casecustomer_id, created_at
Query parametersnake_caseper_page, sort_by
Path segmentlower-case kebab-casekyc-kyb, platform-subscriptions
Path variablesnake_case{order_id}
Enum valuesnake_case, or UPPER_SNAKE_CASE when it mirrors a Java enumshipped, IN_REVIEW
Header nameHyphen-Case, as HTTP writes itIdempotency-Key, Accept-Language
Error codesnake_casequota_exceeded

Properties and parameters#

A name is lower case, with digits and single underscores between words. It starts with a letter. orderId, OrderID, order-id and order__id are refused.

{
  "order_id": "ord_1042",
  "customer_id": "cus_77",
  "item_count": 3,
  "created_at": "2026-10-17T09:30:00Z"
}

Timestamps are ISO 8601 in UTC. An amount carries its currency in a sibling property, for example amount and currency with a value such as SAR.

Enum values#

A new enum uses snake_case values. An enum that mirrors a Java enum keeps the UPPER_SNAKE_CASE of that enum: the platform's own specifications hold several hundred such values. Both are accepted. Kebab-case, camelCase, mixed case and values with spaces are refused.

Paths#

A path segment is a plural noun in lower-case kebab-case. A path variable is the singular name of the identifier in snake_case. A path variable is positional on the wire, so a different style there never breaks a client; the ruleset reports it as a hint for a provider, because generated clients use the name for their arguments.

Checked by#

RuleSeverityChecks
api360-property-snake-caseerrorEvery schema property name
api360-query-param-snake-caseerrorEvery query parameter name
api360-path-param-snake-casehintEvery path variable name (off for the platform's own specifications)
api360-enum-value-casewarnEvery string enum value
api360-path-kebab-casewarnEvery literal path segment

See also#

Was this page helpful?
Updated 2026-10-17