An interface is a topology provided by the juju controller to enable information sharing between units of different applications.
An endpoint is specified a charm’s metadata.yaml for a corresponding interface. A charm can provide or require an endpoint for operation. Endpoints are used when integrating 2 applications. Note: peer integrations happen automatically and do not need to be specified with the juju integrate command.