# Rhino (SayRhino) > Rhino is a New York based insurtech that replaces the traditional cash security > deposit with low-cost security deposit insurance, alongside cash deposit management, > renters insurance and a renter guarantee product. Founded in 2017 and now operating > alongside Jetty, Rhino sells through property owners and managers across the United > States and integrates with the major property management systems (Yardi, RealPage, > Entrata, Rent Manager, MRI, Salesforce). Its public machine-readable surface is the > SayRhino Partner API v2 — an OAuth 2.0 client-credentials REST API for creating and > updating insurance prospects, reading eligibility offers and coverage, and managing > webhook endpoints and deliveries across fifteen events. Generated by the API Evangelist enrichment pipeline on 2026-08-02. Rhino publishes no llms.txt of its own (/llms.txt returns 404 on every host), so this is generated from the live OpenAPI and the artifacts in this repo. ## API - [SayRhino Partner API — reference](https://api.prod.sayrhino.com/docs): Redoc-rendered reference for the Partner API v2. Base URL https://api.prod.sayrhino.com - [OpenAPI 3.0.3 definition](https://api.prod.sayrhino.com/openapi.json): 10 paths, 12 operations, served live from the API host root ### Operations - `POST /token` — OAuth 2.0 client_credentials grant; returns a JWT bearer access token. Requires client_id, client_secret, grant_type and audience. The only public operation. - `POST /partners/{owner_slug}/prospects` — upsert a prospect for eligibility evaluation. Idempotent on the natural key (source, source_prospect_id). Returns status and offered_products. - `GET /partners/{owner_slug}/prospects/{source}/{source_prospect_id}` — read a prospect's status, eligibility offers and coverage. - `GET /partners/{owner_slug}/webhooks/endpoints` — list webhook endpoints. - `POST /partners/{owner_slug}/webhooks/endpoints` — register an HTTPS webhook endpoint. - `PUT /partners/{owner_slug}/webhooks/endpoints/{id}` — update destination URL, status or events. - `DELETE /partners/{owner_slug}/webhooks/endpoints/{id}` — remove an endpoint, cancelling pending deliveries. - `GET /partners/{owner_slug}/webhooks/endpoints/{endpoint_id}/deliveries` — list delivery attempts; supports page, per_page and status filters. - `GET /partners/{owner_slug}/webhooks/endpoints/{endpoint_id}/deliveries/{id}` — read one delivery. - `POST /partners/{owner_slug}/webhooks/endpoints/{endpoint_id}/deliveries/{id}/retry` — re-enqueue a failed delivery. - `DELETE /partners/{owner_slug}/test/residents/{source}/{source_prospect_id}` — reset a test resident. - `DELETE /partners/{owner_slug}/test/sayrhino_users` — reset test SayRhino users. ### Events prospect.created, prospect.updated, prospect.ready, prospect.incomplete, policy_application.created, policy_application.quoted, policy_application.submitted, policy_application.declined, policy.created, policy.updated, policy.canceled, policy.expired, policy.documents_updated, delinquency.created, delinquency.resolved ## Specs and artifacts - [OpenAPI](openapi/rhino-partner-api-openapi.json): harvested verbatim from api.prod.sayrhino.com - [Overlay](overlays/rhino-partner-api-overlay.yaml): API Evangelist enhancements — servers[], operationIds, oauth2 scheme - [Authentication](authentication/rhino-authentication.yml): client_credentials to JWT bearer - [Conventions](conventions/rhino-conventions.yml): tenancy, idempotency, pagination, error envelope, versioning - [Error catalog](errors/rhino-problem-types.yml): 401/404/422 shapes; not RFC 9457 - [Data model](data-model/rhino-data-model.yml): Prospect, OfferedProduct, InsurancePolicy, WebhookEndpoint, WebhookDelivery - [Webhooks](asyncapi/rhino-webhooks.yml): event catalog, endpoint and delivery models - [Sandbox](sandbox/rhino-sandbox.yml): the /test teardown namespace - [Lifecycle](lifecycle/rhino-lifecycle.yml): versioning, deprecation, status — mostly unpublished - [Conformance](conformance/rhino-conformance.yml): standards conformance evidence - [Examples](examples/rhino-examples.yml): request/response examples extracted from the spec - [Agent skills](skills/_index.yml): enroll a prospect; receive webhook events - [MCP (candidate)](mcp/rhino-mcp.yml): derived tool sketch — no hosted server exists - [Domain security](security/rhino-domain-security.yml): TLS, HSTS, DNSSEC, CAA, SPF, DMARC - [Vulnerability disclosure](security/rhino-vulnerability-disclosure.yml): security@sayrhino.com ## Docs and site - [Rhino](https://www.sayrhino.com/): company site - [Security deposit insurance](https://www.sayrhino.com/products/security-deposit-insurance) - [Cash deposits](https://www.sayrhino.com/products/cash) - [Renter guarantee](https://www.sayrhino.com/products/renter-guarantee) - [Renters insurance](https://www.sayrhino.com/products/renters-insurance) - [Partners and disclosures](https://www.sayrhino.com/partners) - [Partner portal](https://portal.sayrhino.com/users/sign_in) - [Help center](https://support.sayrhino.com/hc/en-us) - [Blog](https://www.sayrhino.com/blog) - [Licenses](https://www.sayrhino.com/licenses) - [Terms of service](https://www.sayrhino.com/terms_of_service) - [Privacy policy](https://www.sayrhino.com/privacy_policy) - [GitHub](https://github.com/sayrhino) ## Notes for agents - Partner API credentials are not self-service. client_id, client_secret, audience and the owner_slug that scopes every path are issued during Rhino partner onboarding. - All monetary amounts are integer cents. - Prospect payloads carry SSN, birthdate and income — do not log or echo request bodies. - Webhook payloads carry no signature; re-read the resource rather than trusting them. - No rate-limit contract, no status page, no changelog and no SDKs are published.