Skip to content
API ReferenceAPIANT.aiv3

Public URLs

View .md

The URL shapes APIANT gives you for webhooks, web services, hosted forms, chat widgets, approval links, the MCP server and the catalog feed, and what protects each one.

Most public APIANT URLs carry no password or API key: the long identifiers in the path are the credential. Anyone who has one of those URLs can use it, so share each one only with the system or person that needs it.

Hosts

HostServes
https://app.apiant.aiSign-in, the automation diagram, the assistant, hosted forms, chat widgets, approval links, the OAuth authorization server, the catalog feed
https://mcp.apiant.aiThe APIANT MCP server for Claude Code
https://hooks.apiant.aiInbound webhooks and web services

When your account's installation has a white-label domain, form trigger and chat widget URLs use that domain instead of app.apiant.ai. Forms sent during a run, approval links, webhook URLs and web service URLs stay on the APIANT hosts.

Identifiers in the URLs

Each URL below ends in a long random-looking key, shown here as {key}. Claude or the assistant gives you the finished URL when it builds or commits the automation. Use the URL exactly as issued: you cannot build one by hand, and a changed key does not work.

URL reference

URLShapeWho uses itWhat protects it
Webhook triggerhttps://hooks.apiant.ai/automation-{key}An external system that sends eventsThe key. No sign-in, no API key.
Web servicehttps://hooks.apiant.ai/webservice-{key}A caller that waits for the automation's HTTP responseThe key. Counts against your monthly web service quota.
Hosted form (form trigger)https://app.apiant.ai/form/{key}Anyone you send the form to; every submission starts a runThe key, plus sign-in when the form requires it
Form sent during a runhttps://app.apiant.ai/form/s/{key}The one person asked to fill it inA random key for this one request. Works once: the link stops working after submission.
Form session pagehttps://app.apiant.ai/form/run/{key}The person following a run that shows forms one after anotherA random session key. Stays valid for the whole run.
Chat widget pagehttps://app.apiant.ai/webchat/{key}Visitors to the page or to the site it is embedded onThe key opens the page. Each conversation is bound to a token the server issues when the page loads.
Chat widget embed scripthttps://app.apiant.ai/webchat/embed.js?key={key}Your website, in a <script> tagSame as the chat widget page
Human approval linkhttps://app.apiant.ai/moderation?queue={key}The approver named in the automation, who needs no APIANT accountA random key. It opens that automation's queue of pending items for the approver.
APIANT MCP serverhttps://mcp.apiant.ai/mcpClaude CodeOAuth 2.1 sign-in with your APIANT account and the MCP Tools permission
Automation diagramhttps://app.apiant.ai/automation?uuid={automation ID}YouSign-in. Signed-out visitors are redirected to /login.
Catalog feedhttps://app.apiant.ai/catalog/v1/appsAnyonePublic, read-only, rate-limited per IP

Webhook trigger URLs

A webhook URL starts a run on GET, POST and PUT. The request is accepted and queued, and the automation runs in the background; the sender does not wait for it. A HEAD request is answered without starting a run. Requests to the same URL with the /webhook/ prefix (https://hooks.apiant.ai/webhook/automation-...) reach the same automation.

See Webhook triggers.

Web service URLs

A web service URL runs the automation while the caller waits, and returns the response the automation sets. It sends CORS headers (Access-Control-Allow-Origin: *, no credentials) and answers OPTIONS preflight requests, so JavaScript on any website can call it. Errors the caller can receive:

StatusMeaning
404web service not found
429monthly usage limit reached
503web service is not active: turn the automation on

See Web service automations.

Form and chat URLs

A form trigger URL and a chat widget URL stay the same across submissions and conversations. A form sent to someone during a run uses a one-time link instead. An already-used or wrong one-time link shows the same page ("This form is not available. It may already have been submitted, or the link may be incorrect."), so the page never reveals whether a link ever existed. See Hosted forms and Chat widgets.

MCP server and OAuth discovery

https://mcp.apiant.ai/mcp answers an unauthenticated request with 401 and a WWW-Authenticate header that points at its metadata. Claude Code reads two discovery documents:

bash
$ curl -s https://mcp.apiant.ai/.well-known/oauth-protected-resource
{"authorization_servers":["https://app.apiant.ai"],"resource":"https://mcp.apiant.ai"}

$ curl -s https://app.apiant.ai/.well-known/oauth-authorization-server

Authorization server metadata (captured 2026-09-15, formatted):

json
{
  "issuer": "https://app.apiant.ai",
  "authorization_endpoint": "https://app.apiant.ai/oauth/login",
  "token_endpoint": "https://app.apiant.ai/oauth/token",
  "registration_endpoint": "https://app.apiant.ai/oauth/client",
  "revocation_endpoint": "https://app.apiant.ai/oauth/revoke",
  "scopes_supported": ["mcp:tools", "mcp:automation_builder"],
  "response_types_supported": ["code"],
  "grant_types_supported": ["authorization_code", "refresh_token"],
  "code_challenge_methods_supported": ["S256"],
  "token_endpoint_auth_methods_supported": ["client_secret_post"]
}

See Authentication and permissions.

Next steps

Related docs

Last updated September 17, 2026