HookPulse Me API

The Me API from HookPulse — 1 operation(s) for me.

Operations 1

GET /api/me The session's account, its monitors and the state of the trial #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/hookpulse-me-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

hookpulse-me-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: HookPulse Me API
  version: 2d690e87
  description: 'Dead-man switch for webhooks/cron. Index: GET /api/.'
servers:
- url: https://hookpulse.net
tags:
- name: Me
paths:
  /api/me:
    get:
      operationId: get_api_me
      summary: The session's account, its monitors and the state of the trial
      description: 'Returns: { user{id,email}, endpoints[{id,name,interval_sec,alert_to,alert_url,last_event_at,last_status,last_latency_ms,miss_count,alerted_at,active,healthy,overdue,waiting_first_ping,created_at,ingest_url,token?,status_url?,events_url?,curl_example?,templates?}], trial{days,active,days_left?,ends_at,granted?} }'
      security:
      - bearerAuth: []
      responses:
        '200':
          description: '{ user{id,email}, endpoints[{id,name,interval_sec,alert_to,alert_url,last_event_at,last_status,last_latency_ms,miss_count,alerted_at,active,healthy,overdue,waiting_first_ping,created_at,ingest_url,token?,status_url?,events_url?,curl_example?,templates?}], trial{days,active,days_left?,ends_at,granted?} }'
          content:
            application/json:
              schema:
                type: object
                properties:
                  user:
                    allOf:
                    - $ref: '#/components/schemas/Conta'
                    description: The person who owns the session.
                  endpoints:
                    type: array
                    items:
                      $ref: '#/components/schemas/Monitor'
                    description: The account's monitors.
                  trial:
                    allOf:
                    - $ref: '#/components/schemas/Trial'
                    description: 'The trial: how many days, whether active and when it ends.'
                required:
                - user
                - endpoints
                - trial
        '401':
          description: No credential, or an invalid one. See this endpoint's auth.
      tags:
      - Me
components:
  schemas:
    Templates:
      type: object
      properties:
        ingest_curl:
          type: string
          description: A `curl` that works as proof of life.
        ingest_cron:
          type: string
          description: The equivalent crontab line.
        ingest_n8n:
          type: string
          description: How to call the ingest from n8n.
        miss_json:
          type: string
          description: The exact JSON we POST to `alert_url` when the silence becomes a miss.
        miss_url_hint:
          type: string
          description: What works as `alert_url` — public HTTPS only.
      required:
      - ingest_curl
      - ingest_cron
      - ingest_n8n
      - miss_json
      - miss_url_hint
      description: How to ping and what we send when it fails. It is what saves guessing the format.
    Trial:
      type: object
      properties:
        days:
          type: integer
          description: Trial length in days.
        active:
          type: boolean
          description: Whether it is in force now.
        days_left:
          type: integer
          description: How many days remain.
        ends_at:
          type: string
          description: When it ends (UTC).
          nullable: true
        granted:
          type: boolean
          description: '`true` when THIS call granted the trial.'
      required:
      - days
      - active
      - ends_at
      description: The period without the usage paywall that confirming the e-mail grants. It is the alternative to paying.
    Conta:
      type: object
      properties:
        id:
          type: string
          description: ID of the account.
        email:
          type: string
          description: E-mail confirmed by code.
      required:
      - id
      - email
      description: The person behind the session.
    Monitor:
      type: object
      properties:
        id:
          type: string
          description: Monitor ID; it is the `:id` of the ingest URL.
        name:
          type: string
          description: Name you gave it, to recognise it in the alert.
        interval_sec:
          type: integer
          description: Tolerated silence, in seconds. Past that, it is a miss.
        alert_to:
          type: string
          description: E-mail alerted on a miss.
          nullable: true
        alert_url:
          type: string
          description: HTTPS URL that receives a POST on a miss (Slack, Discord, n8n).
          nullable: true
        last_event_at:
          type: string
          description: Last ping received (UTC); `null` while it never pinged.
          nullable: true
        last_status:
          type: integer
          description: HTTP status the last ping sent, when it did.
          nullable: true
        last_latency_ms:
          type: integer
          description: Latency reported in the last ping, in ms.
          nullable: true
        miss_count:
          type: integer
          description: How many times this monitor has gone silent.
        alerted_at:
          type: string
          description: When the last alert went out — it is what holds the 1 alert/24h cap.
          nullable: true
        active:
          type: boolean
          description: Whether the monitor is on.
        healthy:
          type: boolean
          description: '`true` when it has pinged at least once and is not overdue.'
        overdue:
          type: boolean
          description: '`true` when the silence passed `interval_sec`.'
        waiting_first_ping:
          type: boolean
          description: '`true` while it never pinged. Neither healthy nor overdue: nobody has wired it yet.'
        created_at:
          type: string
          description: When the monitor was created (UTC).
        ingest_url:
          type: string
          description: The URL your cron/webhook calls to prove life.
        token:
          type: string
          description: Read token of this monitor. Only comes on creation and to the owner.
        status_url:
          type: string
          description: Status of this monitor with the token already in the query.
        events_url:
          type: string
          description: Latest pings with the token already in the query.
        curl_example:
          type: string
          description: The ingest `curl`, ready to paste in the cron.
        templates:
          allOf:
          - $ref: '#/components/schemas/Templates'
          description: Ingest snippets and the alert body, with this monitor already in them.
      required:
      - id
      - name
      - interval_sec
      - alert_to
      - alert_url
      - last_event_at
      - last_status
      - last_latency_ms
      - miss_count
      - alerted_at
      - active
      - healthy
      - overdue
      - waiting_first_ping
      - created_at
      - ingest_url
      description: 'A dead-man switch: the thing you make ping. If the ping stops for longer than `interval_sec`, it becomes `overdue` and the alert goes out.'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Guest token (`POST /api/guest`) in `X-Guest-Token: hp_…` or `Authorization: Bearer hp_…`. A `sess_…` session also works.'