Register Standing Intent (webhook push)
register_standing_intentRegister a standing query that pushes HMAC-signed webhook alerts when new deals, news keywords, or permitting changes match; capacity requirements can be emailed.
Instructions
Register a STANDING QUERY with webhook push — DC Hub POSTs an HMAC-signed webhook to YOUR https URL whenever matches grow (push, not poll: "notify my orchestrator on any new deal in Columbus"). Requires a key. Params: kind ("new_deal_in_market" watches deals in the market param · "news_keyword" watches news matching q · "permitting_change" watches published permitting intel, optionally per state), market / q / state (the watch parameter for the chosen kind), webhook_url (your public HTTPS endpoint — private/internal hosts are rejected). Returns {intent_id, secret} — SAVE the secret: every delivery carries X-DCHub-Signature: sha256=HMAC(secret, body). First evaluation initializes the watermark silently; growth fires the webhook; 5 straight delivery failures auto-disable the intent. Evaluated every ~2h. Answers "notify my system whenever a new moratorium appears", "push me new matches instead of making me poll", "tell my orchestrator when a deal lands in Columbus". Try: register_standing_intent kind=news_keyword q=moratorium webhook_url=https://hooks.example.com/dchub. kind="capacity" instead registers a standing CAPACITY REQUIREMENT with DC Hub Capacity Source (no webhook_url): target_mw or target_kw, markets / states / regions / countries (comma-separated), optional available_by (YYYY-MM or YYYY-MM-DD), delivery_type, min_chunk_kw, max_sites (1-6), use_case, notes, plus your human's name and company and accept_terms=true only after they agreed to https://dchub.cloud/listings#terms. Needs a key with your human's email bound (claim_free_key, then bind_email) or an OAuth connection. Returns intent_id cap_; DC Hub emails a confirmation link, then emails matching listings at most once a day. Do NOT use for one-shot reads (get_news / list_transactions), a one-off capacity search (source_capacity) or email alerts on a market (set_market_alert).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | For news_keyword: the keyword/phrase to watch in title+summary, e.g. moratorium | |
| kind | Yes | Watch kind: "new_deal_in_market" | "news_keyword" | "permitting_change" | "capacity" (a Capacity Source requirement, emailed, no webhook) | |
| name | No | For capacity: your human's full name, exactly as given; never invent it | |
| role | No | For capacity: your human's role or title | |
| notes | No | For capacity: anything else about the requirement; leave out anything that identifies your human | |
| state | No | For permitting_change: optional US state filter, e.g. MN | |
| market | No | For new_deal_in_market: the market/region substring to watch, e.g. columbus | |
| states | No | For capacity: comma-separated US states, e.g. "TX, AZ" | |
| company | No | For capacity: your human's company | |
| markets | No | For capacity: comma-separated markets, e.g. "Dallas, Phoenix" | |
| regions | No | For capacity: comma-separated regions from north_america, latin_america, europe, asia_pacific, middle_east_africa (aliases emea, apac, latam, americas) | |
| use_case | No | For capacity: what the capacity is for, e.g. "AI inference" | |
| countries | No | For capacity: comma-separated countries, e.g. "Germany, Netherlands" | |
| max_sites | No | For capacity: how many sites the requirement may be split across, 1-6 | |
| target_kw | No | For capacity: capacity needed, in kW (or target_mw, not both) | |
| target_mw | No | For capacity: capacity needed, in MW (or target_kw, not both) | |
| webhook_url | No | Your public HTTPS webhook endpoint (required for every kind except capacity) | |
| accept_terms | No | For capacity: true ONLY after your human read and agreed to https://dchub.cloud/listings#terms; otherwise nothing is sent | |
| available_by | No | For capacity: needed by this date, YYYY-MM or YYYY-MM-DD | |
| min_chunk_kw | No | For capacity: the smallest block worth taking, in kW | |
| delivery_type | No | For capacity: land, powered_shell, turnkey or colocation | |
| terms_version | No | For capacity: the terms version your human agreed to; omit to send the version currently published |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| quota | No | Caller quota state (remaining calls, tier) when available. | |
| _entity | No | Payload class discriminator (e.g. facility|market|iso_grid|queue_results|deal|report|response) — branch on this before parsing the rest. | |
| citation | No | Machine-readable citation: how to attribute DC Hub (dchub.cloud) for this payload. Normally an OBJECT {source, url, license, cite_as, retrieved_at}; a bare string is accepted and carries the attribution line itself. | |
| provenance | No | Collection-level provenance block: {source, method, as_of, verification_counts, cite_url_template, license, cite_as}. Quote the verification level when citing. | |
| _front_door | No | In-band front-door hint (first workflow-entry tool of a session): call plan_query(intent) first for the ordered multi-step plan. | |
| _return_loop | No | Suggested next-session delta call (get_changes since=24h) so you pull only what changed. | |
| site_evaluation_handoff | No | Pre-built follow-up calls (analyze_site / get_water_risk args) when the payload carries coordinates — an array of {tool, parameters, why} entries. |