{"id":49488688,"url":"https://github.com/openapi/openapi-naming","last_synced_at":"2026-05-01T03:05:35.294Z","repository":{"id":351277484,"uuid":"1210312517","full_name":"openapi/openapi-naming","owner":"openapi","description":"📘 Naming conventions for Openapi®: consistent usage across languages and platforms","archived":false,"fork":false,"pushed_at":"2026-04-23T14:01:50.000Z","size":11,"stargazers_count":12,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-23T16:06:26.765Z","etag":null,"topics":["api","certified-api","glossary","glossary-terms","naming","naming-conventions","openapi","php","python","rest-api","rust"],"latest_commit_sha":null,"homepage":"https://console.openapi.com","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openapi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-14T09:38:30.000Z","updated_at":"2026-04-23T14:02:09.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/openapi/openapi-naming","commit_stats":null,"previous_names":["openapi/openapi-naming"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/openapi/openapi-naming","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openapi%2Fopenapi-naming","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openapi%2Fopenapi-naming/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openapi%2Fopenapi-naming/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openapi%2Fopenapi-naming/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openapi","download_url":"https://codeload.github.com/openapi/openapi-naming/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openapi%2Fopenapi-naming/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32483432,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","certified-api","glossary","glossary-terms","naming","naming-conventions","openapi","php","python","rest-api","rust"],"created_at":"2026-05-01T03:04:41.479Z","updated_at":"2026-05-01T03:05:35.284Z","avatar_url":"https://github.com/openapi.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Openapi Naming Guide\n\nThis repository defines the preferred naming conventions for **Openapi** across documentation, source code, environment variables, package names, and integrations.\n\n## Table of contents\n\n- [Official name](#official-name)\n- [Why this repository exists](#why-this-repository-exists)\n- [Naming conventions](#naming-conventions)\n  - [1. Human-readable text](#1-human-readable-text)\n  - [2. GitHub organization and repository names](#2-github-organization-and-repository-names)\n  - [3. Environment variables](#3-environment-variables)\n  - [4. Package names](#4-package-names)\n  - [5. Constants](#5-constants)\n  - [6. PHP](#6-php)\n  - [7. JavaScript / TypeScript](#7-javascript--typescript)\n  - [8. Python](#8-python)\n  - [9. Go](#9-go)\n  - [10. Rust](#10-rust)\n- [Quick reference](#quick-reference)\n- [Forms to avoid](#forms-to-avoid)\n- [Rule of thumb](#rule-of-thumb)\n\n## Official name\n\nThe preferred display name is:\n\n**Openapi**\n\n## Why this repository exists\n\nThe name is written in one way only:\n\n| | Form |\n|---|---|\n| ✅ | `Openapi` |\n| ❌ | `OpenAPI` |\n| ❌ | `OpenApi` |\n| ❌ | `openAPI` |\n| ❌ | `OPENAPI` |\n\nThis guide explains which form to use in each technical context.\n\n## Naming conventions\n\n### 1. Human-readable text\n\n| | Form | Example |\n|---|---|---|\n| ✅ | `Openapi` | Openapi organization, Openapi SDK |\n| ❌ | `OpenAPI` | |\n| ❌ | `openAPI` | |\n| ❌ | `OPENAPI` | |\n\n### 2. GitHub organization and repository names\n\nUse lowercase when required by platform conventions:\n\n- `openapi`\n- `openapi/openapi-naming`\n\n### 3. Environment variables\n\nUse uppercase snake case:\n\n- `OPENAPI_API_KEY`\n- `OPENAPI_BASE_URL`\n\nStandard variables used across Openapi projects:\n\n**OAuth credentials (token management):**\n\n| Variable | Description |\n|---|---|\n| `OPENAPI_USERNAME` | Account username (email) |\n| `OPENAPI_KEY` | API key |\n| `OPENAPI_SANDBOX_KEY` | Sandbox API key |\n\n**Bearer tokens (service API commands):**\n\n| Variable | Description |\n|---|---|\n| `OPENAPI_TOKEN` | Bearer token for production |\n| `OPENAPI_SANDBOX_TOKEN` | Bearer token for sandbox |\n\n### 4. Package names\n\nUse lowercase where ecosystem conventions require it:\n\n- `openapi-client`\n- `openapi-sdk`\n- `openapi-php`\n\n### 5. Constants\n\nUse uppercase snake case:\n\n- `OPENAPI_DEFAULT_TIMEOUT`\n- `OPENAPI_API_VERSION`\n\n### 6. PHP\n\n**Classes:** PascalCase prefixed with `Openapi`\n\n- `OpenapiClient`\n- `OpenapiConfig`\n- `OpenapiException`\n- `OpenapiServiceProvider`\n\n**Namespaces:** PascalCase segments\n\n- `Openapi\\Client`\n- `Openapi\\Support`\n- `Openapi\\Http\\RequestBuilder`\n\n**Variables:** camelCase\n\n- `$openapiClient`\n- `$openapiConfig`\n- `$openapiApiKey`\n\n**Functions:** camelCase\n\n- `createOpenapiClient()`\n\nAvoid: `OpenAPIClient`, `OpenApiClient`, `$OpenapiClient`, `$openAPIClient`\n\n### 7. JavaScript / TypeScript\n\n**Classes:** PascalCase prefixed with `Openapi`\n\n- `OpenapiClient`\n- `OpenapiConfig`\n\n**Variables:** camelCase\n\n- `openapiClient`\n- `openapiConfig`\n\n**Functions:** camelCase\n\n- `createOpenapiClient()`\n\n### 8. Python\n\n**Classes:** PascalCase prefixed with `Openapi`\n\n- `OpenapiClient`\n- `OpenapiConfig`\n\n**Modules:** snake_case\n\n- `openapi_client`\n- `openapi_config`\n\n**Variables and functions:** snake_case\n\n- `openapi_client`\n- `openapi_config`\n- `create_openapi_client()`\n\n### 9. Go\n\n**Types and exported identifiers:** PascalCase prefixed with `Openapi`\n\n- `OpenapiClient`\n- `OpenapiConfig`\n\n**Packages:** lowercase\n\n- `openapi`\n\n**Variables:** camelCase\n\n- `openapiClient`\n- `openapiConfig`\n\n**Functions:** PascalCase if exported, camelCase if unexported\n\n- `NewOpenapiClient()`\n- `newOpenapiClient()`\n\n### 10. Rust\n\n**Structs and enums:** PascalCase prefixed with `Openapi`\n\n- `OpenapiClient`\n- `OpenapiConfig`\n\n**Modules and crates:** snake_case\n\n- `openapi_client`\n- `openapi_config`\n\n**Variables and functions:** snake_case\n\n- `openapi_client`\n- `openapi_config`\n- `create_openapi_client()`\n\n## Quick reference\n\n| Context | Preferred form | Example |\n|---|---|---|\n| Brand / display name | `Openapi` | Openapi SDK |\n| GitHub org / repo | `openapi` | `openapi/openapi-naming` |\n| Environment variables | `OPENAPI_*` | `OPENAPI_API_KEY` |\n| Constants | `OPENAPI_*` | `OPENAPI_DEFAULT_TIMEOUT` |\n| PHP / JS / Go classes | `Openapi*` | `OpenapiClient` |\n| PHP / Go variables | `$openapiClient` | camelCase |\n| Python / Rust variables | `openapi_client` | snake_case |\n| Package names | `openapi-*` | `openapi-sdk` |\n\n## Forms to avoid\n\nUnless a platform or technical convention requires otherwise, avoid:\n\n- `OpenAPI`\n- `openAPI`\n- `openApi`\n\n## Rule of thumb\n\n- Use **Openapi** for human-facing text\n- Use **openapi** where lowercase identifiers are standard\n- Use **OPENAPI** where uppercase constants or environment variables are standard\n\n## Status\n\nThis repository is the canonical reference for how the name **Openapi** should be written across contexts.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenapi%2Fopenapi-naming","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenapi%2Fopenapi-naming","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenapi%2Fopenapi-naming/lists"}