# Eclipse Ditto™ HTTP API

The HTTP API follows REST conventions and provides a resource-based interface for managing Things, Policies and Connections. You send standard HTTP requests (`GET`, `PUT`, `POST`, `PATCH`, `DELETE`) and receive JSON responses. Use it for request and response interactions: managing Things, Features, Policies and Connections, [searching](https://eclipse.dev/ditto/httpapi-search.html) across Things, and [sending messages](https://eclipse.dev/ditto/httpapi-messages.html) to or from devices. For real-time events, Ditto also offers a [WebSocket API](https://eclipse.dev/ditto/httpapi-protocol-bindings-websocket.html) and [Server-Sent Events](https://eclipse.dev/ditto/httpapi-sse.html); see the [API overview](https://eclipse.dev/ditto/httpapi-overview.html).

The Eclipse Ditto HTTP API uses response status codes (see [RFC 7231](https://tools.ietf.org/html/rfc7231#section-6))
to indicate whether a specific request has been successfully completed, or not.

The information Ditto provides additionally to the status code (e.g. in API docs, or error codes like. "things:thing.tooLarge") might change without advance notice.
These are not be considered as official API, and must therefore not be applied in your applications or tests.


Version: 2

Authentication:
- NginxBasic: http (basic). Eclipse Ditto sandbox demo user (demo1 ... demo9) + password (demo)
- Bearer: http (bearer). A JSON Web Token issued by a supported OAuth 2.0 Identity Provider.
- OpenIDConnect: openIdConnect. OpenID Connect Discovery URL. The placeholder is replaced by Swagger UI when configured.
- DevOpsBasic: http (basic). Eclipse Ditto devops user (devops) + password (foobar)
- DevOpsBearer: http (bearer). A JSON Web Token issued by a supported OAuth 2.0 Identity Provider for the Eclipse Ditto devops user.
