Read-only data API and partner activation deep-link for integrating Host Logic's hospitality revenue agent into your PMS or property management platform. This page documents only what is live today — a clearly-labelled Roadmap section covers what is coming next.
Get your API key → read seat usage and pricing signals → embed the host activation link in your UI. That is the full integration loop available today.
Get your API key
Apply for Enterprise access. Once approved, HostLogic creates your partner account and sends you a one-time reveal link containing your hlk_ API key. Store it securely — it cannot be displayed again after reveal.
Read usage & pricing signals
Call GET /partner-api/v1/usage to monitor seat consumption, and GET /partner-api/v1/properties/{id}/pricing-signals to surface Marcus pricing data inside your platform.
Embed the activation link
Add a button in your UI that opens the HMAC-signed deep-link https://hostlogic.io/partner/{slug}/activate?token=…. The host picks products, their HostLogic account is provisioned, and Laura is ready.
curl https://api.hostlogic.io/partner-api/v1/usage \
-H "Authorization: Bearer hlk_your_key_here" \
-H "Accept: application/json"
# 200 OK — key is valid, response contains your seat usage
# 401 Unauthorized — key missing or invalid
# 403 Forbidden — key valid but missing required scope
# 429 Too Many Requests — rate limit (120 req/min)
All API requests require a Bearer token in the Authorization header. You receive your API key after Enterprise approval via a one-time reveal link — the plain key is never stored server-side and cannot be re-shown.
API keys are prefixed hlk_, scoped to your partner account, and can be rotated without downtime. Each key carries a set of scopes that govern which endpoints it may call. The first 12 characters of each key (the key prefix) are stored in plaintext for identification in logs — the rest is hashed.
https://api.hostlogic.io/partner-api/v1
Sandbox / DEV:https://api-dev.hostlogic.io/partner-api/v1
120 requests/minute per API key. Exceeding returns 429 Too Many Requests.
metrics:read — always granted; covers the usage endpoint.
marcus:read — granted when your partner agreement includes Marcus (Revenue Manager) data; covers the properties and pricing-signals endpoints.
| Code | Meaning |
|---|---|
401 | Missing or invalid API key |
403 | Key valid, but missing the required scope for this endpoint |
404 | Resource not found, or not owned by your partner account |
429 | Rate limit exceeded — 120 req/min |
curl https://api.hostlogic.io/partner-api/v1/usage \
-H "Authorization: Bearer hlk_a8f3c2e1b4d5..." \
-H "Accept: application/json"
curl https://api.hostlogic.io/partner-api/v1/usage \
-H "X-Enterprise-Key: hlk_a8f3c2e1b4d5..." \
-H "Accept: application/json"
The following endpoints and integration patterns are in production today. Everything listed here is real and callable with a valid API key.
/usage
Seat usage for your partner account. Scope: metrics:read (always granted). See full reference below.
/properties
List properties belonging to your sponsored hosts. Scope: marcus:read. See full reference below.
/properties/{propertyId}/pricing-signals
Marcus pricing signals and upcoming occupancy for a sponsored property. Scope: marcus:read. See full reference below.
Partner activation deep-link
HMAC-signed URL that provisions a sponsored host account. Embedded in your UI as a button. See full reference below.
Returns the authenticated partner's active seat count with a per-host breakdown. Useful for reconciling billing or building a usage dashboard inside your platform.
metrics:read — always granted to all partner keys.
This endpoint only returns data for the authenticated partner. It never accepts a partner_id query parameter — identity comes entirely from your API key.
The breakdown uses opaque host user IDs and seat counts. Host emails are intentionally excluded.
curl https://api.hostlogic.io/partner-api/v1/usage \
-H "Authorization: Bearer hlk_a8f3c2e1b4d5..." \
-H "Accept: application/json"
{
"partner_id": 1,
"generated_at": "2026-06-01T10:30:00Z",
"active_seats": 7,
"hosts": [
{ "host_user_id": 42, "active_seats": 4 },
{ "host_user_id": 67, "active_seats": 3 }
]
}
Returns all properties belonging to hosts your partner account sponsors. Use this to discover which properties you can query for pricing signals.
marcus:read — granted when your partner agreement includes the Marcus Revenue Manager data plane.
Each entry contains the internal property id (needed for the pricing-signals endpoint) and the property name. Host PII beyond the property name is excluded.
curl https://api.hostlogic.io/partner-api/v1/properties \
-H "Authorization: Bearer hlk_a8f3c2e1b4d5..." \
-H "Accept: application/json"
{
"partner_id": 1,
"generated_at": "2026-06-01T10:30:00Z",
"properties": [
{ "id": 12, "name": "Harbour View Apartment" },
{ "id": 17, "name": "Old Town Studio" }
]
}
Returns Marcus pricing signals and upcoming occupancy for a single sponsored property. Use the property id values returned by GET /properties. A 404 is returned if the property is not found or is not owned by your partner account.
marcus:read
lookback_days (integer, default 90) — reservation history window used to compute signals.
The signals object contains pricing indicators and reservation statistics. The exact field set may evolve as Marcus adds new data sources. The representative example below shows fields available at launch — treat any unrecognised fields as additive.
curl "https://api.hostlogic.io/partner-api/v1/properties/12/pricing-signals?lookback_days=90" \
-H "Authorization: Bearer hlk_a8f3c2e1b4d5..." \
-H "Accept: application/json"
{
"property_id": 12,
"signals": {
"occupancy_today": 0.75,
"avg_lead_time_days": 18.4,
"avg_stay_nights": 3.2,
"source_mix": {
"booking.com": 0.62,
"direct": 0.38
},
"total_reservations": 87
},
"occupancy_30d": {
"2026-06-01": 0.75,
"2026-06-02": 0.80
}
}
Instead of a REST call, partner-sponsored hosts are onboarded through a signed deep-link. The host clicks it, lands on a price-less marketplace where they pick products, and their HostLogic account is provisioned — sponsored and with no separate payment required.
https://hostlogic.io/partner/{slug}/activate?token=<hmac-signed-token>
Where {slug} is your partner account's unique identifier (provided at onboarding) and token is an HMAC-signed, short-lived payload carrying host-identity claims.
Tokens are signed with HMAC-SHA256 using your partner's signing_secret (separate from your API key). The format is:
<base64url-payload>.<sha256-hmac>
The payload carries host identity claims, a server-side expiry timestamp (exp), and a random nonce to prevent token reuse.
Default: 1 hour. Expired tokens are rejected with a clear error — hosts must request a fresh link. HostLogic recommends generating links on-demand (e.g., when a host clicks a button in your UI) rather than storing them.
Today, activation tokens are generated via an admin tool by HostLogic on request. Partner self-service token minting (generating tokens programmatically from your own backend) is on the Roadmap — see below.
https://hostlogic.io/partner/previo/activate
?token=eyJjb250YWN0X2VtYWlsIjoiaG9zdEBleGFtcGxlLmNvbSIsImV4cCI6MTc1MDAwMDAwMCwibm9uY2UiOiJhYjEyY2QzNCJ9.a1b2c3d4e5f6...
<!-- Simple button — opens in a new tab -->
<a href="{{ $activationUrl }}" target="_blank" class="btn">
Set up AI Receptionist →
</a>
{
"contact_email": "[email protected]",
"contact_name": "Hotel Adriatic",
"previo_hotel_id": "779307",
"requested_product_ids": ["laura-receptionist"],
"exp": 1750000000,
"nonce": "ab12cd34"
}
| Step | What happens |
|---|---|
| 1. Token verified | HostLogic validates the HMAC signature and checks expiry. Invalid or expired tokens show a clear error page. |
| 2. Marketplace | The host lands on a price-less product marketplace scoped to your partner agreement. They select which products to activate. |
| 3. Account provisioned | A sponsored HostLogic host account is created (or linked if the email already exists). Products are activated with no payment step. |
| 4. Onboarding | The host is guided through Laura's knowledge-base wizard (check-in instructions, FAQs, upsell offers). Laura begins answering guests once the wizard is submitted. |
The following capabilities are planned or in development. They are listed here for transparency so you can plan your integration roadmap. None of these are callable today — building against them now will result in errors.
Partner self-service token minting
An API endpoint or downloadable SDK snippet that lets your backend generate signed activation tokens without involving HostLogic. Today tokens are generated on request via an admin tool.
Write scopes & mutating endpoints
Scopes such as marcus:write and pierre:write and REST endpoints to register properties (POST /properties), activate or deactivate individual units, and update partner settings.
Webhooks / real-time events
Push notifications for onboarding completed, unit activated/deactivated, and usage thresholds. Register a webhook URL and receive signed payloads.
Partner self-service portal
A flag-gated self-service portal for managing API keys, viewing seat usage, and configuring allowed embed origins. Currently in private beta.
Pierre maintenance endpoint
GET /properties/{propertyId}/operational-state — maintenance and operational state for a sponsored property. Built but disabled by a feature flag; requires pierre:read scope. Available to select partners on request.
Onboarding iframe embed
Embed the Laura configuration wizard as an iframe in your PMS UI, with postMessage events for step progress and completion. Dependent on the partner self-service portal launch.
Hosted MCP server for enterprise
A hosted MCP endpoint at mcp.hostlogic.io providing Claude Desktop / Cursor tool access to partner-scoped data. Architecture planned; not yet live for enterprise partners.
Enterprise partners have a dedicated Slack channel with the HostLogic team. Reach out at [email protected] to discuss your integration requirements and timeline.
Apply for enterprise access and tell us about your PMS, channel manager or hospitality software product. We review applications within 2 business days and provide your API key and dedicated support channel.