# Bear Robotics > Bear Robotics builds AI-driven autonomous mobile robots for hospitality and service > environments — the Servi family (Servi, Servi Plus, Servi Q, Servi Clean), the Carti cargo > line, and Kinisi — managed through the Bear Universe cloud platform. Founded 2017 by former > Google engineer John Ha, headquartered in Redwood City, California, and now majority-owned by > LG Electronics. The Bear Cloud API is a gRPC-first third-party interface for controlling > robots, receiving robot state, and managing fleets. Generated by API Evangelist from Bear Robotics' public developer surface on 2026-08-06. Bear Robotics does not publish an llms.txt of its own (probed: 404 on every host). ## API The Bear Cloud API is gRPC-first. The service is `bearrobotics.api.v1.services.cloud.APIService` on `api.bearrobotics.ai:443`, with 39 RPCs — 27 unary and 12 server-streaming. A REST projection generated by google.api.http transcoding covers 23 of the unary RPCs at `https://api.bearrobotics.ai`; the streaming RPCs have no REST equivalent. Every REST operation is a POST with a JSON body, including reads. Authentication is an API key exchange, not OAuth. POST a credentials JSON (`api_key`, `secret`, `scope`) to `https://api-auth.bearrobotics.ai/authorizeApiAccess` to receive a JWT, then send `Authorization: Bearer `. Refresh roughly every 30 minutes. API keys are issued by a Bear Robotics account manager; there is no self-serve signup. - [Bear Cloud API documentation](https://cloud.api.bearrobotics.ai/): the developer portal - [Getting started](https://cloud.api.bearrobotics.ai/guides/getting-started/) - [Authentication guide](https://cloud.api.bearrobotics.ai/guides/authentication/) - [Error guide](https://cloud.api.bearrobotics.ai/guides/errors/) - [REST API reference (v1.3)](https://cloud.api.bearrobotics.ai/v1.3/resources/RestAPI/) - [Webhooks (v1.3)](https://cloud.api.bearrobotics.ai/v1.3/resources/Webhooks/) - [Changelog (v1.3)](https://cloud.api.bearrobotics.ai/changelog/v1.3/) - [Postman collection](https://documenter.getpostman.com/view/44195110/2sBXwto8ex) ## Specs - [OpenAPI 3.0.3, Bear Cloud API v1.3](https://raw.githubusercontent.com/bearrobotics-public/cloud/main/docs/v1.3/resources/openapi-v1-3.yaml): 23 operations, 111 schemas, JWT bearer auth - [Protobuf definitions (v1)](https://github.com/bearrobotics-public/cloud/tree/main/bearrobotics/api/v1): MPL-2.0 - [Robot-side API repository](https://github.com/bearrobotics-public/robot): on-robot gRPC surface - [Firmware API repository](https://github.com/bearrobotics-public/firmware): BaseBoard packet protocol ## Capabilities - Mission — create, append, batch-create, batch-append, update, workflow, skip goal, clear status, charge - Locations & Maps — get location info, get map, get current map, switch map - Localization & Navigation — localize robot, set pose, subscribe pose / localization / e-stop - Robot Status — get status, subscribe status / battery / navigation / error codes - Robot System — get system info, run system command, subscribe network / online status - Fleet Management — list robot IDs, get available locations - Servi — calibrate trays, subscribe tray statuses, delivery and bussing missions - Carti — control conveyor, get conveyor index, subscribe conveyor status, traverse missions - Webhooks — create, list, delete subscriptions for `mission` and `battery` events ## Client code Bear publishes no package to any registry. First-party reference clients live in the public cloud repository, under MPL-2.0: - [Python](https://github.com/bearrobotics-public/cloud/tree/main/examples/python) - [Java](https://github.com/bearrobotics-public/cloud/tree/main/examples/java) - [C#](https://github.com/bearrobotics-public/cloud/tree/main/examples/C%23) ## Things an agent should know before calling this API - **It moves physical machines through occupied space.** Mission creation, `SwitchMap`, `SetPose`, `LocalizeRobot`, `ControlConveyor`, `CalibrateTrays` and `RunSystemCommand` all have physical consequence. There is no sandbox and no dry-run. - **There is no idempotency key.** A command RPC that times out returns `DEADLINE_EXCEEDED` (HTTP 504) after 10 seconds, and the timeout fires at the cloud service rather than at the robot — so the command may already have executed. A blind retry can double-enqueue a mission. - **Streaming is best-effort**, not at-least-once, and streams close after 60 minutes. - **The webhook body is snake_case** while the management API is camelCase. Deliveries are not signed; authenticate them with a custom shared-secret header. - **`Mission` is a three-level discriminated union** (family → kind → params). Most integration errors live here. - **The webhook operations are missing from the OpenAPI document** — they exist only in the proto and in docs prose. - Errors are gRPC canonical status codes with `google.rpc.Status` details, not RFC 9457. - No pagination, no rate limits published, no status page, no SLA. ## Company - [Bear Robotics](https://www.bearrobotics.ai/) - [Bear Universe platform](https://www.bearrobotics.ai/bear-universe) - [Why Bear](https://www.bearrobotics.ai/why-bear) - [Blog](https://www.bearrobotics.ai/blog) - [News](https://www.bearrobotics.ai/news) - [FAQ](https://www.bearrobotics.ai/faq) - [Contact sales](https://www.bearrobotics.ai/contact-sales) - [Legal / Customer Agreement](https://www.bearrobotics.ai/legal) - [Privacy Policy](https://www.bearrobotics.ai/privacy-policy) - [GitHub organization](https://github.com/bearrobotics-public) ## API Evangelist profile - [apis.yml](https://raw.githubusercontent.com/api-evangelist/bear-robotics/refs/heads/main/apis.yml)