APIs
Summary
An API describes an interface that can be exposed by a component. The API can be defined in different formats, like OpenAPI, AsyncAPI, GraphQL, gRPC, or other formats. See common api types for an exhaustive list of supported formats.
Definition
!!! info "Backstage Docs"
See [the backstage docs](https://backstage.io/docs/features/software-catalog/descriptor-format/#kind-api) for a full description of the `API` entity definition.
As with all other entities, an API consists of the envelope types, apiVersion and kind, as well as generic metadata and a specific spec.
{% include-markdown "../references/entity-envelope.md" start="" end="" heading-offset=1 %}
kind [Required]
The kind is the high level entity type being described. For an API this must be API, e.g. kind: API.
Other available kinds are enumerated in the entity types reference.
{% include-markdown "../references/entity-envelope.md" start="" end="" heading-offset=2 %}
{% include-markdown "../references/entity-metadata.md" start="" end="" heading-offset=2 %}
spec [Required]
The actual specification data that describes the entity.
{% include-markdown "../references/api-spec.md" start="" end="" heading-offset=2 %}