← Developer docs

API changelog

Last updated 2026-11-02

What changed in the HyperDM API, newest first. Anything being retired is announced here, under the deprecation policy.

The API isn't open to every workspace yet. It's switched on one workspace at a time, and there's no public sign-up. Where it's on, the workspace's owner and admins see Developers under Settings.

  1. Policy

    This changelog and a written deprecation policy

    The API now has a public record of what changed and a written promise about how anything gets retired. No endpoint changed.

  2. Changed

    start_refused can mean a WhatsApp message may have arrived

    When HyperDM can't confirm whether a WhatsApp first message reached the person, a start answers 422 start_refused and the message says so. It is never sent again, so check the conversation before starting that automation for them again.

    • POST /api/v1/automations/{id}/starts
  3. Changed

    Email addresses left the contacts list

    An email address now lives under the person it was captured from, so GET /contacts leaves those rows out and a page is always that many people. channel=email on GET /contacts or GET /automations answers 400 invalid_request rather than an empty list.

    • GET /api/v1/contacts
    • GET /api/v1/automations
  4. Added

    Version 1 of the API

    API keys and installable apps with OAuth 2.0 authorization code, plus contacts, tags, custom fields and live automations. Read and change permissions are separate. Errors share one shape with a request id, lists use cursors, and writes take an Idempotency-Key (required on automation starts).

    • GET /api/v1/me
    • GET /api/v1/contacts
    • GET /api/v1/contacts/{id}
    • PATCH /api/v1/contacts/{id}/fields
    • POST /api/v1/contacts/{id}/tags
    • DELETE /api/v1/contacts/{id}/tags/{tag_id}
    • GET /api/v1/tags
    • POST /api/v1/tags
    • GET /api/v1/fields
    • POST /api/v1/fields
    • GET /api/v1/automations
    • POST /api/v1/automations/{id}/starts