Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.
openapi: 3.2.0
info:
title: ISHOB Alarm API
version: 1.0.0
description: 'ISHOB is an x402-enabled utility gateway for autonomous agents: scheduled callbacks (agent alarms), token and wallet security checks, weather and location risk, document rendering, web extraction, company data and an open-licence research archive. Pay per call in USDC on Base; no account or API key.'
contact:
name: ISHOB
email: contact@ishob.com
url: https://ishob.com
x-guidance: 'ISHOB is a gateway of tools for AI agents. Every operation with x-payment-info is paid per call with x402 (USDC on Base): call it, read the 402 PAYMENT-REQUIRED header, sign with an x402 client and retry. Invalid input is rejected with 400 before any payment is requested. The same tools are available over MCP at POST /mcp. Tool docs: https://ishob.com/tools'
servers:
- url: https://api.ishob.com
tags:
- name: Alarm
paths:
/v1/alarm:
post:
operationId: set_agent_alarm
summary: 'Schedule a signed webhook to wake an AI agent later: ISHOB POSTs your JSON…'
description: 'Schedule a signed webhook to wake an AI agent later: ISHOB POSTs your JSON payload to your https callback at deliver_at or after delay_seconds (60 s to 30 days ahead), retrying failed deliveries (1, 5, 15, 30, 60 min). Each delivery carries X-ISHOB-Signature (HMAC-SHA256 with the signing_secret returned once). Free status: GET /v1/alarm/{id}; free cancel: POST /v1/alarm/{id}/cancel. Charged only when the alarm is accepted.'
x-payment:
protocol: x402
version: 2
scheme: exact
network: eip155:8453
asset: USDC
price_usd: '0.001'
x-mcp-tool: set_agent_alarm
responses:
'200':
description: Result (JSON); PAYMENT-RESPONSE header carries the settlement receipt
'400':
description: Invalid input (no payment requested)
'402':
description: 'Payment required: PAYMENT-REQUIRED header (base64 JSON) lists accepted payment requirements'
'403':
description: robots.txt disallows the target (no payment requested)
'404':
description: Not found (no payment requested)
'503':
description: Backend temporarily unavailable (no payment requested)
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- callback_url
properties:
delay_seconds:
type: integer
minimum: 60
maximum: 2592000
description: Deliver this many seconds from now (60 to 2592000). Use this or deliver_at
deliver_at:
type: string
maxLength: 40
description: 'Or an absolute time: ISO-8601 with timezone (2026-10-15T14:00:00Z) or Unix seconds; 60 s to 30 days ahead'
callback_url:
type: string
format: uri
maxLength: 2048
description: Public https URL that receives the POST
payload:
type: object
description: JSON object sent back on delivery (max 8192 bytes)
retry_count:
type: integer
minimum: 0
maximum: 5
default: 3
description: Retries after a failed delivery
example:
delay_seconds: 300
callback_url: https://agent.example.com/webhook
payload:
task_id: abc-123
action: resume_market_check
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.001'
protocols:
- x402: {}
tags:
- Alarm
/v1/alarm/{id}:
get:
operationId: alarm_status
summary: Agent alarm status (free)
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Alarm status and delivery attempts
'404':
description: Unknown alarm
security: []
tags:
- Alarm