Skip to content

This is a project to develop a unique identifier for each public API.

License

Notifications You must be signed in to change notification settings

api-specification-toolbox/unique-api-id

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 

Repository files navigation

Unique API Identifiers

This is a project to develop naming specifications (nomenclature) to uniquely identify APIs available on the Web.

Draft Proposal

The proposed nomenclature for APIs is: {vendor}:{protocol}:{domain}:{resource}:{version}:{category}

The description of each field used in this API nomenclature specification is as follows:

  • vendor - The organization providing the API (e.g., twitter).
  • protocol - The transport protocol used by the API (e.g., https).
  • domain - The WWW domian name of the API (e.g., twitter.com).
  • resource - The specific resource of the API (e.g., search).
  • version - The specific version of the API (e.g., 1.3).
  • category - A general or specific resource or class (e.g., business or social).

Examples

Here are some examples of unique identifiers for some of the leading APIs.

  • twilio:http1:twilio.com:2010-04-01:sms
  • stripe:http1:stripe.com:v1:payments
  • spotify:http1:spotify.com:v1:music
  • youtube:public:http1:youtube.com:v3:videos
  • twitter:http1:twitter.com:v2:social
  • reddit:http1:reddit.com:v1:subreddits

References

The proposed API nomenclature is inspired by Common Platform Enumeration (CPE) standard adopted by NIST for naming Software and IT systems.

CPE provides a good reference model that can be used to identify Web APIs globally.

Contribute / Support

We are using Github issues to drive the conversation. We are just getting started so make sure you share your feedback.

  • API Workspace - This a public workspace with a mocked registry API with documentation, and environment--we will be using it to move forward the registry and the API behind.

Project Supporters

This project is currently being driven by following contributors, but we are looking for more individuals/organizations to contribute.

If you'd like to get involved feel free to reach out / contribute and we'll add your name to the list.

About

This is a project to develop a unique identifier for each public API.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published