Enquiries Channel manager Bookings Your website Booking engine Pricing
v2026-09

Your integration

Read your own integration: status, webhook health, how far behind you are, and how many properties you cover. The right first call, and a good health check.

GET https://api.doorloom.com/api/integrations/v1/me

Takes no parameters and changes nothing.

Request bash
curl https://api.doorloom.com/api/integrations/v1/me \
  -H "Authorization: Bearer $DOORLOOM_API_KEY"

Response

Response 200 json
{
    "success": true,
    "message": "OK",
    "data": {
        "id": 12,
        "slug": "acme-pms",
        "name": "Acme PMS",
        "status": "active",
        "brand": {
            "id": 4,
            "name": "Amber Stays"
        },
        "api_version": "2026-09",
        "webhook": {
            "configured": true,
            "url": "https://acme.example.com/hooks/doorloom",
            "event_types": [
                "availability.changed",
                "rates.changed",
                "restrictions.changed",
                "inventory.changed",
                "property.changed",
                "booking.changed"
            ],
            "last_sequence": 1047,
            "undelivered_events": 0,
            "consecutive_failures": 0,
            "last_success_at": "2026-10-01T16:30:04+05:30",
            "last_failure_at": null,
            "paused_at": null,
            "paused_reason": null
        },
        "horizon_days": 365,
        "covered_properties": 6
    }
}
Field Type Description
id integer Your integration id.
slug string Your integration slug. Also sent as the X-Doorloom-Integration header on every webhook.
name string Display name Doorloom staff gave the integration.
status string active, paused or disabled. A paused integration still has full API access — only webhook delivery is stopped.
brand.id integer The brand this integration belongs to.
brand.name string The brand name.
api_version string The version your payloads are shaped by. Currently 2026-09.
webhook.configured boolean False when no webhook URL is registered. Nothing will be delivered until one is.
webhook.url string|null Where deliveries go.
webhook.event_types array The event types you are subscribed to. All of them unless staff narrowed it.
webhook.last_sequence integer The highest sequence Doorloom has issued you. Compare against your own cursor to see whether you are behind.
webhook.undelivered_events integer Events waiting or being retried. Should sit at 0 in a healthy integration.
webhook.consecutive_failures integer Failed deliveries since the last success. Five, plus six hours without a success, triggers an auto-pause.
webhook.last_success_at string|null ISO-8601. Last time a delivery was accepted.
webhook.last_failure_at string|null ISO-8601. Last time one was not.
webhook.paused_at string|null ISO-8601. When delivery was paused, if it is.
webhook.paused_reason string|null manual (staff), auto (sustained failure) or gone (your endpoint returned 410).
horizon_days integer How far ahead Doorloom generates events for you. Dates beyond this are not pushed until they come into range.
covered_properties integer How many properties your integration currently covers.

Using it as a health check

Poll this endpoint from your own monitoring, no more than once a minute, and alert on two things:

  • webhook.paused_reason is not null — you have stopped receiving events, and the reason tells you whose problem it is.
  • webhook.last_sequence has run well ahead of your stored cursor and stays there — you are behind, and should replay from your cursor.

last_sequence also arrives on every ping

A ping reports the current last_sequence without consuming one, so if you are already handling pings you get the same drift signal for free.

Errors

Errors

Status Code Meaning
401 UNAUTHENTICATED No API key, or a key that is not valid. Rotating your API key invalidates the previous one immediately.
403 NOT_INTEGRATION_TOKEN The bearer token is valid but is not an integration API key — it belongs to another Doorloom token surface. Integration keys are the only credential this API accepts.
403 INTEGRATION_DISABLED Doorloom staff disabled this integration. No events are recorded and no API call succeeds. This is distinct from paused: a paused integration keeps full API access and only stops receiving webhooks.
429 RATE_LIMITED You exceeded one of the rate limits. The standard Retry-After and X-RateLimit-* headers are set on the response.

Something unclear or wrong on this page? Write to [email protected] and tell us which page — we would rather fix the doc than answer the ticket twice.