> For the complete documentation index, see [llms.txt](https://adidas.gitbook.io/api-guidelines/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://adidas.gitbook.io/api-guidelines/asynchronous-api-guidelines/kafka-asynchronous-guidelines/c_internal_public_specs.md).

# Internal vs Public Specifications

AsyncAPI specs **MAY** be created both for public APIs or for internal APIs:

* Public APIs are those who are created to be consumed by others
* Internal APIs are only for development teams for a particular project

There are no differences with regards to the spec definition, but internal APIs **SHOULD** have restricted access limited only to the internal development team for a particular project or product.

This access control is handled through Role-Based Access Control (RBAC) implemented in Swaggerhub.
