{"id":19404484,"url":"https://github.com/seven-io/api-schemes","last_synced_at":"2026-05-20T05:12:26.493Z","repository":{"id":40705581,"uuid":"228355758","full_name":"seven-io/api-schemes","owner":"seven-io","description":"Official API schemes for seven.io.","archived":false,"fork":false,"pushed_at":"2024-06-17T06:09:58.000Z","size":94,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-07T12:48:58.084Z","etag":null,"topics":["cnam","hlr-lookups","mnp","openapi","sms","sms-client","sms-gateway","swagger","text2speech","tts"],"latest_commit_sha":null,"homepage":"https://seven.io","language":"JavaScript","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/seven-io.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}},"created_at":"2019-12-16T09:58:15.000Z","updated_at":"2024-11-20T22:13:34.000Z","dependencies_parsed_at":"2024-05-21T11:12:21.906Z","dependency_job_id":"67b0c62d-456d-4770-9a2c-4c572a214a40","html_url":"https://github.com/seven-io/api-schemes","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seven-io%2Fapi-schemes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seven-io%2Fapi-schemes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seven-io%2Fapi-schemes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seven-io%2Fapi-schemes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seven-io","download_url":"https://codeload.github.com/seven-io/api-schemes/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240581507,"owners_count":19824139,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cnam","hlr-lookups","mnp","openapi","sms","sms-client","sms-gateway","swagger","text2speech","tts"],"created_at":"2024-11-10T11:35:08.765Z","updated_at":"2026-05-20T05:12:26.487Z","avatar_url":"https://github.com/seven-io.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://www.seven.io/wp-content/uploads/Logo.svg\" width=\"250\" /\u003e\n\n# Official API Schemes for seven.io\n\n[![MIT](https://img.shields.io/badge/License-MIT-teal.svg)](LICENSE)\n[![npm version](https://img.shields.io/npm/v/@seven.io/api-schemes)](https://www.npmjs.com/package/@seven.io/api-schemes)\n\nThis repository contains the official OpenAPI/Swagger definitions for seven.io's telecommunications API services, including SMS, TTS (Text-to-Speech), HLR (Home Location Register), MNP (Mobile Number Portability), and CNAM (Caller Name) services.\n\n## 📋 Overview\n\nThe project maintains API schemas in both Swagger 2.0 and OpenAPI 3.0 formats, available in both JSON and YAML. All schemas are automatically generated from a master Swagger 2.0 definition to ensure consistency across formats.\n\n### Available Services\n\n- **SMS** - Send and receive SMS messages\n- **TTS** - Text-to-Speech conversion\n- **HLR** - Home Location Register lookups\n- **MNP** - Mobile Number Portability checks\n- **CNAM** - Caller Name identification\n\n## 🚀 Quick Start\n\n### Installation\n\n```bash\nnpm install @seven.io/api-schemes\n```\n\n### Usage\n\nThe schemas are available in multiple formats:\n\n```javascript\n// Import JSON schemas\nconst openapi = require('@seven.io/api-schemes/json/openapi.json');\nconst swagger = require('@seven.io/api-schemes/json/swagger.json');\n\n// Or reference YAML files\n// yml/openapi.yml - OpenAPI 3.0 format\n// yml/swagger.yml - Swagger 2.0 format (source of truth)\n```\n\n## 📁 Project Structure\n\n```\n├── yml/\n│   ├── swagger.yml    # Master Swagger 2.0 definition (source of truth)\n│   └── openapi.yml    # Generated OpenAPI 3.0 YAML\n├── json/\n│   ├── swagger.json   # Generated Swagger 2.0 JSON\n│   └── openapi.json   # Generated OpenAPI 3.0 JSON\n└── build.mts          # TypeScript build script\n```\n\n## 🛠️ Development\n\n### Prerequisites\n\n- Node.js \u003e= 18.0.0\n- npm\n\n### Setup\n\n```bash\ngit clone https://github.com/seven-io/api-schemes.git\ncd api-schemes\nnpm install\n```\n\n### Building\n\n```bash\nnpm run build\n```\n\nThis command:\n- Reads the master Swagger 2.0 definition from `yml/swagger.yml`\n- Converts between Swagger 2.0 and OpenAPI 3.0 formats\n- Validates all schemas using @apidevtools/swagger-parser\n- Generates all output files in both JSON and YAML formats\n- Applies consistent formatting with Prettier\n\n### Workflow\n\n1. **Make changes** to `yml/swagger.yml` (the source of truth)\n2. **Run build** with `npm run build` to regenerate all formats\n3. **Commit changes** - pre-commit hooks ensure the build passes\n\n### Key Dependencies\n\n- `swagger2openapi` - Converts Swagger 2.0 to OpenAPI 3.0\n- `@apidevtools/swagger-parser` - Validates API definitions\n- `yamljs` - YAML parsing and stringification\n- `prettier` - Code formatting\n\n## 📖 API Documentation\n\nFor detailed API documentation and interactive examples, visit:\n- [seven.io API Documentation](https://www.seven.io/en/docs/gateway/api-docs/)\n- [Developer Portal](https://www.seven.io/en/developers/)\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes to `yml/swagger.yml`\n4. Run `npm run build` to regenerate all formats\n5. Submit a pull request\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 💬 Support\n\nNeed help? Feel free to [contact us](https://www.seven.io/en/company/contact/) or [open an issue](https://github.com/seven-io/api-schemes/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseven-io%2Fapi-schemes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseven-io%2Fapi-schemes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseven-io%2Fapi-schemes/lists"}